From 1347f9ef290c089b815cf186f7d361470bdb9ef7 Mon Sep 17 00:00:00 2001 From: Alex Shek Date: Thu, 9 Apr 2026 12:30:46 +0800 Subject: [PATCH] fix(postins): allow running on rpm-ostree environments --- src_assets/linux/misc/postinst | 47 +++++++++++++++------------------- 1 file changed, 20 insertions(+), 27 deletions(-) diff --git a/src_assets/linux/misc/postinst b/src_assets/linux/misc/postinst index bc1e555dd42..aab37289588 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 +# 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 +# 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 "rpm-ostree environment detected, skipping post install steps. Restart to apply the changes." + echo "error: udevadm not found or not executable." fi