From 11d204a9c4fa5b562b2588af9326d1ee2319481c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Fri, 22 Mar 2019 13:59:48 +0100 Subject: [PATCH] nixos docs: improve GPU driver documentation I'm not 100% sure about the incompatibility lines, but I believe it's better to discourage these anyway. If you find better information, feel free to amend... The 32-bit thing is completely GPU-agnostic, so I can't see why we had it separately for proprietary drivers and missing for the rest. --- nixos/doc/manual/configuration/x-windows.xml | 30 +++++++++----------- nixos/modules/services/x11/xserver.nix | 7 ++++- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml index e7d66f391f5..3bcb288b5eb 100644 --- a/nixos/doc/manual/configuration/x-windows.xml +++ b/nixos/doc/manual/configuration/x-windows.xml @@ -35,8 +35,8 @@ NixOS’s default display manager (the program that - provides a graphical login prompt and manages the X server) is LightDM. You can - select an alternative one by picking one of the following lines: + provides a graphical login prompt and manages the X server) is LightDM. You + can select an alternative one by picking one of the following lines: = true; = true; @@ -59,9 +59,16 @@ # systemctl start display-manager.service + + + On 64-bit systems, if you want OpenGL for 32-bit programs such as in Wine, + you should also set the following: + + = true; + - NVIDIA Graphics Cards + Proprietary NVIDIA drivers NVIDIA provides a proprietary driver for its graphics cards that has better 3D performance than the X.org drivers. It is not enabled by default because @@ -71,6 +78,7 @@ Or if you have an older card, you may have to use one of the legacy drivers: + = [ "nvidiaLegacy390" ]; = [ "nvidiaLegacy340" ]; = [ "nvidiaLegacy304" ]; = [ "nvidiaLegacy173" ]; @@ -78,16 +86,9 @@ You may need to reboot after enabling this driver to prevent a clash with other kernel modules. - - On 64-bit systems, if you want full acceleration for 32-bit programs such as - Wine, you should also set the following: - - = true; - - - AMD Graphics Cards + Proprietary AMD drivers AMD provides a proprietary driver for its graphics cards that has better 3D performance than the X.org drivers. It is not enabled by default because @@ -99,11 +100,8 @@ other kernel modules. - On 64-bit systems, if you want full acceleration for 32-bit programs such as - Wine, you should also set the following: - - = true; - + Note: for recent AMD GPUs you most likely want to keep either the defaults + or "amdgpu" (both free). diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index c4d5b6a9cde..e767b0eda31 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -246,7 +246,7 @@ in default = [ "ati" "cirrus" "vesa" "vmware" "modesetting" ]; example = [ "ati_unfree" "amdgpu" "amdgpu-pro" - "nv" "nvidia" "nvidiaLegacy340" "nvidiaLegacy304" + "nv" "nvidia" "nvidiaLegacy390" "nvidiaLegacy340" "nvidiaLegacy304" ]; # TODO(@oxij): think how to easily add the rest, like those nvidia things relatedPackages = concatLists @@ -259,6 +259,11 @@ in The names of the video drivers the configuration supports. They will be tried in order until one that supports your card is found. + Don't combine those with "incompatible" OpenGL implementations, + e.g. free ones (mesa-based) with proprietary ones. + + For unfree "nvidia*", the supported GPU lists are on + https://www.nvidia.com/object/unix.html ''; };