From 674d3965768605ad2731b2cb6af8b9721b392fbc Mon Sep 17 00:00:00 2001 From: Marc Weber Date: Tue, 18 May 2010 19:36:11 +0000 Subject: [PATCH] adding initial support for proprietary ati drivers You have to add some impure paths, see: http://thread.gmane.org/gmane.linux.distributions.nixos/4145 svn path=/nixos/trunk/; revision=21847 --- modules/services/x11/xserver.nix | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/modules/services/x11/xserver.nix b/modules/services/x11/xserver.nix index 658a5d4e144..34eefd3023d 100644 --- a/modules/services/x11/xserver.nix +++ b/modules/services/x11/xserver.nix @@ -14,6 +14,7 @@ let # Map video driver names to driver packages. knownVideoDrivers = { ati = { modules = [ xorg.xf86videoati ]; }; + ati_unfree = { modules = [ kernelPackages.ati_drivers_x11 ]; driverName = "fglrx"; }; cirrus = { modules = [ xorg.xf86videocirrus ]; }; i810 = { modules = [ xorg.xf86videoi810 ]; }; intel = { modules = [ xorg.xf86videointel ]; }; @@ -362,7 +363,8 @@ in boot.extraModulePackages = optional (elem "nvidia" driverNames) kernelPackages.nvidia_x11 ++ optional (elem "nvidiaLegacy" driverNames) kernelPackages.nvidia_x11_legacy ++ - optional (elem "virtualbox" driverNames) kernelPackages.virtualboxGuestAdditions; + optional (elem "virtualbox" driverNames) kernelPackages.virtualboxGuestAdditions ++ + optional (elem "ati_unfree" driverNames) kernelPackages.ati_drivers_x11; environment.etc = optionals cfg.exportConfiguration [ { source = "${configFile}"; @@ -388,7 +390,8 @@ in ] ++ optional (elem "nvidia" driverNames) kernelPackages.nvidia_x11 ++ optional (elem "nvidiaLegacy" driverNames) kernelPackages.nvidia_x11_legacy - ++ optional (elem "virtualbox" driverNames) xorg.xrefresh; + ++ optional (elem "virtualbox" driverNames) xorg.xrefresh + ++ optional (elem "ati_unfree" driverNames) kernelPackages.ati_drivers_x11; environment.systemPackages = config.environment.x11Packages; @@ -408,6 +411,9 @@ in LD_LIBRARY_PATH = "${xorg.libX11}/lib:${xorg.libXext}/lib:${kernelPackages.nvidia_x11}/lib"; } // optionalAttrs (elem "nvidiaLegacy" driverNames) { LD_LIBRARY_PATH = "${xorg.libX11}/lib:${xorg.libXext}/lib:${kernelPackages.nvidia_x11_legacy}/lib"; + } // optionalAttrs (elem "ati_unfree" driverNames) { + LD_LIBRARY_PATH = "${xorg.libX11}/lib:${xorg.libXext}/lib:${kernelPackages.ati_drivers_x11}/lib:${kernelPackages.ati_drivers_x11}/X11R6/lib64/modules/linux"; + XORG_DRI_DRIVER_PATH = "${kernelPackages.ati_drivers_x11}/lib/dri"; # is ignored because ati drivers ship their own unpatched libglx.so ! } // cfg.displayManager.job.environment; preStart =