mirror of
https://github.com/thinkonmay/sunshine-sdk.git
synced 2026-01-14 03:35:47 +00:00
Apply udev rules to /dev/uinput immediately after installation
This commit is contained in:
parent
3117fa57ec
commit
3181d91edf
@ -195,11 +195,14 @@ Install
|
||||
|
||||
Sunshine needs access to `uinput` to create mouse and gamepad events.
|
||||
|
||||
#. Create `udev` rules.
|
||||
#. Create and reload `udev` rules for uinput.
|
||||
.. code-block:: bash
|
||||
|
||||
echo 'KERNEL=="uinput", SUBSYSTEM=="misc", OPTIONS+="static_node=uinput", TAG+="uaccess"' | \
|
||||
sudo tee /etc/udev/rules.d/60-sunshine.rules
|
||||
sudo udevadm control --reload-rules
|
||||
sudo udevadm trigger
|
||||
sudo modprobe uinput
|
||||
|
||||
#. Optionally, configure autostart service
|
||||
|
||||
|
||||
@ -47,6 +47,8 @@ function install() {
|
||||
# user input rules
|
||||
# shellcheck disable=SC2002
|
||||
cat "$SUNSHINE_SHARE_HERE/udev/rules.d/60-sunshine.rules" | sudo tee /etc/udev/rules.d/60-sunshine.rules
|
||||
sudo udevadm control --reload-rules
|
||||
sudo udevadm trigger --property-match=DEVNAME=/dev/uinput
|
||||
|
||||
# sunshine service
|
||||
mkdir -p ~/.config/systemd/user
|
||||
@ -56,25 +58,6 @@ function install() {
|
||||
|
||||
# setcap
|
||||
sudo setcap cap_sys_admin+p "$(readlink -f "$SUNSHINE_BIN_HERE")"
|
||||
|
||||
while true
|
||||
do
|
||||
read -r -p "This installation requires a reboot. Do you want to reboot NOW? [y/n] " input
|
||||
|
||||
case $input in
|
||||
[yY][eE][sS]|[yY])
|
||||
echo "Yes"
|
||||
sudo reboot now
|
||||
;;
|
||||
[nN][oO]|[nN])
|
||||
echo "No"
|
||||
break
|
||||
;;
|
||||
*)
|
||||
echo "Invalid input..."
|
||||
;;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
function remove() {
|
||||
|
||||
@ -2,11 +2,19 @@ do_setcap() {
|
||||
setcap cap_sys_admin+p $(readlink -f $(which sunshine))
|
||||
}
|
||||
|
||||
do_udev_reload() {
|
||||
udevadm control --reload-rules
|
||||
udevadm trigger --property-match=DEVNAME=/dev/uinput
|
||||
modprobe uinput || true
|
||||
}
|
||||
|
||||
post_install() {
|
||||
do_setcap
|
||||
do_udev_reload
|
||||
}
|
||||
|
||||
post_upgrade() {
|
||||
do_setcap
|
||||
do_udev_reload
|
||||
}
|
||||
|
||||
|
||||
@ -6,3 +6,10 @@ if [ -x "$path_to_setcap" ] ; then
|
||||
echo "$path_to_setcap cap_sys_admin+p /usr/bin/sunshine"
|
||||
$path_to_setcap cap_sys_admin+p $(readlink -f /usr/bin/sunshine)
|
||||
fi
|
||||
|
||||
# Trigger udev rule reload for /dev/uinput
|
||||
path_to_udevadm=$(which udevadm)
|
||||
if [ -x "$path_to_udevadm" ] ; then
|
||||
$path_to_udevadm control --reload-rules
|
||||
$path_to_udevadm trigger --property-match=DEVNAME=/dev/uinput
|
||||
fi
|
||||
|
||||
Loading…
Reference in New Issue
Block a user