All Projects → displaylink-rpm → Displaylink Rpm

displaylink-rpm / Displaylink Rpm

Licence: mit
RPM sources for the DisplayLink USB display adapters

Projects that are alternatives of or similar to Displaylink Rpm

Nodejs Rpm
node.js rpm spec
Stars: ✭ 199 (-25.19%)
Mutual labels:  makefile, rpm
Docker Ce Packaging
Packaging scripts for Docker CE
Stars: ✭ 111 (-58.27%)
Mutual labels:  makefile, rpm
WD-Decrypte
Western Digital Decryption tools
Stars: ✭ 53 (-80.08%)
Mutual labels:  driver
Sshb0t
A bot for keeping your ssh authorized_keys up to date with user's GitHub keys, **only** use if you enable 2FA & keep your keys updates.
Stars: ✭ 260 (-2.26%)
Mutual labels:  makefile
KDBG
The windows kernel debugger consists of two parts, KMOD which is the kernel driver handling ring3 request and KCLI; the command line interface for the driver. It originated due to insufficient useability with CheatEngine's DBVM driver while debugging games running under certain AntiCheat software.
Stars: ✭ 28 (-89.47%)
Mutual labels:  driver
Si446x
Si4463 Radio Library for AVR and Arduino
Stars: ✭ 52 (-80.45%)
Mutual labels:  driver
React Native Snippets
✏️ A collection of React Native snippets for Sublime Text and Atom
Stars: ✭ 257 (-3.38%)
Mutual labels:  makefile
osx-ch341-serial
CH340/CH341 based USB to Serial Port Adapter driver for Mac OSX
Stars: ✭ 17 (-93.61%)
Mutual labels:  driver
Lmnplayer
完整版的ijkplayer,现在自己改一下
Stars: ✭ 263 (-1.13%)
Mutual labels:  makefile
arangodb-java-driver-async
ArangoDB Asynchronous Java driver
Stars: ✭ 45 (-83.08%)
Mutual labels:  driver
Docker To Linux
Make bootable Linux disk image abusing Docker
Stars: ✭ 257 (-3.38%)
Mutual labels:  makefile
AvionicsSystems
MOARdV's Avionics Systems for Kerbal Space Program - a new generation of IVA enhancement.
Stars: ✭ 40 (-84.96%)
Mutual labels:  rpm
kuka
ROS-Industrial KUKA support (http://wiki.ros.org/kuka)
Stars: ✭ 23 (-91.35%)
Mutual labels:  driver
Poudriere
Port/Package build and test system
Stars: ✭ 257 (-3.38%)
Mutual labels:  makefile
rpm-builder
Maven RPM builder plugin
Stars: ✭ 46 (-82.71%)
Mutual labels:  rpm
Arm Eabi Toolchain
Makefile & supporting patches/scripts to build a bare metal ARM EABI toolchain.
Stars: ✭ 259 (-2.63%)
Mutual labels:  makefile
tarantool rs
Sync/Async tarantool database connector. WORK IN PROGRESS. DON'T SHARE THIS REPO
Stars: ✭ 14 (-94.74%)
Mutual labels:  driver
ros-tritech-micron
🔊 Tritech Micron SONAR ROS driver
Stars: ✭ 19 (-92.86%)
Mutual labels:  driver
Ricing
a book about ricing unix-like systems
Stars: ✭ 257 (-3.38%)
Mutual labels:  makefile
Ur modern driver
(deprecated) ROS 1 driver for CB1 and CB2 controllers with UR5 or UR10 robots from Universal Robots
Stars: ✭ 265 (-0.38%)
Mutual labels:  driver

DisplayLink RPM

Build Status

This is the recipe for building the DisplayLink driver in a RPM package for Fedora and CentOS. This driver supports the following device families:

  • DL-6xxx
  • DL-5xxx
  • DL-41xx
  • DL-3xxx

The package includes the Open Source evdi library.

Packages get automatically built by Travis CI and get uploaded to GitHub releases.

Usage

In order to compile the driver, just use make. The Makefile should download the file for you.

Secure boot on Fedora

To use displaylink-rpm and the evdi kernel module with secure boot enabled on Fedora you need to sign the module with an enrolled Machine Owner Key (MOK).

First create a self signed MOK:

$ openssl req -new -x509 -newkey rsa:2048 -keyout MOK.priv -outform DER -out \
MOK.der -nodes -days 36500 -subj "/CN=Displaylink/"

Then register the MOK with secure boot:

$ sudo mokutil --import MOK.der

Then reboot your Fedora host and follow the instructions to enroll the key.

Now you can sign the evdi module. This must be done for every kernel upgrade:

$ sudo modinfo -n evdi
/lib/modules/5.10.19-200.fc33.x86_64/extra/evdi.ko.xz
$ sudo unxz $(modinfo -n evdi)
$ sudo /usr/src/kernels/$(uname -r)/scripts/sign-file sha256 ./MOK.priv \
./MOK.der /lib/modules/$(uname -r)/extra/evdi.ko
$ xz -f /lib/modules/$(uname -r)/extra/evdi.ko

Now any display, hdmi and/or dvi ports on your docking station should work, and the displaylink.service should run.

Hardware-specific behavior

Dell D6000

When used with the Dell D6000 docking station, DisplayLink 5.1.26 regularly loses communication with attached monitors, causing them to go blank and enter power-saving mode. At the time the monitors blank, the kernel logs two error messages:

kernel: usb <xxx>: Disable of device-initiated U1 failed.
kernel: usb <xxx>: Disable of device-initiated U2 failed.

To work around this issue, disable power management for the audio device by commenting out a line in /etc/pulse/default.pa:

### Automatically suspend sinks/sources that become idle for too long
# load-module module-suspend-on-idle

Development Builds

Generally we want to track the current stable release of the evdi library. However, Fedora kernels are often much newer than those officially supported by that release and it is not uncommon for a new kernel to completely break the build. This can leave you in a situation where you cannot upgrade your kernel without sacrificing your displaylink devices. This is not great if the new kernel has important security or performance fixes.

Fortunately the evdi developers are usually pretty quick to make the appropriate fixes on their devel branch. You can build a version of the rpm that uses the current edvi devel branch with:

make rawhide

Of course this devel branch will also include some experimental and less tested changes that may break things in other unexpected ways. So you should prefer the mainline build if it works, but if it breaks, you have the option of making a rawhide build.

Contributing

The easiest way to contribute with the package is to fork it and send a pull request in GitHub.

There are two main kind of contributions: either a new upstream version is released or a modification in the packaging is proposed.

There is a variable called RELEASE for packaging purposes. That variable should be set to 1 when contributing a new upstream version release, and incremented in one when adding any other functionality to the specfile for the same upstream version.

New Upstream release

From time to time, DisplayLink will update their driver. We try to do so, but for that we usually rely on pull requests.

We manage three different upstream numbers for versioning:

  1. evdi kernel driver version
  2. DisplayLinkManager daemon and libraries version
  3. Download ID number from DisplayLink (for automatic zip retrieval)

These variables need to be changed in the following places:

  • Makefile
    • DAEMON_VERSION is the DisplayLinkManager version
    • VERSION is currently the evdi driver version
    • DOWNLOAD_ID is the ?download_id= query parameter in DisplayLink website to download the zip
  • .travis.yml
    • VERSION is the same as in the Makefile
    • DAEMON_VERSION is the same version as in Makefile

Also, please update the changelog at the bottom of the displaylink.spec file.

Packaging change

When changing a packaging rule, please increment the RELEASE variable by one in both displaylink.spec and .travis.yml (so that Travis can release the new artifact automatically).

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].