From 379242ec995bb26d4c92656d2e63d03d7cc15081 Mon Sep 17 00:00:00 2001 From: Alex Shek <82931936+ykshek@users.noreply.github.com> Date: Sat, 11 Apr 2026 03:19:30 +0800 Subject: [PATCH] fix(linux/postins): allow running on rpm-ostree environments (#4963) --- src_assets/linux/misc/postinst | 49 +++++++++++++++------------------- 1 file changed, 21 insertions(+), 28 deletions(-) diff --git a/src_assets/linux/misc/postinst b/src_assets/linux/misc/postinst index bc1e555dd..aab372895 100644 --- a/src_assets/linux/misc/postinst +++ b/src_assets/linux/misc/postinst @@ -4,33 +4,26 @@ echo "Loading uhid kernel module for DS5 emulation." modprobe uhid -# Check if we're in an rpm-ostree environment -if [ ! -x "$(command -v rpm-ostree)" ]; then - echo "Not in an rpm-ostree environment, proceeding with post install steps." - - # Ensure Sunshine can grab images from KMS - path_to_setcap=$(which setcap) - path_to_sunshine=$(readlink -f "$(which sunshine)") - if [ -x "$path_to_setcap" ] ; then - echo "Setting CAP_SYS_ADMIN, CAP_SYS_NICE capabilities on Sunshine binary." - echo "$path_to_setcap cap_sys_admin,cap_sys_nice+p $path_to_sunshine" - $path_to_setcap cap_sys_admin,cap_sys_nice+p $path_to_sunshine - echo "CAP_SYS_ADMIN, CAP_SYS_NICE capabilities set on Sunshine binary." - else - echo "error: setcap not found or not executable." - fi - - # Trigger udev rule reload for /dev/uinput and /dev/uhid - path_to_udevadm=$(which udevadm) - if [ -x "$path_to_udevadm" ] ; then - echo "Reloading udev rules." - $path_to_udevadm control --reload-rules - $path_to_udevadm trigger --property-match=DEVNAME=/dev/uinput - $path_to_udevadm trigger --property-match=DEVNAME=/dev/uhid - echo "Udev rules reloaded successfully." - else - echo "error: udevadm not found or not executable." - fi +# Ensure Sunshine can grab images from KMS +path_to_setcap=$(which setcap) +path_to_sunshine=$(readlink -f "$(which sunshine)") +if [ -x "$path_to_setcap" ] ; then + echo "Setting CAP_SYS_ADMIN, CAP_SYS_NICE capabilities on Sunshine binary." + echo "$path_to_setcap cap_sys_admin,cap_sys_nice+p $path_to_sunshine" + $path_to_setcap cap_sys_admin,cap_sys_nice+p $path_to_sunshine + echo "CAP_SYS_ADMIN, CAP_SYS_NICE capabilities set on Sunshine binary." else - echo "rpm-ostree environment detected, skipping post install steps. Restart to apply the changes." + echo "error: setcap not found or not executable." +fi + +# Trigger udev rule reload for /dev/uinput and /dev/uhid +path_to_udevadm=$(which udevadm) +if [ -x "$path_to_udevadm" ] ; then + echo "Reloading udev rules." + $path_to_udevadm control --reload-rules + $path_to_udevadm trigger --property-match=DEVNAME=/dev/uinput + $path_to_udevadm trigger --property-match=DEVNAME=/dev/uhid + echo "Udev rules reloaded successfully." +else + echo "error: udevadm not found or not executable." fi