Compare commits

...

5 commits

Author SHA1 Message Date
85c3c570dd Flake: add nixpkgs patches
Update and fix rpcs3 package
2025-04-27 00:23:28 +02:00
db6366a491 Flake: update lock file 2025-04-27 00:21:53 +02:00
f8140164d1 Desktop/jamesdsp: remove old build fix
Patch that fixes the build is already upstreamed, so this is entirely
  unneeded. Not even sure how it still compiled with the fix twize tbh
2025-04-25 10:57:31 +02:00
1a927b60be Keep nixpkgs-patches folder 2025-04-24 11:19:19 +02:00
f06d9b0e01 Machines/WinMax2: don't disable direct scanout 2025-04-19 19:03:30 +02:00
7 changed files with 211 additions and 57 deletions

74
flake.lock generated
View file

@ -28,11 +28,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1743414153,
"narHash": "sha256-bFIXz7SvLlSNR4M3vYPYS1CpEN9vTUiH01R4iR/BDmA=",
"lastModified": 1745571143,
"narHash": "sha256-BndQEgBtQh6kPC+2PYdf9iWTSmrbaPjTFkVei2OtuKk=",
"owner": "catppuccin",
"repo": "nix",
"rev": "2f52f9ead26f80d7b391cedcbb3eb309bd83fff4",
"rev": "19919d666ead54e97f7886813db08f76ae0981dc",
"type": "github"
},
"original": {
@ -167,11 +167,11 @@
]
},
"locked": {
"lastModified": 1743648554,
"narHash": "sha256-23JFd+zd2GamTTdnGuFVeIg8x8C3hLpQJRh/PGTORzo=",
"lastModified": 1745555634,
"narHash": "sha256-lhVyVn1utb2UVTbyKJ6mfKB7wLTjrj14OlebvO0WU2s=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "107352dde4ff3c01cb5a0b3fe17f5beef37215bc",
"rev": "98f4fef7fd7b4a77245db12e33616023162bc6d9",
"type": "github"
},
"original": {
@ -187,11 +187,11 @@
]
},
"locked": {
"lastModified": 1743387206,
"narHash": "sha256-24N3NAuZZbYqZ39NgToZgHUw6M7xHrtrAm18kv0+2Wo=",
"lastModified": 1745557122,
"narHash": "sha256-eqSo9ugzsqhFgaDFYUZj943nurlX4L6f+AW0skJ4W+M=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "15c5f9d04fabd176f30286c8f52bbdb2c853a146",
"rev": "dd26f75fb4ec1c731d4b1396eaf4439ce40a91c1",
"type": "github"
},
"original": {
@ -209,11 +209,11 @@
]
},
"locked": {
"lastModified": 1743660830,
"narHash": "sha256-ezJqPIuB25iMJeugwHKWnB1DjMvrdpkrPxE3TCULjGk=",
"lastModified": 1745487384,
"narHash": "sha256-WvQ4XXi0vMtEpPqhfo8ztxjeaeHkbW5tfR4O5+w8r5U=",
"owner": "Jovian-Experiments",
"repo": "Jovian-NixOS",
"rev": "c7ade1c8fe2bdb70d38b3b9a97b874dcaf33b755",
"rev": "0168e4a65c9d43c22ac38ff27f5fa31c7d535148",
"type": "github"
},
"original": {
@ -225,11 +225,11 @@
"lix": {
"flake": false,
"locked": {
"lastModified": 1743523803,
"narHash": "sha256-L/8tnMbfwOmRXRrzzDJBlkRUiVOxy8cxWTdaN3n3AGI=",
"rev": "5a7e9e17464008904403af4297823443281bef12",
"lastModified": 1745521626,
"narHash": "sha256-+7DQIKTkvpWYz8bjYfye9T61C5QAUKPEy1YCsXUDCkE=",
"rev": "a133633ecc4ca3aed65899cb37c17601c95f5b2b",
"type": "tarball",
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/5a7e9e17464008904403af4297823443281bef12.tar.gz?rev=5a7e9e17464008904403af4297823443281bef12"
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/a133633ecc4ca3aed65899cb37c17601c95f5b2b.tar.gz?rev=a133633ecc4ca3aed65899cb37c17601c95f5b2b"
},
"original": {
"type": "tarball",
@ -284,11 +284,11 @@
},
"nix-flatpak": {
"locked": {
"lastModified": 1741903049,
"narHash": "sha256-8Y8brH04JjSLrCLvBEbhK9vOu7lhQhqUBW4kI3tifdI=",
"lastModified": 1744659587,
"narHash": "sha256-xJnbmRVte13akgn+Prg06IaRHJ5OX3uVltwsCP/mxoc=",
"owner": "gmodena",
"repo": "nix-flatpak",
"rev": "42c7fb2702219b86a8f5969c3475ce594c28f5d0",
"rev": "928d868a9141b48f152d3b2b00c433e688d4b106",
"type": "github"
},
"original": {
@ -342,11 +342,11 @@
]
},
"locked": {
"lastModified": 1743306489,
"narHash": "sha256-LROaIjSLo347cwcHRfSpqzEOa2FoLSeJwU4dOrGm55E=",
"lastModified": 1745120797,
"narHash": "sha256-owQ0VQ+7cSanTVPxaZMWEzI22Q4bGnuvhVjLAJBNQ3E=",
"owner": "Mic92",
"repo": "nix-index-database",
"rev": "b3696bfb6c24aa61428839a99e8b40c53ac3a82d",
"rev": "69716041f881a2af935021c1182ed5b0cc04d40e",
"type": "github"
},
"original": {
@ -362,11 +362,11 @@
]
},
"locked": {
"lastModified": 1743306489,
"narHash": "sha256-LROaIjSLo347cwcHRfSpqzEOa2FoLSeJwU4dOrGm55E=",
"lastModified": 1745120797,
"narHash": "sha256-owQ0VQ+7cSanTVPxaZMWEzI22Q4bGnuvhVjLAJBNQ3E=",
"owner": "Mic92",
"repo": "nix-index-database",
"rev": "b3696bfb6c24aa61428839a99e8b40c53ac3a82d",
"rev": "69716041f881a2af935021c1182ed5b0cc04d40e",
"type": "github"
},
"original": {
@ -377,11 +377,11 @@
},
"nixos-hardware": {
"locked": {
"lastModified": 1743420942,
"narHash": "sha256-b/exDDQSLmENZZgbAEI3qi9yHkuXAXCPbormD8CSJXo=",
"lastModified": 1745503349,
"narHash": "sha256-bUGjvaPVsOfQeTz9/rLTNLDyqbzhl0CQtJJlhFPhIYw=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "de6fc5551121c59c01e2a3d45b277a6d05077bc4",
"rev": "f7bee55a5e551bd8e7b5b82c9bc559bc50d868d1",
"type": "github"
},
"original": {
@ -393,11 +393,11 @@
},
"nixpkgs": {
"locked": {
"lastModified": 1742889210,
"narHash": "sha256-hw63HnwnqU3ZQfsMclLhMvOezpM7RSB0dMAtD5/sOiw=",
"lastModified": 1744463964,
"narHash": "sha256-LWqduOgLHCFxiTNYi3Uj5Lgz0SR+Xhw3kr/3Xd0GPTM=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "698214a32beb4f4c8e3942372c694f40848b360d",
"rev": "2631b0b7abcea6e640ce31cd78ea58910d31e650",
"type": "github"
},
"original": {
@ -409,11 +409,11 @@
},
"nixpkgs-raw": {
"locked": {
"lastModified": 1743576891,
"narHash": "sha256-vXiKURtntURybE6FMNFAVpRPr8+e8KoLPrYs9TGuAKc=",
"lastModified": 1745487689,
"narHash": "sha256-FQoi3R0NjQeBAsEOo49b5tbDPcJSMWc3QhhaIi9eddw=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "44a69ed688786e98a101f02b712c313f1ade37ab",
"rev": "5630cf13cceac06cefe9fc607e8dfa8fb342dde3",
"type": "github"
},
"original": {
@ -424,11 +424,11 @@
},
"nixpkgs-unstable-raw": {
"locked": {
"lastModified": 1743583204,
"narHash": "sha256-F7n4+KOIfWrwoQjXrL2wD9RhFYLs2/GGe/MQY1sSdlE=",
"lastModified": 1745391562,
"narHash": "sha256-sPwcCYuiEopaafePqlG826tBhctuJsLx/mhKKM5Fmjo=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2c8d3f48d33929642c1c12cd243df4cc7d2ce434",
"rev": "8a2f738d9d1f1d986b5a4cd2fd2061a7127237d7",
"type": "github"
},
"original": {

View file

@ -97,6 +97,8 @@
name = "patched-nixpkgs-unstable";
src = nixpkgs-unstable-raw;
patches = [
./nixpkgs-patches/pr400900.patch
./nixpkgs-patches/pr386360.patch
];
};
nixpkgs-patched = nixpkgs-raw.legacyPackages.x86_64-linux.applyPatches {

View file

@ -36,9 +36,6 @@
networking.hostName = "WinMax2"; # Define your hostname.
# Direct scanout has some issues with my egpu so I just disable it
environment.sessionVariables."KWIN_DRM_NO_DIRECT_SCANOUT" = 1;
# Sleep fixes
boot.kernelParams = ["rtc_cmos.use_acpi_alarm=1" "panic=5"];
services.udev.extraRules = ''

0
nixpkgs-patches/.gitkeep Normal file
View file

View file

@ -0,0 +1,71 @@
From ec004ef5f30f4ea66ce0b77bab5ce778883aff5d Mon Sep 17 00:00:00 2001
From: Zane van Iperen <zane@zanevaniperen.com>
Date: Tue, 1 Apr 2025 20:23:42 +0900
Subject: [PATCH] rpcs3: 0.0.34-17323-92d070729 -> 0.0.36-17736-c86a25079
---
pkgs/by-name/rp/rpcs3/package.nix | 20 +++++++++++++-------
1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/pkgs/by-name/rp/rpcs3/package.nix b/pkgs/by-name/rp/rpcs3/package.nix
index 779d9048ca0ea0..dc39a9bc61e384 100644
--- a/pkgs/by-name/rp/rpcs3/package.nix
+++ b/pkgs/by-name/rp/rpcs3/package.nix
@@ -21,12 +21,14 @@
python3,
pugixml,
flatbuffers,
- llvm_16,
+ llvm_18,
cubeb,
+ opencv,
enableDiscordRpc ? false,
faudioSupport ? true,
faudio,
SDL2,
+ sdl3,
waylandSupport ? true,
wayland,
wrapGAppsHook3,
@@ -34,10 +36,10 @@
let
# Keep these separate so the update script can regex them
- rpcs3GitVersion = "17323-92d070729";
- rpcs3Version = "0.0.34-17323-92d070729";
- rpcs3Revision = "92d07072915b99917892dd7833c06eb44a09e234";
- rpcs3Hash = "sha256-GH2sXw1AYdqwzxucXFhVS0nM0eRhC+XDHS6RTZY8pYY=";
+ rpcs3GitVersion = "17736-c86a25079";
+ rpcs3Version = "0.0.36-17736-c86a25079";
+ rpcs3Revision = "c86a25079518032d73395a79979970acb2581a91";
+ rpcs3Hash = "sha256-e+mT3qn1oz1fh2bqu5YM+m774Can34If57Kd1T1EGbk=";
inherit (qt6Packages)
qtbase
@@ -77,9 +79,11 @@ stdenv.mkDerivation {
(lib.cmakeBool "USE_SYSTEM_CURL" true)
(lib.cmakeBool "USE_SYSTEM_WOLFSSL" true)
(lib.cmakeBool "USE_SYSTEM_FAUDIO" true)
+ (lib.cmakeBool "USE_SYSTEM_OPENAL" true)
(lib.cmakeBool "USE_SYSTEM_PUGIXML" true)
(lib.cmakeBool "USE_SYSTEM_FLATBUFFERS" true)
(lib.cmakeBool "USE_SYSTEM_SDL" true)
+ (lib.cmakeBool "USE_SYSTEM_OPENCV" true)
(lib.cmakeBool "USE_SDL" true)
(lib.cmakeBool "WITH_LLVM" true)
(lib.cmakeBool "BUILD_LLVM" false)
@@ -115,10 +119,12 @@ stdenv.mkDerivation {
wolfssl
python3
pugixml
- SDL2
+ SDL2 # Still needed by FAudio's CMake
+ sdl3
flatbuffers
- llvm_16
+ llvm_18
libSM
+ opencv
]
++ cubeb.passthru.backendLibs
++ lib.optional faudioSupport faudio

View file

@ -0,0 +1,101 @@
From 66e2bdbc88f1985c0960c29e991ffcbb8b180cc0 Mon Sep 17 00:00:00 2001
From: Marcin Serwin <marcin@serwin.dev>
Date: Tue, 22 Apr 2025 20:04:11 +0200
Subject: [PATCH] rpcs3: unbreak
---
.../rp/rpcs3/fix-qt6.9-compilation.patch | 68 +++++++++++++++++++
pkgs/by-name/rp/rpcs3/package.nix | 5 ++
2 files changed, 73 insertions(+)
create mode 100644 pkgs/by-name/rp/rpcs3/fix-qt6.9-compilation.patch
diff --git a/pkgs/by-name/rp/rpcs3/fix-qt6.9-compilation.patch b/pkgs/by-name/rp/rpcs3/fix-qt6.9-compilation.patch
new file mode 100644
index 00000000000000..13ca314d3022ba
--- /dev/null
+++ b/pkgs/by-name/rp/rpcs3/fix-qt6.9-compilation.patch
@@ -0,0 +1,68 @@
+From 600e4604169464c64cbf548e7629e483ad2aad1e Mon Sep 17 00:00:00 2001
+From: Megamouse <studienricky89@googlemail.com>
+Date: Mon, 7 Apr 2025 20:49:15 +0200
+Subject: [PATCH] Fix compilation with newer Qt
+
+---
+ rpcs3/rpcs3qt/game_list_base.cpp | 2 +-
+ rpcs3/rpcs3qt/game_list_frame.cpp | 4 ++--
+ rpcs3/rpcs3qt/ps_move_tracker_dialog.cpp | 4 ++--
+ 3 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/rpcs3/rpcs3qt/game_list_base.cpp b/rpcs3/rpcs3qt/game_list_base.cpp
+index 72b45d33bfbb..21640906ee7e 100644
+--- a/rpcs3/rpcs3qt/game_list_base.cpp
++++ b/rpcs3/rpcs3qt/game_list_base.cpp
+@@ -25,7 +25,7 @@ void game_list_base::repaint_icons(std::vector<game_info>& game_data, const QCol
+ for (game_info& game : game_data)
+ {
+ game->pxmap = placeholder;
+-
++
+ if (movie_item_base* item = game->item)
+ {
+ item->set_icon_load_func([this, game, device_pixel_ratio, cancel = item->icon_loading_aborted()](int)
+diff --git a/rpcs3/rpcs3qt/game_list_frame.cpp b/rpcs3/rpcs3qt/game_list_frame.cpp
+index a294d69cc68e..439913760053 100644
+--- a/rpcs3/rpcs3qt/game_list_frame.cpp
++++ b/rpcs3/rpcs3qt/game_list_frame.cpp
+@@ -2363,7 +2363,7 @@ void game_list_frame::BatchActionBySerials(progress_dialog* pdlg, const std::set
+
+ connect(future_watcher, &QFutureWatcher<void>::finished, this, [=, this]()
+ {
+- pdlg->setLabelText(progressLabel.arg(*index).arg(serials_size));
++ pdlg->setLabelText(progressLabel.arg(index->load()).arg(serials_size));
+ pdlg->setCancelButtonText(tr("OK"));
+ QApplication::beep();
+
+@@ -2396,7 +2396,7 @@ void game_list_frame::BatchActionBySerials(progress_dialog* pdlg, const std::set
+ return;
+ }
+
+- pdlg->setLabelText(progressLabel.arg(*index).arg(serials_size));
++ pdlg->setLabelText(progressLabel.arg(index->load()).arg(serials_size));
+ pdlg->setCancelButtonText(tr("OK"));
+ connect(pdlg, &progress_dialog::canceled, this, [pdlg](){ pdlg->deleteLater(); });
+ QApplication::beep();
+diff --git a/rpcs3/rpcs3qt/ps_move_tracker_dialog.cpp b/rpcs3/rpcs3qt/ps_move_tracker_dialog.cpp
+index 45fbe6f59e7d..4b9bc5dd6e4f 100644
+--- a/rpcs3/rpcs3qt/ps_move_tracker_dialog.cpp
++++ b/rpcs3/rpcs3qt/ps_move_tracker_dialog.cpp
+@@ -362,7 +362,7 @@ void ps_move_tracker_dialog::update_saturation_threshold(bool update_slider)
+ }
+ void ps_move_tracker_dialog::update_min_radius(bool update_slider)
+ {
+- ui->minRadiusGb->setTitle(tr("Min Radius: %0 %").arg(g_cfg_move.min_radius));
++ ui->minRadiusGb->setTitle(tr("Min Radius: %0 %").arg(g_cfg_move.min_radius.get()));
+
+ if (update_slider)
+ {
+@@ -372,7 +372,7 @@ void ps_move_tracker_dialog::update_min_radius(bool update_slider)
+
+ void ps_move_tracker_dialog::update_max_radius(bool update_slider)
+ {
+- ui->maxRadiusGb->setTitle(tr("Max Radius: %0 %").arg(g_cfg_move.max_radius));
++ ui->maxRadiusGb->setTitle(tr("Max Radius: %0 %").arg(g_cfg_move.max_radius.get()));
+
+ if (update_slider)
+ {
diff --git a/pkgs/by-name/rp/rpcs3/package.nix b/pkgs/by-name/rp/rpcs3/package.nix
index 779d9048ca0ea0..b633453a77e61d 100644
--- a/pkgs/by-name/rp/rpcs3/package.nix
+++ b/pkgs/by-name/rp/rpcs3/package.nix
@@ -58,6 +58,11 @@ stdenv.mkDerivation {
hash = rpcs3Hash;
};
+ patches = [
+ # Modified from https://github.com/RPCS3/rpcs3/pull/17009; doesn't apply cleanly due to intermediate commits
+ ./fix-qt6.9-compilation.patch
+ ];
+
passthru.updateScript = ./update.sh;
preConfigure = ''

View file

@ -4,21 +4,4 @@
jamesdsp
];
};
nixpkgs.overlays = [
(
final: prev: {
# https://github.com/wwmm/easyeffects/commit/38bef46bffdb535e2a70c3332719c557ff577e56
jamesdsp = prev.jamesdsp.overrideAttrs {
patchPhase = ''
substituteInPlace src/audio/pipewire/PwPipelineManager.cpp \
--replace-fail "pw_node_add_listener" "pw_proxy_add_object_listener" \
--replace-fail "pw_link_add_listener" "pw_proxy_add_object_listener" \
--replace-fail "pw_module_add_listener" "pw_proxy_add_object_listener" \
--replace-fail "pw_client_add_listener" "pw_proxy_add_object_listener" \
--replace-fail "pw_device_add_listener" "pw_proxy_add_object_listener"
'';
};
}
)
];
}