From ff2d137410672d7ec50fa7666a39aab2dbd73e91 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sun, 22 May 2016 22:16:12 +0200 Subject: [PATCH 1/6] xorg: add fglrxCompat parameter --- pkgs/servers/x11/xorg/overrides.nix | 17 ++++++++++++++++- pkgs/top-level/all-packages.nix | 1 + 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index a19f479bf2e..923d3a00bd5 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -363,7 +363,22 @@ in ''; }; - xorgserver = with xorg; attrs: attrs // + xorgserver = with xorg; attrs_passed: + # exchange attrs if fglrxCompat is set + let + attrs = if !args.fglrxCompat then attrs_passed else + with args; { + name = "xorg-server-1.17.4"; + builder = ./builder.sh; + src = fetchurl { + url = mirror://xorg/individual/xserver/xorg-server-1.17.4.tar.bz2; + sha256 = "0mv4ilpqi5hpg182mzqn766frhi6rw48aba3xfbaj4m82v0lajqc"; + }; + buildInputs = [pkgconfig dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ]; + meta.platforms = stdenv.lib.platforms.unix; + }; + + in attrs // (let version = (builtins.parseDrvName attrs.name).version; commonBuildInputs = attrs.buildInputs ++ [ xtrans ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index dd22909dde8..b1d657215f1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10268,6 +10268,7 @@ in mesa = mesa_noglu; udev = if stdenv.isLinux then udev else null; libdrm = if stdenv.isLinux then libdrm else null; + fglrxCompat = false; } // { inherit xlibsWrapper; } ); xwayland = callPackage ../servers/x11/xorg/xwayland.nix { }; From 05a36304ea812cc891a1d03a497b8ee7ce3729de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 23 May 2016 10:12:44 +0200 Subject: [PATCH 2/6] nixos ati_unfree: auto-switch xorg to fglrxComat --- nixos/modules/hardware/video/ati.nix | 2 ++ pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/nixos/modules/hardware/video/ati.nix b/nixos/modules/hardware/video/ati.nix index 033e49d2233..bf91bcf0776 100644 --- a/nixos/modules/hardware/video/ati.nix +++ b/nixos/modules/hardware/video/ati.nix @@ -18,6 +18,8 @@ in config = mkIf enabled { + nixpkgs.config.xorg.fglrxCompat = true; + services.xserver.drivers = singleton { name = "fglrx"; modules = [ ati_x11 ]; libPath = [ "${ati_x11}/lib" ]; }; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index b1d657215f1..bdffa0f9f2c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10268,7 +10268,7 @@ in mesa = mesa_noglu; udev = if stdenv.isLinux then udev else null; libdrm = if stdenv.isLinux then libdrm else null; - fglrxCompat = false; + fglrxCompat = config.xorg.fglrxCompat or false; # `config` because we have no `xorg.override` } // { inherit xlibsWrapper; } ); xwayland = callPackage ../servers/x11/xorg/xwayland.nix { }; From 5908d31cf4be5004f97d8b3cb3a6f28d5ae555dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 23 May 2016 10:13:47 +0200 Subject: [PATCH 3/6] xorg-server: major update 1.17.4 -> 1.18.3 --- pkgs/servers/x11/xorg/default.nix | 6 +++--- pkgs/servers/x11/xorg/tarballs-7.7.list | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/servers/x11/xorg/default.nix b/pkgs/servers/x11/xorg/default.nix index 45c01d74cdb..dace2262b7d 100644 --- a/pkgs/servers/x11/xorg/default.nix +++ b/pkgs/servers/x11/xorg/default.nix @@ -2348,11 +2348,11 @@ let }) // {inherit ;}; xorgserver = (mkDerivation "xorgserver" { - name = "xorg-server-1.17.4"; + name = "xorg-server-1.18.3"; builder = ./builder.sh; src = fetchurl { - url = mirror://xorg/individual/xserver/xorg-server-1.17.4.tar.bz2; - sha256 = "0mv4ilpqi5hpg182mzqn766frhi6rw48aba3xfbaj4m82v0lajqc"; + url = mirror://xorg/individual/xserver/xorg-server-1.18.3.tar.bz2; + sha256 = "1ka206v4nbw6qz072gh0543aq44azq2zv9f0yysy5nvwa4i9qwza"; }; buildInputs = [pkgconfig dri2proto dri3proto renderproto libdrm openssl libX11 libXau libXaw libxcb xcbutil xcbutilwm xcbutilimage xcbutilkeysyms xcbutilrenderutil libXdmcp libXfixes libxkbfile libXmu libXpm libXrender libXres libXt ]; meta.platforms = stdenv.lib.platforms.unix; diff --git a/pkgs/servers/x11/xorg/tarballs-7.7.list b/pkgs/servers/x11/xorg/tarballs-7.7.list index d0a812e45d6..3951db9a8ab 100644 --- a/pkgs/servers/x11/xorg/tarballs-7.7.list +++ b/pkgs/servers/x11/xorg/tarballs-7.7.list @@ -184,7 +184,7 @@ mirror://xorg/individual/app/xlsfonts-1.0.5.tar.bz2 mirror://xorg/individual/app/xmag-1.0.6.tar.bz2 mirror://xorg/individual/app/xmodmap-1.0.9.tar.bz2 mirror://xorg/individual/doc/xorg-docs-1.7.1.tar.bz2 -mirror://xorg/individual/xserver/xorg-server-1.17.4.tar.bz2 +mirror://xorg/individual/xserver/xorg-server-1.18.3.tar.bz2 mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-1.11.tar.bz2 mirror://xorg/X11R7.7/src/everything/xpr-1.0.4.tar.bz2 mirror://xorg/individual/app/xprop-1.2.2.tar.bz2 From 69cc0a7bc5832a98f29e82a1674ed473986b6f4f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 23 May 2016 13:00:21 +0200 Subject: [PATCH 4/6] xf86-input-evdev: split dev output --- nixos/modules/services/x11/xserver.nix | 2 +- pkgs/desktops/kde-5/plasma-5.6/plasma-desktop/default.nix | 2 +- pkgs/servers/x11/xorg/overrides.nix | 1 + 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index 9cb9c8de31d..356ee7d265a 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -535,7 +535,7 @@ in services.xserver.modules = concatLists (catAttrs "modules" cfg.drivers) ++ [ xorg.xorgserver.out - xorg.xf86inputevdev + xorg.xf86inputevdev.out ]; services.xserver.xkbDir = mkDefault "${pkgs.xkeyboard_config}/etc/X11/xkb"; diff --git a/pkgs/desktops/kde-5/plasma-5.6/plasma-desktop/default.nix b/pkgs/desktops/kde-5/plasma-5.6/plasma-desktop/default.nix index 58c2325f5c4..acaec3bc03a 100644 --- a/pkgs/desktops/kde-5/plasma-5.6/plasma-desktop/default.nix +++ b/pkgs/desktops/kde-5/plasma-5.6/plasma-desktop/default.nix @@ -36,7 +36,7 @@ plasmaPackage rec { ]; NIX_CFLAGS_COMPILE = [ "-I${xorgserver}/include/xorg" ]; cmakeFlags = [ - "-DEvdev_INCLUDE_DIRS=${xf86inputevdev}/include/xorg" + "-DEvdev_INCLUDE_DIRS=${xf86inputevdev.dev}/include/xorg" "-DSynaptics_INCLUDE_DIRS=${xf86inputsynaptics}/include/xorg" ]; postInstall = '' diff --git a/pkgs/servers/x11/xorg/overrides.nix b/pkgs/servers/x11/xorg/overrides.nix index 923d3a00bd5..9f78fcffc5e 100644 --- a/pkgs/servers/x11/xorg/overrides.nix +++ b/pkgs/servers/x11/xorg/overrides.nix @@ -286,6 +286,7 @@ in }; xf86inputevdev = attrs: attrs // { + outputs = [ "dev" "out" ]; # to get rid of xorgserver.dev; man is tiny preBuild = "sed -e '/motion_history_proc/d; /history_size/d;' -i src/*.c"; installFlags = "sdkdir=\${out}/include/xorg"; buildInputs = attrs.buildInputs ++ [ args.mtdev args.libevdev ]; From 358533dc61ab40308c02990746314d095f437e1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 23 May 2016 13:01:01 +0200 Subject: [PATCH 5/6] nixos xserver: fix evdev driver with xserver 1.18 ... and add its man page. Now I seem to be running fine with the new server. --- nixos/modules/services/x11/xserver.nix | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index 356ee7d265a..41d34b4bbe5 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -462,7 +462,14 @@ in { source = "${cfg.xkbDir}"; target = "X11/xkb"; } - ]); + ]) + # Needed since 1.18; see https://bugs.freedesktop.org/show_bug.cgi?id=89023#c5 + ++ (let cfgPath = "/X11/xorg.conf.d/10-evdev.conf"; in + [{ + source = xorg.xf86inputevdev.out + "/share" + cfgPath; + target = cfgPath; + }] + ); environment.systemPackages = [ xorg.xorgserver.out @@ -478,6 +485,7 @@ in xorg.xauth pkgs.xterm pkgs.xdg_utils + xorg.xf86inputevdev.out # get evdev.4 man page ] ++ optional (elem "virtualbox" cfg.videoDrivers) xorg.xrefresh; From e7080becfdfe6fbd827e18e6efb180be82c7c9b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Mon, 23 May 2016 15:24:00 +0200 Subject: [PATCH 6/6] release notes: mention xorg-server update --- nixos/doc/manual/release-notes/rl-1609.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nixos/doc/manual/release-notes/rl-1609.xml b/nixos/doc/manual/release-notes/rl-1609.xml index 22dea802924..e167cf08b98 100644 --- a/nixos/doc/manual/release-notes/rl-1609.xml +++ b/nixos/doc/manual/release-notes/rl-1609.xml @@ -16,6 +16,10 @@ has the following highlights: See for documentation. + + Xorg-server-1.18.*. If you choose "ati_unfree" driver, + 1.17.* is still used due to ABI incompatibility. + The following new services were added since the last release: