diff options
-rw-r--r-- | nixos/doc/manual/configuration/x-windows.xml | 30 | ||||
-rw-r--r-- | 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 e7d66f391f55c..3bcb288b5ebf8 100644 --- a/nixos/doc/manual/configuration/x-windows.xml +++ b/nixos/doc/manual/configuration/x-windows.xml @@ -35,8 +35,8 @@ </para> <para> NixOS’s default <emphasis>display manager</emphasis> (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: <programlisting> <xref linkend="opt-services.xserver.displayManager.sddm.enable"/> = true; <xref linkend="opt-services.xserver.displayManager.slim.enable"/> = true; @@ -60,8 +60,15 @@ # systemctl start display-manager.service </screen> </para> + <para> + On 64-bit systems, if you want OpenGL for 32-bit programs such as in Wine, + you should also set the following: +<programlisting> +<xref linkend="opt-hardware.opengl.driSupport32Bit"/> = true; +</programlisting> + </para> <simplesect xml:id="sec-x11-graphics-cards-nvidia"> - <title>NVIDIA Graphics Cards</title> + <title>Proprietary NVIDIA drivers</title> <para> 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 @@ </programlisting> Or if you have an older card, you may have to use one of the legacy drivers: <programlisting> +<xref linkend="opt-services.xserver.videoDrivers"/> = [ "nvidiaLegacy390" ]; <xref linkend="opt-services.xserver.videoDrivers"/> = [ "nvidiaLegacy340" ]; <xref linkend="opt-services.xserver.videoDrivers"/> = [ "nvidiaLegacy304" ]; <xref linkend="opt-services.xserver.videoDrivers"/> = [ "nvidiaLegacy173" ]; @@ -78,16 +86,9 @@ You may need to reboot after enabling this driver to prevent a clash with other kernel modules. </para> - <para> - On 64-bit systems, if you want full acceleration for 32-bit programs such as - Wine, you should also set the following: -<programlisting> -<xref linkend="opt-hardware.opengl.driSupport32Bit"/> = true; -</programlisting> - </para> </simplesect> <simplesect xml:id="sec-x11--graphics-cards-amd"> - <title>AMD Graphics Cards</title> + <title>Proprietary AMD drivers</title> <para> 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. </para> <para> - On 64-bit systems, if you want full acceleration for 32-bit programs such as - Wine, you should also set the following: -<programlisting> -<xref linkend="opt-hardware.opengl.driSupport32Bit"/> = true; -</programlisting> + Note: for recent AMD GPUs you most likely want to keep either the defaults + or <literal>"amdgpu"</literal> (both free). </para> </simplesect> <simplesect xml:id="sec-x11-touchpads"> diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index c4d5b6a9cdecd..e767b0eda3124 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 ''; }; |