From 06e6d7def2b50e55d14a35277612749f88ab3559 Mon Sep 17 00:00:00 2001 From: Sebastián Bernardo Galkin Date: Wed, 17 Dec 2014 22:34:20 -0800 Subject: xorg-server: enable DRI3 (close #5381) TEST needed. I tested on my NixOS Thinkpad with Optimus nvidia and intel cards. Testing in other architectures is needed. This patch also improves the regular expressions that scan the build configuration files to enable the building of a binary utility in xf86-video-intel: intel-virtual-output. This utility is useful for some Optimus laptops DRI3 was added to xorg-server propagatedBuildInputs so now it's inherited by several projects that can use it. --- pkgs/servers/x11/xorg/default.nix | 8 ++++---- pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl | 3 +++ pkgs/servers/x11/xorg/overrides.nix | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) (limited to 'pkgs/servers') diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index b0d84da35474..4fe6354fd33d 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -1561,8 +1561,8 @@ let url = mirror://xorg/individual/driver/xf86-video-intel-2.99.916.tar.bz2; sha256 = "00gd3v3xgrmj8aliwjxkml13gfqvcbjazb6l5m1wkry39agq36j0"; }; - buildInputs = [pkgconfig dri2proto dri3proto fontsproto glamoregl libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXvMC ]; - }) // {inherit dri2proto dri3proto fontsproto glamoregl libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXvMC ;}; + buildInputs = [pkgconfig dri2proto dri3proto fontsproto glamoregl libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXtst libXvMC ]; + }) // {inherit dri2proto dri3proto fontsproto glamoregl libdrm libpng udev libpciaccess presentproto randrproto renderproto libX11 xcbutil libxcb libXcursor libXdamage libXext xextproto xf86driproto libXfixes xorgserver xproto libXrandr libXrender libxshmfence libXtst libXvMC ;}; xf86videomach64 = (mkDerivation "xf86videomach64" { name = "xf86-video-mach64-6.9.4"; @@ -1991,8 +1991,8 @@ let url = mirror://xorg/individual/xserver/xorg-server-1.16.2.901.tar.bz2; sha256 = "19jb8v26wc332ramwjdg5vjh3s36kr7n46s6fdfaxrj1wif5m27g"; }; - buildInputs = [pkgconfig renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libxshmfence libXt ]; - }) // {inherit renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libxshmfence libXt ;}; + buildInputs = [pkgconfig dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libxshmfence libXt ]; + }) // {inherit dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libxshmfence libXt ;}; xorgsgmldoctools = (mkDerivation "xorgsgmldoctools" { name = "xorg-sgml-doctools-1.11"; diff --git a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl index 9c6618d3b105..7b2c20e05eb6 100755 --- a/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl +++ b/pkgs/servers/x11/xorg/generate-expr-from-tarballs.pl @@ -36,6 +36,8 @@ $pcMap{"libudev"} = "udev"; $pcMap{"gl"} = "mesa"; $pcMap{"\$PIXMAN"} = "pixman"; $pcMap{"\$RENDERPROTO"} = "renderproto"; +$pcMap{"\$DRI3PROTO"} = "dri3proto"; +$pcMap{"\$DRI2PROTO"} = "dri2proto"; my $downloadCache = "./download-cache"; @@ -207,6 +209,7 @@ while (<>) { process \@requires, $1 while $file =~ /XDMCP_MODULES=\"(.*)\"/g; process \@requires, $1 while $file =~ /XORG_MODULES=\"(.*)\"/g; process \@requires, $1 while $file =~ /NEEDED=\"(.*)\"/g; + process \@requires, $1 while $file =~ /ivo_requires=\"(.*)\"/g; process \@requires, $1 while $file =~ /XORG_DRIVER_CHECK_EXT\([^,]*,([^\)]*)\)/g; push @requires, "libxslt" if $pkg =~ /libxcb/; diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index a95d88186515..45122780cddf 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -266,7 +266,7 @@ in recordproto libXext pixman libXfont damageproto xcmiscproto bigreqsproto libpciaccess inputproto xextproto randrproto renderproto presentproto - dri2proto kbproto xineramaproto resourceproto scrnsaverproto videoproto + dri2proto dri3proto kbproto xineramaproto resourceproto scrnsaverproto videoproto ]; commonPatches = [ ./xorgserver-xkbcomp-path.patch ]; # XQuartz requires two compilations: the first to get X / XQuartz, -- cgit 1.4.1