From 5dc20e9ede9000e33d57cb4454c695f132db0344 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Viorel-C=C4=83t=C4=83lin=20R=C4=83pi=C8=9Beanu?= Date: Tue, 22 Oct 2024 22:46:37 +0300 Subject: [PATCH 1/3] lutris: fix RPCS3 AppImage A lot of runners are AppImages and these due to their fuse + FHS dependencies, won't work as expected in Nix. This commit implements a workaround that Lutris also employes for flatpaks where they unpack the image and then they run it. This is done via an environment variable passed to the Lutris executable. This commit also brings all dependencies needed for RPCS3 emulator to work as expected. --- pkgs/applications/misc/lutris/default.nix | 1 + pkgs/applications/misc/lutris/fhsenv.nix | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/lutris/default.nix b/pkgs/applications/misc/lutris/default.nix index f01be485ae05..914de95730aa 100644 --- a/pkgs/applications/misc/lutris/default.nix +++ b/pkgs/applications/misc/lutris/default.nix @@ -138,6 +138,7 @@ buildPythonApplication rec { dontWrapGApps = true; makeWrapperArgs = [ "--prefix PATH : ${lib.makeBinPath requiredTools}" + "--prefix APPIMAGE_EXTRACT_AND_RUN : 1" "\${gappsWrapperArgs[@]}" ]; diff --git a/pkgs/applications/misc/lutris/fhsenv.nix b/pkgs/applications/misc/lutris/fhsenv.nix index 5aa8f2ca3813..d4534e188610 100644 --- a/pkgs/applications/misc/lutris/fhsenv.nix +++ b/pkgs/applications/misc/lutris/fhsenv.nix @@ -34,6 +34,9 @@ in buildFHSEnv { targetPkgs = pkgs: with pkgs; [ lutris-unwrapped + # Appimages + fuse + # Adventure Game Studio allegro dumb @@ -86,9 +89,8 @@ in buildFHSEnv { # Redream // "redream is not available for the x86_64 architecture" - - # rpcs3 // TODO: "error while loading shared libraries: libz.so.1..." - llvm + # RPCS3 + llvm e2fsprogs libgpg-error # ScummVM nasm sndio From 24d9cb7296959bde5f75759a343a0b38a9871484 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Viorel-C=C4=83t=C4=83lin=20R=C4=83pi=C8=9Beanu?= Date: Tue, 10 Dec 2024 10:56:51 +0200 Subject: [PATCH 2/3] lutris: fix Dolphin Make sure that Dolphin has the correct dependencies included. --- pkgs/applications/misc/lutris/fhsenv.nix | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pkgs/applications/misc/lutris/fhsenv.nix b/pkgs/applications/misc/lutris/fhsenv.nix index d4534e188610..56a23a42ae63 100644 --- a/pkgs/applications/misc/lutris/fhsenv.nix +++ b/pkgs/applications/misc/lutris/fhsenv.nix @@ -7,6 +7,7 @@ let qt5Deps = pkgs: with pkgs.qt5; [ qtbase qtmultimedia ]; + qt6Deps = pkgs: with pkgs.qt6; [ qtbase ]; gnomeDeps = pkgs: with pkgs; [ zenity gtksourceview gnome-desktop libgnome-keyring webkitgtk_4_0 ]; xorgDeps = pkgs: with pkgs.xorg; [ libX11 libXrender libXrandr libxcb libXmu libpthreadstubs libXext libXdmcp @@ -52,8 +53,8 @@ in buildFHSEnv { # DGen // TODO: libarchive is broken # Dolphin - bluez ffmpeg gettext portaudio miniupnpc mbedtls_2 lzo sfml gsm - wavpack orc nettle gmp pcre vulkan-loader + bluez ffmpeg_6 gettext portaudio miniupnpc mbedtls_2 lzo sfml gsm + wavpack orc nettle gmp pcre vulkan-loader zstd # DOSBox SDL_net SDL_sound @@ -110,6 +111,7 @@ in buildFHSEnv { # ZDOOM soundfont-fluid bzip2 game-music-emu ] ++ qt5Deps pkgs + ++ qt6Deps pkgs ++ gnomeDeps pkgs ++ lib.optional steamSupport pkgs.steam ++ extraPkgs pkgs; @@ -117,7 +119,7 @@ in buildFHSEnv { multiPkgs = pkgs: with pkgs; [ # Common libsndfile libtheora libogg libvorbis libopus libGLU libpcap libpulseaudio - libao libevdev udev libgcrypt libxml2 libusb-compat-0_1 libpng libmpeg2 libv4l + libao libevdev udev libgcrypt libxml2 libusb1 libpng libmpeg2 libv4l libjpeg libxkbcommon libass libcdio libjack2 libsamplerate libzip libmad libaio libcap libtiff libva libgphoto2 libxslt libsndfile giflib zlib glib alsa-lib zziplib bash dbus keyutils zip cabextract freetype unzip coreutils From 93ae5fa190e630472f3630d00a7dab0980894616 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Viorel-C=C4=83t=C4=83lin=20R=C4=83pi=C8=9Beanu?= Date: Tue, 10 Dec 2024 12:25:54 +0200 Subject: [PATCH 3/3] lutris: add rapiteanu to maintainer list --- pkgs/applications/misc/lutris/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/applications/misc/lutris/default.nix b/pkgs/applications/misc/lutris/default.nix index 914de95730aa..697ae880e053 100644 --- a/pkgs/applications/misc/lutris/default.nix +++ b/pkgs/applications/misc/lutris/default.nix @@ -146,7 +146,7 @@ buildPythonApplication rec { homepage = "https://lutris.net"; description = "Open Source gaming platform for GNU/Linux"; license = licenses.gpl3Plus; - maintainers = with maintainers; [ Madouura ]; + maintainers = with maintainers; [ Madouura rapiteanu ]; platforms = platforms.linux; mainProgram = "lutris"; };