From e3d705e60162def9493eaff758b753143e09cd57 Mon Sep 17 00:00:00 2001 From: TredwellGit Date: Tue, 5 Jan 2021 06:50:20 +0000 Subject: [PATCH] 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. --- nixos/doc/manual/configuration/x-windows.xml | 16 +++++----------- nixos/doc/manual/release-notes/rl-2105.xml | 5 +++++ nixos/modules/services/x11/xserver.nix | 7 +++---- 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 dd879702d7d..a499f0080d7 100644 --- a/nixos/doc/manual/configuration/x-windows.xml +++ b/nixos/doc/manual/configuration/x-windows.xml @@ -150,7 +150,6 @@ = [ "nvidiaLegacy390" ]; = [ "nvidiaLegacy340" ]; = [ "nvidiaLegacy304" ]; - = [ "nvidiaLegacy173" ]; You may need to reboot after enabling this driver to prevent a clash with other kernel modules. @@ -159,21 +158,16 @@ 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 - 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: - = [ "ati_unfree" ]; + = [ "amdgpu-pro" ]; You will need to reboot after enabling this driver to prevent a clash with other kernel modules. - - - For recent AMD GPUs you most likely want to keep either the defaults - or "amdgpu" (both free). - - Touchpads diff --git a/nixos/doc/manual/release-notes/rl-2105.xml b/nixos/doc/manual/release-notes/rl-2105.xml index 566cd5d7240..a937a647d6e 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: imagemagick6Big if you need the older version. + + + no longer uses the deprecated cirrus and vesa device dependent X drivers by default. It also enables both amdgpu and nouveau drivers by default now. + + diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index 8858559d8f2..35bd4dabb67 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