Displaylink

From NixOS Wiki

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
'';