From 67fa5622bf86e0178b31778478194694501281c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Sat, 19 Sep 2009 22:09:29 +0000 Subject: [PATCH] Adding support for the nvidia legacy drivers (videoDriver = "nvidiaLegacy") svn path=/nixos/trunk/; revision=17285 --- modules/services/x11/xserver.nix | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/modules/services/x11/xserver.nix b/modules/services/x11/xserver.nix index cb71a484043..eff5b693722 100644 --- a/modules/services/x11/xserver.nix +++ b/modules/services/x11/xserver.nix @@ -14,6 +14,7 @@ let # Map the video driver setting to a driver. knownVideoDrivers = { nvidia = { modules = [ kernelPackages.nvidia_x11 ]; }; + nvidiaLegacy = { modules = [ kernelPackages.nvidia_x11_legacy ]; }; vesa = { modules = [ xorg.xf86videovesa ]; }; vga = { modules = [ xorg.xf86videovga ]; }; sis = { modules = [ xorg.xf86videosis ]; }; @@ -318,7 +319,8 @@ in }; boot.extraModulePackages = - optional (cfg.videoDriver == "nvidia") kernelPackages.nvidia_x11; + optional (cfg.videoDriver == "nvidia") kernelPackages.nvidia_x11 ++ + optional (cfg.videoDriver == "nvidiaLegacy") kernelPackages.nvidia_x11_legacy; environment.etc = optionals cfg.exportConfiguration [ { source = "${configFile}"; @@ -339,7 +341,8 @@ in xorg.xsetroot xorg.xprop ] - ++ optional (videoDriver == "nvidia") kernelPackages.nvidia_x11; + ++ optional (videoDriver == "nvidia") kernelPackages.nvidia_x11 + ++ optional (videoDriver == "nvidiaLegacy") kernelPackages.nvidia_x11_legacy; environment.systemPackages = config.environment.x11Packages; @@ -357,6 +360,8 @@ in XORG_DRI_DRIVER_PATH = "${pkgs.mesa}/lib/dri"; } // optionalAttrs (videoDriver == "nvidia") { LD_LIBRARY_PATH = "${xorg.libX11}/lib:${xorg.libXext}/lib:${kernelPackages.nvidia_x11}/lib"; + } // optionalAttrs (videoDriver == "nvidiaLegacy") { + LD_LIBRARY_PATH = "${xorg.libX11}/lib:${xorg.libXext}/lib:${kernelPackages.nvidia_x11_legacy}/lib"; } // cfg.displayManager.job.environment; preStart = @@ -374,6 +379,10 @@ in then '' ln -sf ${kernelPackages.nvidia_x11} /var/run/opengl-driver '' + else if videoDriver == "nvidia" + then '' + ln -sf ${kernelPackages.nvidia_x11_legacy} /var/run/opengl-driver + '' else if cfg.driSupport then "ln -sf ${pkgs.mesa} /var/run/opengl-driver" else "" @@ -454,7 +463,7 @@ in EndSection Section "Extensions" - ${optionalString (cfg.videoDriver == "nvidia" || cfg.videoDriver == "i810" || cfg.videoDriver == "ati" || cfg.videoDriver == "radeonhd") '' + ${optionalString (cfg.videoDriver == "nvidia" || cfg.videoDriver == "nvidiaLegacy" || cfg.videoDriver == "i810" || cfg.videoDriver == "ati" || cfg.videoDriver == "radeonhd") '' Option "Composite" "Enable" ''} EndSection @@ -472,7 +481,7 @@ in services.xserver.deviceSection = '' Identifier "Device[0]" - Driver "${cfg.videoDriver}" + Driver "${if cfg.videoDriver == "nvidiaLegacy" then "nvidia" else cfg.videoDriver}" # !!! Is the "Clone" option still useful? Option "Clone" "${if cfg.isClone then "on" else "off"}"