wine: Fix missing X11 libraries for Wayland build

The Wayland build provides both Wayland and X11 support

Wine still prioritizes X11 over Wayland by default, without these
support libraries some things don't work, including causing some games
to crash.
This commit is contained in:
Daniel Hill 2023-09-18 19:26:04 +12:00
parent 25da3e556a
commit 965c429917
2 changed files with 4 additions and 3 deletions

View file

@ -78,7 +78,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
++ lib.optional fontconfigSupport pkgs.fontconfig ++ lib.optional fontconfigSupport pkgs.fontconfig
++ lib.optional alsaSupport pkgs.alsa-lib ++ lib.optional alsaSupport pkgs.alsa-lib
++ lib.optional pulseaudioSupport pkgs.libpulseaudio ++ lib.optional pulseaudioSupport pkgs.libpulseaudio
++ lib.optional (xineramaSupport && !waylandSupport) pkgs.xorg.libXinerama ++ lib.optional (xineramaSupport && x11Support) pkgs.xorg.libXinerama
++ lib.optional udevSupport pkgs.udev ++ lib.optional udevSupport pkgs.udev
++ lib.optional vulkanSupport (if stdenv.isDarwin then moltenvk else pkgs.vulkan-loader) ++ lib.optional vulkanSupport (if stdenv.isDarwin then moltenvk else pkgs.vulkan-loader)
++ lib.optional sdlSupport pkgs.SDL2 ++ lib.optional sdlSupport pkgs.SDL2
@ -93,7 +93,7 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
CoreServices Foundation ForceFeedback AppKit OpenGL IOKit DiskArbitration PCSC Security CoreServices Foundation ForceFeedback AppKit OpenGL IOKit DiskArbitration PCSC Security
ApplicationServices AudioToolbox CoreAudio AudioUnit CoreMIDI OpenCL Cocoa Carbon ApplicationServices AudioToolbox CoreAudio AudioUnit CoreMIDI OpenCL Cocoa Carbon
]) ])
++ lib.optionals (stdenv.isLinux && !waylandSupport) (with pkgs.xorg; [ ++ lib.optionals (x11Support) (with pkgs.xorg; [
libX11 libXi libXcursor libXrandr libXrender libXxf86vm libXcomposite libXext libX11 libXi libXcursor libXrandr libXrender libXxf86vm libXcomposite libXext
]) ])
++ lib.optionals waylandSupport (with pkgs; [ ++ lib.optionals waylandSupport (with pkgs; [

View file

@ -37,6 +37,7 @@
usbSupport ? false, usbSupport ? false,
mingwSupport ? wineRelease != "stable", mingwSupport ? wineRelease != "stable",
waylandSupport ? wineRelease == "wayland", waylandSupport ? wineRelease == "wayland",
x11Support ? stdenv.isLinux,
embedInstallers ? false, # The Mono and Gecko MSI installers embedInstallers ? false, # The Mono and Gecko MSI installers
moltenvk ? darwin.moltenvk # Allow users to override MoltenVK easily moltenvk ? darwin.moltenvk # Allow users to override MoltenVK easily
}: }:
@ -51,7 +52,7 @@ let wine-build = build: release:
v4lSupport saneSupport gphoto2Support krb5Support fontconfigSupport v4lSupport saneSupport gphoto2Support krb5Support fontconfigSupport
alsaSupport pulseaudioSupport xineramaSupport gtkSupport openclSupport alsaSupport pulseaudioSupport xineramaSupport gtkSupport openclSupport
tlsSupport openglSupport gstreamerSupport udevSupport vulkanSupport tlsSupport openglSupport gstreamerSupport udevSupport vulkanSupport
sdlSupport usbSupport mingwSupport waylandSupport embedInstallers; sdlSupport usbSupport mingwSupport waylandSupport x11Support embedInstallers;
}; };
inherit moltenvk; inherit moltenvk;
}); });