summary refs log tree commit diff
path: root/modules/services/x11/xserver.nix
diff options
context:
space:
mode:
authorMarc Weber <marco-oweber@gmx.de>2012-10-07 17:24:42 +0200
committerMarc Weber <marco-oweber@gmx.de>2012-10-07 17:24:42 +0200
commit87bb6b1c6dbfbe128b8181e5c55ffa7c36de4771 (patch)
tree491c503ef09190670ae16319a8c3cd2ffc083365 /modules/services/x11/xserver.nix
parent2769f594f3c073715ecf8d6fc5bfb68a3e1f2888 (diff)
downloadnixlib-87bb6b1c6dbfbe128b8181e5c55ffa7c36de4771.tar
nixlib-87bb6b1c6dbfbe128b8181e5c55ffa7c36de4771.tar.gz
nixlib-87bb6b1c6dbfbe128b8181e5c55ffa7c36de4771.tar.bz2
nixlib-87bb6b1c6dbfbe128b8181e5c55ffa7c36de4771.tar.lz
nixlib-87bb6b1c6dbfbe128b8181e5c55ffa7c36de4771.tar.xz
nixlib-87bb6b1c6dbfbe128b8181e5c55ffa7c36de4771.tar.zst
nixlib-87bb6b1c6dbfbe128b8181e5c55ffa7c36de4771.zip
making ati proprietary drivers work again
However SLIM is still broken and you have to create a
/usr/lib/dri/fglrx_dri.so symlink pointing to
/run/opengl-driver/lib/fglrx_dri.so

At least fgl_glxgears shows 10 times more frames per second now
Diffstat (limited to 'modules/services/x11/xserver.nix')
-rw-r--r--modules/services/x11/xserver.nix15
1 files changed, 13 insertions, 2 deletions
diff --git a/modules/services/x11/xserver.nix b/modules/services/x11/xserver.nix
index 97424308c273..1aa432afdfc0 100644
--- a/modules/services/x11/xserver.nix
+++ b/modules/services/x11/xserver.nix
@@ -343,7 +343,8 @@ in
       optional (elem "virtualbox" driverNames) kernelPackages.virtualboxGuestAdditions ++
       optional (elem "ati_unfree" driverNames) kernelPackages.ati_drivers_x11;
 
-    environment.etc = optionals cfg.exportConfiguration
+    environment.etc =
+    (optionals cfg.exportConfiguration
       [ { source = "${configFile}";
           target = "X11/xorg.conf";
         }
@@ -351,7 +352,15 @@ in
         { source = "${pkgs.xkeyboard_config}/etc/X11/xkb";
           target = "X11/xkb";
         }
-      ];
+      ])
+    ++ (optionals (elem "ati_unfree" driverNames) [
+
+        # according toiive on #ati you don't need the pcs, it is like registry... keeps old stuff to make your
+        # life harder ;) Still it seems to be required
+        { source = "${kernelPackages.ati_drivers_x11}/etc/ati";
+          target = "ati";
+        }
+    ]);
 
     environment.x11Packages =
       [ xorg.xorgserver
@@ -420,6 +429,8 @@ in
                 "ln -sf ${kernelPackages.nvidia_x11_legacy96} /run/opengl-driver"
               else if elem "nvidiaLegacy173" driverNames then
                 "ln -sf ${kernelPackages.nvidia_x11_legacy173} /run/opengl-driver"
+              else if elem "ati_unfree" driverNames then
+                "ln -sf ${kernelPackages.ati_drivers_x11} /run/opengl-driver"
               else if cfg.driSupport then
                 "ln -sf ${pkgs.mesa} /run/opengl-driver"
               else ""