diff --git a/nixos/modules/services/x11/xserver.nix b/nixos/modules/services/x11/xserver.nix index f5ed52338182..7ac776571a01 100644 --- a/nixos/modules/services/x11/xserver.nix +++ b/nixos/modules/services/x11/xserver.nix @@ -459,6 +459,8 @@ in knownVideoDrivers; in optional (driver != null) ({ inherit name; modules = []; driverName = name; } // driver)); + nixpkgs.config.xorg = optionalAttrs (elem "vboxvideo" cfg.videoDrivers) { abiCompat = "1.18"; }; + assertions = [ { assertion = config.security.polkit.enable; message = "X11 requires Polkit to be enabled (‘security.polkit.enable = true’)."; diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix index d73c18badb19..6e58d42a1cb5 100644 --- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix +++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix @@ -4,7 +4,14 @@ let version = virtualbox.version; xserverVListFunc = builtins.elemAt (stdenv.lib.splitString "." xorg.xorgserver.version); - xserverABI = xserverVListFunc 0 + xserverVListFunc 1; + + # Forced to 1.18 in + # as it even fails to build otherwise. Still, override this even here, + # in case someone does just a standalone build + # (not via videoDrivers = ["vboxvideo"]). + # It's likely to work again in some future update. + xserverABI = let abi = xserverVListFunc 0 + xserverVListFunc 1; + in if abi == "119" then "118" else abi; in stdenv.mkDerivation {