Displaylink: Difference between revisions

From NixOS Wiki
imported>Lillecarl
xorg configuration added, required for me to get displaylink working on 21.05
Montchr (talk | contribs)
Note that driver version 6.0.0 support is pending
 
(11 intermediate revisions by 8 users not shown)
Line 1: Line 1:
===DisplayLink monitors===
===DisplayLink monitors===
In order to use Displaylink monitors over USB, such as the ASUS MB16AC, the displaylink driver needs to be installed:
In order to use DisplayLink monitors over USB, such as the ASUS MB16AC, the DisplayLink driver needs to be installed:<syntaxhighlight lang="nixos">
services.xserver.videoDrivers = [ "displaylink" "modesetting" ];
</syntaxhighlight>The module <code>nixos/modules/hardware/video/displaylink.nix</code> should also work for wlroots compositors.


{{bc|<nowiki>$ services.xserver.videoDrivers = [ "displaylink" "modesetting" ];</nowiki>}}
Since these drivers depend on binary unfree blobs, you will need to first add it to your Nix store. Go to https://www.displaylink.com/downloads/ubuntu to get the appropriate driver version and note the download URL you get after accepting the EULA.


Since these drivers depend on binary unfree blobs, you will need to first add it to your nix-store. Go to https://www.displaylink.com/downloads/ubuntu to get the appropriate driver version and note the download URL you get after accepting the EULA. Then (example):
As of 2024-05-01, the current latest version for the driver can be found at https://www.synaptics.com/products/displaylink-graphics/downloads/ubuntu-6.0?filetype=exe. As of 2024-06-27, version 6.0.0 support in NixOS is pending merge of [https://github.com/NixOS/nixpkgs/pull/317292 nixpkgs#317292]


{{bc|<nowiki>
After you have downloaded the driver, run something like the following, adjusting the version number in <code>displaylink-600.zip</code> to match the version supported in NixOS at the moment:<syntaxhighlight lang="console">
$ nix-prefetch-url --name displaylink.zip http://assets.displaylink.com/live/downloads/software/f1369_DisplayLink%20USB%20Graphics%20Software%20for%20Ubuntu%205.2.zip\?AWSAccessKeyId\=AKIAJHGQWPVXWHEDJUEA\&Expires\=1579838008\&Signature\=4UidRIwBYLZPHSf2EkcyLFKb%2B8o%3D
$ nix-prefetch-url --name displaylink-600.zip https://www.synaptics.com/sites/default/files/exe_files/2024-05/DisplayLink%20USB%20Graphics%20Software%20for%20Ubuntu6.0-EXE.zip
</nowiki>}}
</syntaxhighlight>
 
Before the monitor can be used by {{ic|xrandr}}, you will need to run the following command, which can be added to e.g. your {{ic|~/.xprofile}} (this is not necessary since NixOS 20.03):
 
{{bc|<nowiki>$ xrandr --setprovideroutputsource 1 0</nowiki>}}


====Connecting a second external monitor====
====Connecting a second external monitor====
Line 21: Line 19:
'';</syntaxhighlight>
'';</syntaxhighlight>


====xorg configuration====
After some experimentation at work getting our Dell D6000 docks to work i had to create an xorg configuration file as follows
<syntaxhighlight lang="nix">environment.etc."X11/xorg.conf.d/20-evdi.conf" = {
  enable = true;
  text = ''
    Section "OutputClass"
      Identifier "DisplayLink"
      MatchDriver "evdi"
      Driver "modesetting"
      Option "AccelMethod" "none"
    EndSection
  '';
};</syntaxhighlight>
Taken from arch wiki (https://wiki.archlinux.org/title/DisplayLink#Configuring_X_Server)
Note that modesetting is the modern Intel iGPU driver, read further into the Arch wiki if you're experiencing issues.
evdi is automatically pulled in as a dependency from the displaylink package, you might need to add it to boot.kernelModules.
====Status of the package====
As of right now (2020-01-24), the package in the {{ic|nixos}} stable channel is out of date, so you may need to override it from {{ic|nixpkgs}}.
Since '''NixOS 20.03''' this package is working out of the box again.
[[Category:Video]]
[[Category:Video]]

Latest revision as of 00:28, 28 June 2024

DisplayLink monitors

In order to use DisplayLink monitors over USB, such as the ASUS MB16AC, the DisplayLink driver needs to be installed:

services.xserver.videoDrivers = [ "displaylink" "modesetting" ];

The module nixos/modules/hardware/video/displaylink.nix should also work for wlroots compositors.

Since these drivers depend on binary unfree blobs, you will need to first add it to your Nix store. Go to https://www.displaylink.com/downloads/ubuntu to get the appropriate driver version and note the download URL you get after accepting the EULA.

As of 2024-05-01, the current latest version for the driver can be found at https://www.synaptics.com/products/displaylink-graphics/downloads/ubuntu-6.0?filetype=exe. As of 2024-06-27, version 6.0.0 support in NixOS is pending merge of nixpkgs#317292

After you have downloaded the driver, run something like the following, adjusting the version number in displaylink-600.zip to match the version supported in NixOS at the moment:

$ nix-prefetch-url --name displaylink-600.zip https://www.synaptics.com/sites/default/files/exe_files/2024-05/DisplayLink%20USB%20Graphics%20Software%20for%20Ubuntu6.0-EXE.zip

Connecting a second external monitor

In order to add a second external monitor you can add the following to your configuration:

services.xserver.displayManager.sessionCommands = ''
    ${lib.getBin pkgs.xorg.xrandr}/bin/xrandr --setprovideroutputsource 2 0
'';