From ed6e22752d8444a2bcf5d2a62cbcb447206ed748 Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sat, 19 Oct 2024 17:17:03 +0700 Subject: [PATCH 01/27] Add proton-osu package (temporary) --- pkgs/proton-osu/README.md | 4 ++++ pkgs/proton-osu/default.nix | 41 +++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 pkgs/proton-osu/README.md create mode 100644 pkgs/proton-osu/default.nix diff --git a/pkgs/proton-osu/README.md b/pkgs/proton-osu/README.md new file mode 100644 index 00000000..2a1ddcb0 --- /dev/null +++ b/pkgs/proton-osu/README.md @@ -0,0 +1,4 @@ +# proton-osu + +Build of Wine/Proton with various patches, such as low-latency audio. +Intended to be used with osu!. diff --git a/pkgs/proton-osu/default.nix b/pkgs/proton-osu/default.nix new file mode 100644 index 00000000..503f93c2 --- /dev/null +++ b/pkgs/proton-osu/default.nix @@ -0,0 +1,41 @@ +{ + lib, + stdenvNoCC, + fetchzip +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "proton-osu-bin"; + version = "proton-osu-9-7"; + + src = fetchzip { + url = "https://github.com/whrvt/umubuilder/releases/download/${finalAttrs.version}/${finalAttrs.version}.tar.gz"; + hash = lib.fakeHash; + }; + + outputs = [ + "out" + "steamcompattool" + ]; + + buildCommand = '' + runHook preBuild + + echo "${finalAttrs.pname} should not be installed into environments. Please use programs.steam.extraCompatPackages instead." > $out + + ln -s $src $steamcompattool + + runHook postBuild + ''; + + meta = { + description = '' + Compatibily tool for Steam Play, patched with low-latency audio and intended for osu!. + + (This is intended for use in the `programs.steam.extraCompatPackages` option only.) + ''; + homepage = "https://github.com/whrvt/umubuilder"; + license = lib.licenses.gpl3plus; + platforms = [ "x86_64-linux" ]; + }; +}) From 589213bc8896a57df7759d760d9d3168ef955e9f Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sat, 19 Oct 2024 17:52:36 +0700 Subject: [PATCH 02/27] Add umu to osu-stable, hopefully --- pkgs/osu-stable/default.nix | 68 ++++++++++++++++++++++++++++++------- 1 file changed, 55 insertions(+), 13 deletions(-) diff --git a/pkgs/osu-stable/default.nix b/pkgs/osu-stable/default.nix index 41d0a7ef..95639d99 100644 --- a/pkgs/osu-stable/default.nix +++ b/pkgs/osu-stable/default.nix @@ -7,9 +7,15 @@ wine-discord-ipc-bridge, winetricks, wine, + umu, + proton-osu, wineFlags ? "", pname ? "osu-stable", location ? "$HOME/.osu", + useIpcBridge ? true, + useUmu ? false, + protonPath ? "${proton-osu.steamcompattool}", + protonVerbs ? ["waitforexitandrun"], tricks ? ["gdiplus" "dotnet45" "meiryo"], preCommands ? "", postCommands ? "", @@ -35,26 +41,62 @@ # disables vsync for OpenGL export vblank_mode=0 - PATH=$PATH:${wine}/bin:${winetricks}/bin + # ID for umu + export GAMEID="osu-wine-umu" + export STORE="none" + + PATH=${ + lib.makeBinPath ( + if useUmu + then [umu] + else [wine winetricks] + ) + }:$PATH USER="$(whoami)" OSU="$WINEPREFIX/drive_c/osu/osu!.exe" - if [ ! -d "$WINEPREFIX" ]; then - # install tricks - winetricks -q -f ${tricksFmt} - wineserver -k + ${ + if useUmu + then '' + export PROTON_VERBS="${lib.strings.concatStringsSep "," protonVerbs}" + export PROTONPATH="${protonPath}" + + if [ ! -d "$WINEPREFIX" ]; then + umu winetricks -q -f ${tricksFmt} + fi + + if [ ! -f "$OSU" ]; then + umu ${src} + mv "$WINEPREFIX/drive_c/users/$USER/AppData/Local/osu!" $WINEPREFIX/drive_c/osu + fi + '' + else '' + if [ ! -d "$WINEPREFIX" ]; then + # install tricks + winetricks -q -f ${tricksFmt} + wineserver -k - # install osu - wine ${src} - wineserver -k - mv "$WINEPREFIX/drive_c/users/$USER/AppData/Local/osu!" $WINEPREFIX/drive_c/osu - fi + # install osu + wine ${src} + wineserver -k + mv "$WINEPREFIX/drive_c/users/$USER/AppData/Local/osu!" $WINEPREFIX/drive_c/osu + fi + '' + } ${preCommands} - wine ${wine-discord-ipc-bridge}/bin/winediscordipcbridge.exe & - ${gamemode}/bin/gamemoderun wine ${wineFlags} "$OSU" "$@" - wineserver -w + ${lib.optionalString useIpcBridge "wine ${wine-discord-ipc-bridge}/bin/winediscordipcbridge.exe &"} + ${ + if useUmu + then '' + ${gamemode}/bin/gamemoderun umu "$OSU" "$@" + '' + else '' + ${gamemode}/bin/gamemoderun wine ${wineFlags} "$OSU" "$@" + wineserver -w + '' + } ${postCommands} ''; From 5f419885c43e1646544bcea4f80745f9df60676c Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sat, 19 Oct 2024 18:08:28 +0700 Subject: [PATCH 03/27] Add proton-osu to packages list --- pkgs/default.nix | 2 ++ pkgs/osu-stable/README.md | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/pkgs/default.nix b/pkgs/default.nix index cb5fbbd7..5b55717e 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -80,6 +80,8 @@ ''; }; + proton-osu = pkgs.callPackage ./proton-osu {}; + roblox-player = pkgs.callPackage ./roblox-player { wine = config.packages.wine-tkg; inherit (config.packages) wine-discord-ipc-bridge; diff --git a/pkgs/osu-stable/README.md b/pkgs/osu-stable/README.md index 4eba986b..1af260d3 100644 --- a/pkgs/osu-stable/README.md +++ b/pkgs/osu-stable/README.md @@ -7,3 +7,11 @@ of files. In any case, **do not stop the command!** If anything goes wrong and for some reason osu! won't start, delete the `~/.osu` directory and re-run `osu-stable`. + +## Additional Overrides + +This package has the following additional overrides: + +- `protonPath` Proton compatibility tool if umu is used. +Defaults to [`proton-osu`](../proton-osu/README.md). +- `protonVerbs` From b86a38bf000e08ea40ad76772f2edc7a032b00fa Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sat, 19 Oct 2024 18:14:34 +0700 Subject: [PATCH 04/27] Add proton-osu properly to osu-stable --- pkgs/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/default.nix b/pkgs/default.nix index 5b55717e..6e7704d4 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -62,7 +62,7 @@ }; osu-stable = pkgs.callPackage ./osu-stable { - inherit (config.packages) osu-mime; + inherit (config.packages) osu-mime proton-osu; wine = config.packages.wine-osu; wine-discord-ipc-bridge = config.packages.wine-discord-ipc-bridge.override {wine = config.packages.wine-osu;}; }; From 20b88916430c42378a5d6c1220c6257628e417b3 Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sat, 19 Oct 2024 18:16:09 +0700 Subject: [PATCH 05/27] Add umu to osu-stable --- pkgs/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/default.nix b/pkgs/default.nix index 6e7704d4..2fabac2c 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -62,7 +62,7 @@ }; osu-stable = pkgs.callPackage ./osu-stable { - inherit (config.packages) osu-mime proton-osu; + inherit (config.packages) osu-mime proton-osu umu; wine = config.packages.wine-osu; wine-discord-ipc-bridge = config.packages.wine-discord-ipc-bridge.override {wine = config.packages.wine-osu;}; }; From 08f8c2f40b9c6210aa554e9c3bda825a212f2b2f Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sat, 19 Oct 2024 18:19:48 +0700 Subject: [PATCH 06/27] Fix uncapitalized license type --- pkgs/proton-osu/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/proton-osu/default.nix b/pkgs/proton-osu/default.nix index 503f93c2..236b4248 100644 --- a/pkgs/proton-osu/default.nix +++ b/pkgs/proton-osu/default.nix @@ -35,7 +35,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { (This is intended for use in the `programs.steam.extraCompatPackages` option only.) ''; homepage = "https://github.com/whrvt/umubuilder"; - license = lib.licenses.gpl3plus; + license = lib.licenses.gpl3Plus; platforms = [ "x86_64-linux" ]; }; }) From d601ff35c64b36dec9681df6754489d05ecc23e4 Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sat, 19 Oct 2024 18:25:11 +0700 Subject: [PATCH 07/27] Fix proton-osu source typo --- pkgs/proton-osu/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/proton-osu/default.nix b/pkgs/proton-osu/default.nix index 236b4248..f1c1dc6d 100644 --- a/pkgs/proton-osu/default.nix +++ b/pkgs/proton-osu/default.nix @@ -9,7 +9,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { version = "proton-osu-9-7"; src = fetchzip { - url = "https://github.com/whrvt/umubuilder/releases/download/${finalAttrs.version}/${finalAttrs.version}.tar.gz"; + url = "https://github.com/whrvt/umubuilder/releases/download/${finalAttrs.version}/${finalAttrs.version}.tar.xz"; hash = lib.fakeHash; }; From c04b0d50dad777285ada216a9a889d9f4c975ee5 Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sat, 19 Oct 2024 18:45:46 +0700 Subject: [PATCH 08/27] Add proper hash to proton-osu --- pkgs/proton-osu/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/proton-osu/default.nix b/pkgs/proton-osu/default.nix index f1c1dc6d..767f1aaf 100644 --- a/pkgs/proton-osu/default.nix +++ b/pkgs/proton-osu/default.nix @@ -10,7 +10,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { src = fetchzip { url = "https://github.com/whrvt/umubuilder/releases/download/${finalAttrs.version}/${finalAttrs.version}.tar.xz"; - hash = lib.fakeHash; + hash = "sha256-SPj7ogWjPxlBILRiGmMXti0fZyyLdzfoA308xbIAn3Q="; }; outputs = [ From 5ef5a77bc2550aaf4cc0582cb36ffa18c62d44ad Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sat, 19 Oct 2024 18:55:25 +0700 Subject: [PATCH 09/27] Remove ipc bridge if umu is used --- pkgs/osu-stable/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/osu-stable/default.nix b/pkgs/osu-stable/default.nix index 95639d99..53e80640 100644 --- a/pkgs/osu-stable/default.nix +++ b/pkgs/osu-stable/default.nix @@ -12,7 +12,6 @@ wineFlags ? "", pname ? "osu-stable", location ? "$HOME/.osu", - useIpcBridge ? true, useUmu ? false, protonPath ? "${proton-osu.steamcompattool}", protonVerbs ? ["waitforexitandrun"], @@ -86,13 +85,13 @@ ${preCommands} - ${lib.optionalString useIpcBridge "wine ${wine-discord-ipc-bridge}/bin/winediscordipcbridge.exe &"} ${ if useUmu then '' ${gamemode}/bin/gamemoderun umu "$OSU" "$@" '' else '' + wine ${wine-discord-ipc-bridge}/bin/winediscordipcbridge.exe & ${gamemode}/bin/gamemoderun wine ${wineFlags} "$OSU" "$@" wineserver -w '' From 94ddcb16d2fc57d15f9bc8fbe45d8ed5b96c9902 Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sat, 19 Oct 2024 19:00:13 +0700 Subject: [PATCH 10/27] Change umu to umu-run in osu-stable --- pkgs/osu-stable/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/osu-stable/default.nix b/pkgs/osu-stable/default.nix index 53e80640..1380b19b 100644 --- a/pkgs/osu-stable/default.nix +++ b/pkgs/osu-stable/default.nix @@ -61,11 +61,11 @@ export PROTONPATH="${protonPath}" if [ ! -d "$WINEPREFIX" ]; then - umu winetricks -q -f ${tricksFmt} + umu-run winetricks -q -f ${tricksFmt} fi if [ ! -f "$OSU" ]; then - umu ${src} + umu-run ${src} mv "$WINEPREFIX/drive_c/users/$USER/AppData/Local/osu!" $WINEPREFIX/drive_c/osu fi '' @@ -88,7 +88,7 @@ ${ if useUmu then '' - ${gamemode}/bin/gamemoderun umu "$OSU" "$@" + ${gamemode}/bin/gamemoderun umu-run "$OSU" "$@" '' else '' wine ${wine-discord-ipc-bridge}/bin/winediscordipcbridge.exe & From 30270352c42afb09703dfa9de8b1051428c3ee9f Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sat, 19 Oct 2024 19:07:19 +0700 Subject: [PATCH 11/27] Remove flags from umu winetricks usage --- pkgs/osu-stable/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/osu-stable/default.nix b/pkgs/osu-stable/default.nix index 1380b19b..3f394aa5 100644 --- a/pkgs/osu-stable/default.nix +++ b/pkgs/osu-stable/default.nix @@ -61,7 +61,7 @@ export PROTONPATH="${protonPath}" if [ ! -d "$WINEPREFIX" ]; then - umu-run winetricks -q -f ${tricksFmt} + umu-run winetricks ${tricksFmt} fi if [ ! -f "$OSU" ]; then From 2f0bcef8360b500169adb3cfe344bc4dfeff9d3b Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sun, 20 Oct 2024 07:55:40 +0700 Subject: [PATCH 12/27] Try not moving osu after installation --- pkgs/osu-stable/default.nix | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/pkgs/osu-stable/default.nix b/pkgs/osu-stable/default.nix index 3f394aa5..6b8dc2e3 100644 --- a/pkgs/osu-stable/default.nix +++ b/pkgs/osu-stable/default.nix @@ -52,11 +52,12 @@ ) }:$PATH USER="$(whoami)" - OSU="$WINEPREFIX/drive_c/osu/osu!.exe" ${ if useUmu then '' + OSU="$WINEPREFIX/drive_c/users/$USER/AppData/Local/osu!/osu!.exe" + export PROTON_VERBS="${lib.strings.concatStringsSep "," protonVerbs}" export PROTONPATH="${protonPath}" @@ -65,11 +66,13 @@ fi if [ ! -f "$OSU" ]; then - umu-run ${src} - mv "$WINEPREFIX/drive_c/users/$USER/AppData/Local/osu!" $WINEPREFIX/drive_c/osu + OSU_FIRST_TIME="true" + ${gamemode}/bin/gamemoderun umu-run ${src} fi '' else '' + OSU="$WINEPREFIX/drive_c/osu/osu!.exe" + if [ ! -d "$WINEPREFIX" ]; then # install tricks winetricks -q -f ${tricksFmt} @@ -88,7 +91,9 @@ ${ if useUmu then '' + if [ "$OSU_FIRST_TIME" != "true" ]; then ${gamemode}/bin/gamemoderun umu-run "$OSU" "$@" + fi '' else '' wine ${wine-discord-ipc-bridge}/bin/winediscordipcbridge.exe & From fff074c26a1c22d18fa1a93efd0ca8ecb8a12ea8 Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sun, 20 Oct 2024 08:22:10 +0700 Subject: [PATCH 13/27] Various hopeful fixes --- pkgs/osu-stable/default.nix | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/pkgs/osu-stable/default.nix b/pkgs/osu-stable/default.nix index 6b8dc2e3..32467486 100644 --- a/pkgs/osu-stable/default.nix +++ b/pkgs/osu-stable/default.nix @@ -33,7 +33,6 @@ else "-V"; script = writeShellScriptBin pname '' - export WINEARCH="win32" export WINEPREFIX="${location}" # sets realtime priority for wine export STAGING_RT_PRIORITY_SERVER=1 @@ -52,11 +51,12 @@ ) }:$PATH USER="$(whoami)" + OSU="$WINEPREFIX/drive_c/osu/osu!.exe" ${ if useUmu then '' - OSU="$WINEPREFIX/drive_c/users/$USER/AppData/Local/osu!/osu!.exe" + export WINEARCH="win64" export PROTON_VERBS="${lib.strings.concatStringsSep "," protonVerbs}" export PROTONPATH="${protonPath}" @@ -68,10 +68,11 @@ if [ ! -f "$OSU" ]; then OSU_FIRST_TIME="true" ${gamemode}/bin/gamemoderun umu-run ${src} + mv "$WINEPREFIX/drive_c/users/steamuser/AppData/Local/osu!" $WINEPREFIX/drive_c/osu fi '' else '' - OSU="$WINEPREFIX/drive_c/osu/osu!.exe" + export WINEARCH="win32" if [ ! -d "$WINEPREFIX" ]; then # install tricks From 66538d5cd3fbc348b33521bc0a13b17f53d0931e Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sun, 20 Oct 2024 08:33:08 +0700 Subject: [PATCH 14/27] Add more hopeful fixes --- pkgs/osu-stable/default.nix | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/pkgs/osu-stable/default.nix b/pkgs/osu-stable/default.nix index 32467486..74f714b7 100644 --- a/pkgs/osu-stable/default.nix +++ b/pkgs/osu-stable/default.nix @@ -66,8 +66,7 @@ fi if [ ! -f "$OSU" ]; then - OSU_FIRST_TIME="true" - ${gamemode}/bin/gamemoderun umu-run ${src} + umu-run ${src} /norestart mv "$WINEPREFIX/drive_c/users/steamuser/AppData/Local/osu!" $WINEPREFIX/drive_c/osu fi '' @@ -92,9 +91,7 @@ ${ if useUmu then '' - if [ "$OSU_FIRST_TIME" != "true" ]; then ${gamemode}/bin/gamemoderun umu-run "$OSU" "$@" - fi '' else '' wine ${wine-discord-ipc-bridge}/bin/winediscordipcbridge.exe & From cf5d3875dc2e0eba68b4494be638d43c77f4071e Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sun, 20 Oct 2024 09:28:19 +0700 Subject: [PATCH 15/27] Add LD_LIBRARY_PATH to script --- pkgs/osu-stable/default.nix | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/pkgs/osu-stable/default.nix b/pkgs/osu-stable/default.nix index 74f714b7..1c37fe11 100644 --- a/pkgs/osu-stable/default.nix +++ b/pkgs/osu-stable/default.nix @@ -33,6 +33,7 @@ else "-V"; script = writeShellScriptBin pname '' + export WINEARCH="win32" export WINEPREFIX="${location}" # sets realtime priority for wine export STAGING_RT_PRIORITY_SERVER=1 @@ -56,11 +57,11 @@ ${ if useUmu then '' - export WINEARCH="win64" - export PROTON_VERBS="${lib.strings.concatStringsSep "," protonVerbs}" export PROTONPATH="${protonPath}" + export LD_LIBRARY_PATH="/run/opengl-driver/lib":"/run/opengl-driver-32/lib":$LD_LIBRARY_PATH + if [ ! -d "$WINEPREFIX" ]; then umu-run winetricks ${tricksFmt} fi @@ -71,8 +72,6 @@ fi '' else '' - export WINEARCH="win32" - if [ ! -d "$WINEPREFIX" ]; then # install tricks winetricks -q -f ${tricksFmt} From cc81aa8993a726e5636706a89c00993a9bf70d14 Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sun, 20 Oct 2024 09:44:35 +0700 Subject: [PATCH 16/27] Force only 32-bit libraries --- pkgs/osu-stable/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/osu-stable/default.nix b/pkgs/osu-stable/default.nix index 1c37fe11..96475ad1 100644 --- a/pkgs/osu-stable/default.nix +++ b/pkgs/osu-stable/default.nix @@ -60,7 +60,7 @@ export PROTON_VERBS="${lib.strings.concatStringsSep "," protonVerbs}" export PROTONPATH="${protonPath}" - export LD_LIBRARY_PATH="/run/opengl-driver/lib":"/run/opengl-driver-32/lib":$LD_LIBRARY_PATH + export LD_LIBRARY_PATH="/run/opengl-driver-32/lib":$LD_LIBRARY_PATH if [ ! -d "$WINEPREFIX" ]; then umu-run winetricks ${tricksFmt} From 834e36d6807757177f0101e7c6eb992286e1ba31 Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sun, 20 Oct 2024 09:47:31 +0700 Subject: [PATCH 17/27] Hopefully fix driver load issues --- pkgs/osu-stable/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/osu-stable/default.nix b/pkgs/osu-stable/default.nix index 96475ad1..0cbc76d2 100644 --- a/pkgs/osu-stable/default.nix +++ b/pkgs/osu-stable/default.nix @@ -60,7 +60,7 @@ export PROTON_VERBS="${lib.strings.concatStringsSep "," protonVerbs}" export PROTONPATH="${protonPath}" - export LD_LIBRARY_PATH="/run/opengl-driver-32/lib":$LD_LIBRARY_PATH + export LD_LIBRARY_PATH=/run/opengl-driver-32/lib/dri:$LD_LIBRARY_PATH if [ ! -d "$WINEPREFIX" ]; then umu-run winetricks ${tricksFmt} From 5316720d81fe34be7ca04db6060d0e2c10c00c85 Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sun, 20 Oct 2024 09:53:20 +0700 Subject: [PATCH 18/27] Try to fix driver issues again --- pkgs/osu-stable/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/osu-stable/default.nix b/pkgs/osu-stable/default.nix index 0cbc76d2..6f0260d9 100644 --- a/pkgs/osu-stable/default.nix +++ b/pkgs/osu-stable/default.nix @@ -60,7 +60,7 @@ export PROTON_VERBS="${lib.strings.concatStringsSep "," protonVerbs}" export PROTONPATH="${protonPath}" - export LD_LIBRARY_PATH=/run/opengl-driver-32/lib/dri:$LD_LIBRARY_PATH + export LIBGL_DRIVERS_PATH=/run/opengl-driver-32/lib/dri if [ ! -d "$WINEPREFIX" ]; then umu-run winetricks ${tricksFmt} From 6193b4cf81edc1e676bfa306d8f5fe93d3ce11cd Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sun, 20 Oct 2024 10:04:10 +0700 Subject: [PATCH 19/27] Tweak library and driver handling more --- pkgs/osu-stable/default.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/pkgs/osu-stable/default.nix b/pkgs/osu-stable/default.nix index 6f0260d9..7d313c45 100644 --- a/pkgs/osu-stable/default.nix +++ b/pkgs/osu-stable/default.nix @@ -60,6 +60,7 @@ export PROTON_VERBS="${lib.strings.concatStringsSep "," protonVerbs}" export PROTONPATH="${protonPath}" + export LD_LIBRARY_PATH=/run/opengl-driver-32/lib:/run/opengl-driver-32/lib/dri:$LD_LIBRARY_PATH export LIBGL_DRIVERS_PATH=/run/opengl-driver-32/lib/dri if [ ! -d "$WINEPREFIX" ]; then From 2e77502084873fef40662173503b9cbe84b620f7 Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sun, 20 Oct 2024 10:10:11 +0700 Subject: [PATCH 20/27] Add more attempts to fix broken drivers --- pkgs/osu-stable/default.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pkgs/osu-stable/default.nix b/pkgs/osu-stable/default.nix index 7d313c45..5cf2cae9 100644 --- a/pkgs/osu-stable/default.nix +++ b/pkgs/osu-stable/default.nix @@ -60,8 +60,7 @@ export PROTON_VERBS="${lib.strings.concatStringsSep "," protonVerbs}" export PROTONPATH="${protonPath}" - export LD_LIBRARY_PATH=/run/opengl-driver-32/lib:/run/opengl-driver-32/lib/dri:$LD_LIBRARY_PATH - export LIBGL_DRIVERS_PATH=/run/opengl-driver-32/lib/dri + export LD_LIBRARY_PATH=/run/opengl-driver/lib/dri:/run/opengl-driver-32/lib/dri:$LD_LIBRARY_PATH if [ ! -d "$WINEPREFIX" ]; then umu-run winetricks ${tricksFmt} From 772247b0e15766463052e21b6aef959578762c2e Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sun, 20 Oct 2024 10:34:08 +0700 Subject: [PATCH 21/27] Fix drivers, attempt 8 --- pkgs/osu-stable/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/osu-stable/default.nix b/pkgs/osu-stable/default.nix index 5cf2cae9..0acb09b3 100644 --- a/pkgs/osu-stable/default.nix +++ b/pkgs/osu-stable/default.nix @@ -60,7 +60,7 @@ export PROTON_VERBS="${lib.strings.concatStringsSep "," protonVerbs}" export PROTONPATH="${protonPath}" - export LD_LIBRARY_PATH=/run/opengl-driver/lib/dri:/run/opengl-driver-32/lib/dri:$LD_LIBRARY_PATH + export LIBGL_DRIVERS_PATH=/run/opengl-driver/lib/dri if [ ! -d "$WINEPREFIX" ]; then umu-run winetricks ${tricksFmt} From f227a7b1083d468c982dff68e55bde4bff2a298d Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sun, 20 Oct 2024 10:37:29 +0700 Subject: [PATCH 22/27] Retry putting 32-bit first in LD_LIBRARY_PATH --- pkgs/osu-stable/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/osu-stable/default.nix b/pkgs/osu-stable/default.nix index 0acb09b3..67c0ed93 100644 --- a/pkgs/osu-stable/default.nix +++ b/pkgs/osu-stable/default.nix @@ -60,7 +60,7 @@ export PROTON_VERBS="${lib.strings.concatStringsSep "," protonVerbs}" export PROTONPATH="${protonPath}" - export LIBGL_DRIVERS_PATH=/run/opengl-driver/lib/dri + export LD_LIBRARY_PATH=/run/opengl-driver-32/lib/dri:/run/opengl-driver/lib/dri:$LD_LIBRARY_PATH if [ ! -d "$WINEPREFIX" ]; then umu-run winetricks ${tricksFmt} From fff7e770f1eb19db3f22e09040a29747316a8cc0 Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Sun, 20 Oct 2024 11:16:25 +0700 Subject: [PATCH 23/27] Just get the package into a PR-ready state for now --- pkgs/osu-stable/default.nix | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/pkgs/osu-stable/default.nix b/pkgs/osu-stable/default.nix index 67c0ed93..cafa4cd2 100644 --- a/pkgs/osu-stable/default.nix +++ b/pkgs/osu-stable/default.nix @@ -60,14 +60,12 @@ export PROTON_VERBS="${lib.strings.concatStringsSep "," protonVerbs}" export PROTONPATH="${protonPath}" - export LD_LIBRARY_PATH=/run/opengl-driver-32/lib/dri:/run/opengl-driver/lib/dri:$LD_LIBRARY_PATH - if [ ! -d "$WINEPREFIX" ]; then umu-run winetricks ${tricksFmt} fi if [ ! -f "$OSU" ]; then - umu-run ${src} /norestart + umu-run ${src} mv "$WINEPREFIX/drive_c/users/steamuser/AppData/Local/osu!" $WINEPREFIX/drive_c/osu fi '' From 45a50c4bb2917a5c00373491f0840b6e0417765b Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Wed, 23 Oct 2024 07:55:51 +0700 Subject: [PATCH 24/27] Fix alejandra formatting --- pkgs/proton-osu/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/proton-osu/default.nix b/pkgs/proton-osu/default.nix index 767f1aaf..b57d5b4e 100644 --- a/pkgs/proton-osu/default.nix +++ b/pkgs/proton-osu/default.nix @@ -3,7 +3,6 @@ stdenvNoCC, fetchzip }: - stdenvNoCC.mkDerivation (finalAttrs: { pname = "proton-osu-bin"; version = "proton-osu-9-7"; From 5d2f74009b578176179429bbc328019ee210bf7b Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Wed, 23 Oct 2024 07:58:22 +0700 Subject: [PATCH 25/27] Rename proton-osu to follow proton-ge-bin convention --- pkgs/default.nix | 4 ++-- pkgs/osu-stable/default.nix | 4 ++-- pkgs/{proton-osu => proton-osu-bin}/README.md | 2 +- pkgs/{proton-osu => proton-osu-bin}/default.nix | 0 4 files changed, 5 insertions(+), 5 deletions(-) rename pkgs/{proton-osu => proton-osu-bin}/README.md (85%) rename pkgs/{proton-osu => proton-osu-bin}/default.nix (100%) diff --git a/pkgs/default.nix b/pkgs/default.nix index 2fabac2c..7449d211 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -62,7 +62,7 @@ }; osu-stable = pkgs.callPackage ./osu-stable { - inherit (config.packages) osu-mime proton-osu umu; + inherit (config.packages) osu-mime proton-osu-bin umu; wine = config.packages.wine-osu; wine-discord-ipc-bridge = config.packages.wine-discord-ipc-bridge.override {wine = config.packages.wine-osu;}; }; @@ -80,7 +80,7 @@ ''; }; - proton-osu = pkgs.callPackage ./proton-osu {}; + proton-osu-bin = pkgs.callPackage ./proton-osu-bin {}; roblox-player = pkgs.callPackage ./roblox-player { wine = config.packages.wine-tkg; diff --git a/pkgs/osu-stable/default.nix b/pkgs/osu-stable/default.nix index cafa4cd2..50f94cd2 100644 --- a/pkgs/osu-stable/default.nix +++ b/pkgs/osu-stable/default.nix @@ -8,12 +8,12 @@ winetricks, wine, umu, - proton-osu, + proton-osu-bin, wineFlags ? "", pname ? "osu-stable", location ? "$HOME/.osu", useUmu ? false, - protonPath ? "${proton-osu.steamcompattool}", + protonPath ? "${proton-osu-bin.steamcompattool}", protonVerbs ? ["waitforexitandrun"], tricks ? ["gdiplus" "dotnet45" "meiryo"], preCommands ? "", diff --git a/pkgs/proton-osu/README.md b/pkgs/proton-osu-bin/README.md similarity index 85% rename from pkgs/proton-osu/README.md rename to pkgs/proton-osu-bin/README.md index 2a1ddcb0..3942a08e 100644 --- a/pkgs/proton-osu/README.md +++ b/pkgs/proton-osu-bin/README.md @@ -1,4 +1,4 @@ -# proton-osu +# proton-osu-bin Build of Wine/Proton with various patches, such as low-latency audio. Intended to be used with osu!. diff --git a/pkgs/proton-osu/default.nix b/pkgs/proton-osu-bin/default.nix similarity index 100% rename from pkgs/proton-osu/default.nix rename to pkgs/proton-osu-bin/default.nix From 5941d62ad4412785c709f8d072b18e6ce686ed31 Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Wed, 23 Oct 2024 08:01:54 +0700 Subject: [PATCH 26/27] Fix alejandra formatting, again --- pkgs/proton-osu-bin/default.nix | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pkgs/proton-osu-bin/default.nix b/pkgs/proton-osu-bin/default.nix index b57d5b4e..ab0f0a3b 100644 --- a/pkgs/proton-osu-bin/default.nix +++ b/pkgs/proton-osu-bin/default.nix @@ -1,7 +1,7 @@ { lib, stdenvNoCC, - fetchzip + fetchzip, }: stdenvNoCC.mkDerivation (finalAttrs: { pname = "proton-osu-bin"; @@ -35,6 +35,7 @@ stdenvNoCC.mkDerivation (finalAttrs: { ''; homepage = "https://github.com/whrvt/umubuilder"; license = lib.licenses.gpl3Plus; - platforms = [ "x86_64-linux" ]; + platforms = ["x86_64-linux"]; }; }) + From af46e7ffcd9c2748d68996f3a5f700c890cd63f1 Mon Sep 17 00:00:00 2001 From: ProspectPyxis Date: Wed, 23 Oct 2024 08:07:21 +0700 Subject: [PATCH 27/27] Actually properly fix alejandra formatting --- pkgs/proton-osu-bin/default.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/pkgs/proton-osu-bin/default.nix b/pkgs/proton-osu-bin/default.nix index ab0f0a3b..20531893 100644 --- a/pkgs/proton-osu-bin/default.nix +++ b/pkgs/proton-osu-bin/default.nix @@ -38,4 +38,3 @@ stdenvNoCC.mkDerivation (finalAttrs: { platforms = ["x86_64-linux"]; }; }) -