diff --git a/system/options.nix b/system/options.nix index 622388d3532e..f2718151f043 100644 --- a/system/options.nix +++ b/system/options.nix @@ -471,6 +471,16 @@ } + { + name = ["services" "xserver" "driSupport"]; + default = false; + description = " + Whether to enable accelerated OpenGL rendering through the + Direct Rendering Interface (DRI). + "; + } + + { name = ["services" "httpd" "enable"]; default = false; diff --git a/system/upstart.nix b/system/upstart.nix index dac913d4e579..eea9b26b3b9f 100644 --- a/system/upstart.nix +++ b/system/upstart.nix @@ -119,7 +119,7 @@ import ../upstart-jobs/gather.nix { ++ optional ["services" "xserver" "enable"] (import ../upstart-jobs/xserver.nix { inherit config; - inherit (pkgs) stdenv writeText lib xterm slim xorg; + inherit (pkgs) stdenv writeText lib xterm slim xorg mesa; fontDirectories = import ./fonts.nix {inherit pkgs;}; }) diff --git a/upstart-jobs/xserver.nix b/upstart-jobs/xserver.nix index f5482013714d..6d13dd69debe 100644 --- a/upstart-jobs/xserver.nix +++ b/upstart-jobs/xserver.nix @@ -1,4 +1,4 @@ -{ stdenv, writeText, lib, xorg, xterm, slim +{ stdenv, writeText, lib, xorg, mesa, xterm, slim , config @@ -102,6 +102,10 @@ end script env SLIM_CFGFILE=${slimConfig} env FONTCONFIG_FILE=/etc/fonts/fonts.conf # !!! cleanup +${if getCfg "driSupport" +then "env XORG_DRI_DRIVER_PATH=${mesa}/lib/modules/dri" +else ""} + exec ${slim}/bin/slim ";