summaryrefslogtreecommitdiffstats
path: root/nixos
diff options
context:
space:
mode:
authorTredwellGit <tredwell@tutanota.com>2021-01-05 06:50:20 +0000
committerDominik Xaver Hörl <hoe.dom@gmx.de>2021-03-06 08:47:18 +0100
commite3d705e60162def9493eaff758b753143e09cd57 (patch)
tree5133a8d9e9f0073ef201e9c643db8ff9dffe3a90 /nixos
parent6aa26c8623b5f91c5a7e9fd9c82ed08c3066b905 (diff)
nixos/xserver: use modern video drivers
cirrus is obsolete: https://www.vintage3d.org/cirrus.php nv is obsolete: https://www.phoronix.com/scan.php?page=article&item=nvidia_kills_nv&num=1 vesa is obsolete: https://www.phoronix.com/scan.php?page=news_item&px=Nzc3Nw ati and ati_unfree are superseded by amdgpu and amdgpu-pro: https://wiki.gentoo.org/wiki/ATI_FAQ#Is_my_AMD.2FATI_board_supported.3F nouveau and fbdev added for better fallback support.
Diffstat (limited to 'nixos')
-rw-r--r--nixos/doc/manual/configuration/x-windows.xml16
-rw-r--r--nixos/doc/manual/release-notes/rl-2105.xml5
-rw-r--r--nixos/modules/services/x11/xserver.nix7
3 files changed, 13 insertions, 15 deletions
diff --git a/nixos/doc/manual/configuration/x-windows.xml b/nixos/doc/manual/configuration/x-windows.xml
index dd879702d7dc..a499f0080d70 100644
--- a/nixos/doc/manual/configuration/x-windows.xml
+++ b/nixos/doc/manual/configuration/x-windows.xml
@@ -150,7 +150,6 @@
<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" ];
</programlisting>
You may need to reboot after enabling this driver to prevent a clash with
other kernel modules.
@@ -159,21 +158,16 @@
<simplesect xml:id="sec-x11--graphics-cards-amd">
<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
- it’s not free software. You can enable it as follows:
+ AMD provides a proprietary driver for its graphics cards that is not
+ enabled by default because it’s not Free Software, is often broken
+ in nixpkgs and as of this writing doesn't offer more features or
+ performance. If you still want to use it anyway, you need to explicitly set:
<programlisting>
-<xref linkend="opt-services.xserver.videoDrivers"/> = [ "ati_unfree" ];
+<xref linkend="opt-services.xserver.videoDrivers"/> = [ "amdgpu-pro" ];
</programlisting>
You will need to reboot after enabling this driver to prevent a clash with
other kernel modules.
</para>
- <note>
- <para>
- For recent AMD GPUs you most likely want to keep either the defaults
- or <literal>"amdgpu"</literal> (both free).
- </para>
- </note>
</simplesect>
<simplesect xml:id="sec-x11-touchpads">
<title>Touchpads</title>
diff --git a/nixos/doc/manual/release-notes/rl-2105.xml b/nixos/doc/manual/release-notes/rl-2105.xml
index 566cd5d7240e..a937a647d6e1 100644
--- a/nixos/doc/manual/release-notes/rl-2105.xml
+++ b/nixos/doc/manual/release-notes/rl-2105.xml
@@ -539,6 +539,11 @@ self: super:
<package>imagemagick6Big</package> if you need the older version.
</para>
</listitem>
+ <listitem>
+ <para>
+ <xref linkend="opt-services.xserver.videoDrivers" /> no longer uses the deprecated <literal>cirrus</literal> and <literal>vesa</literal> device dependent X drivers by default. It also enables both <literal>amdgpu</literal> and <literal>nouveau</literal> drivers by default now.
+ </para>
+ </listitem>
</itemizedlist>
</section>
diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix
index 8858559d8f27..35bd4dabb673 100644
--- a/nixos/modules/services/x11/xserver.nix
+++ b/nixos/modules/services/x11/xserver.nix
@@ -251,11 +251,10 @@ in
videoDrivers = mkOption {
type = types.listOf types.str;
- # !!! We'd like "nv" here, but it segfaults the X server.
- default = [ "radeon" "cirrus" "vesa" "modesetting" ];
+ default = [ "amdgpu" "radeon" "nouveau" "modesetting" "fbdev" ];
example = [
- "ati_unfree" "amdgpu" "amdgpu-pro"
- "nv" "nvidia" "nvidiaLegacy390" "nvidiaLegacy340" "nvidiaLegacy304"
+ "nvidia" "nvidiaLegacy390" "nvidiaLegacy340" "nvidiaLegacy304"
+ "amdgpu-pro"
];
# TODO(@oxij): think how to easily add the rest, like those nvidia things
relatedPackages = concatLists