From 131c52738db1f1c96b024d8bd1459fdfabd31c7b Mon Sep 17 00:00:00 2001 From: jecaro Date: Sat, 7 Feb 2026 15:49:07 +0100 Subject: [PATCH 1/2] Add pegasus frontend --- system/configuration.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/system/configuration.nix b/system/configuration.nix index 4aff98a..acb1081 100644 --- a/system/configuration.nix +++ b/system/configuration.nix @@ -54,6 +54,7 @@ environment.systemPackages = [ pkgs.alsa-utils pkgs.cs-hud + pkgs.pegasus-frontend pkgs.retroarch pkgs.vim pkgs.wiringpi From 109e2b578342c6bf27afc6e96188f6ac3b56050c Mon Sep 17 00:00:00 2001 From: jecaro Date: Thu, 12 Feb 2026 14:45:18 +0100 Subject: [PATCH 2/2] Make pegasus build with the kms patch --- flake.nix | 17 +++++++++++++++-- private-headers.diff | 22 ++++++++++++++++++++++ 2 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 private-headers.diff diff --git a/flake.nix b/flake.nix index 60e1604..059771c 100644 --- a/flake.nix +++ b/flake.nix @@ -49,11 +49,20 @@ , ... }: let + pegasus-overlay = + (final: prev: { + pegasus-frontend = prev.pegasus-frontend.overrideAttrs (old: { + patches = [ "${old.src}/etc/rpi4/kms_launch_fix.diff" ./private-headers.diff ]; + }); + }); pkgs = import nixpkgs { system = "x86_64-linux"; overlays = (import ./overlays/arduino arduino-nix arduino-index) ++ - [ (import ./overlays/cs-firmware) ]; + [ + (import ./overlays/cs-firmware) + pegasus-overlay + ]; }; cs-firmware = pkgs.cs-firmware; @@ -93,12 +102,14 @@ (import ./overlays/alsa-utils.nix) (import ./overlays/cs-hud) (import ./overlays/flash-cs-firmware.nix) - (import ./overlays/mesa.nix) + # Use the default mesa package for now + # (import ./overlays/mesa.nix) (import ./overlays/ovmerge.nix ovmerge-src) (import ./overlays/retroarch.nix retroarch-src) (import ./overlays/rtl8723-firmware.nix) (import ./overlays/uboot.nix) (import ./overlays/wiringpi) + pegasus-overlay ] ++ (import ./overlays/arduino arduino-nix arduino-index); }; }) @@ -114,6 +125,8 @@ }; packages.x86_64-linux.cs-firmware = cs-firmware; + # To debug the build on the host + packages.x86_64-linux.pegasus-frontend = pkgs.pegasus-frontend; devShell.x86_64-linux = pkgs.mkShell { diff --git a/private-headers.diff b/private-headers.diff new file mode 100644 index 0000000..f29f2fa --- /dev/null +++ b/private-headers.diff @@ -0,0 +1,22 @@ +diff --git a/src/backend/CMakeLists.txt b/src/backend/CMakeLists.txt +index 08de0be7..88ea34e5 100644 +--- a/src/backend/CMakeLists.txt ++++ b/src/backend/CMakeLists.txt +@@ -43,6 +43,7 @@ pegasus_require_qt(COMPONENTS + Multimedia + Sql + Svg ++ EglFSDeviceIntegration + ) + target_link_libraries(pegasus-backend PUBLIC + Qt::Qml +@@ -52,6 +53,9 @@ target_link_libraries(pegasus-backend PUBLIC + Qt::Svg + SortFilterProxyModel + ) ++target_include_directories(pegasus-backend PRIVATE ++ ${Qt5EglFSDeviceIntegration_PRIVATE_INCLUDE_DIRS} ++) + + include(PegasusCommonProps) + pegasus_add_common_props_optimized(pegasus-backend)