Add install scripts (Flatpak) (#471)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
This commit is contained in:
@@ -104,17 +104,24 @@ Flatpak Package
|
|||||||
:alt: GitHub issues by-label
|
:alt: GitHub issues by-label
|
||||||
|
|
||||||
#. Install `Flatpak <https://flatpak.org/setup/>`_ as required.
|
#. Install `Flatpak <https://flatpak.org/setup/>`_ as required.
|
||||||
#. Download ``sunshine.flatpak`` and run the following code.
|
#. Download ``sunshine_{arch}.flatpak`` and run the following code.
|
||||||
|
|
||||||
|
.. Note:: Be sure to replace ``{arch}`` with the architecture for your operating system.
|
||||||
|
|
||||||
System level (recommended)
|
System level (recommended)
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
flatpak install --system sunshine.flatpak
|
flatpak install --system ./sunshine_{arch}.flatpak
|
||||||
|
|
||||||
User level
|
User level
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
flatpak install --user sunshine.flatpak
|
flatpak install --user ./sunshine_{arch}.flatpak
|
||||||
|
|
||||||
|
Additional installation (required)
|
||||||
|
.. code-block:: bash
|
||||||
|
|
||||||
|
flatpak run --command=additional-install.sh dev.lizardbyte.sunshine
|
||||||
|
|
||||||
Start:
|
Start:
|
||||||
X11 and NVFBC capture (X11 Only)
|
X11 and NVFBC capture (X11 Only)
|
||||||
@@ -130,7 +137,8 @@ Start:
|
|||||||
Uninstall:
|
Uninstall:
|
||||||
.. code-block:: bash
|
.. code-block:: bash
|
||||||
|
|
||||||
flatpak uninstall --delete-data sunshine.flatpak
|
flatpak run --command=remove-additional-install.sh dev.lizardbyte.sunshine
|
||||||
|
flatpak uninstall --delete-data dev.lizardbyte.sunshine
|
||||||
|
|
||||||
RPM Package
|
RPM Package
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
|
|||||||
@@ -54,8 +54,7 @@ Setup
|
|||||||
|
|
||||||
Linux
|
Linux
|
||||||
^^^^^
|
^^^^^
|
||||||
The `deb`, `rpm`, and `AppImage` packages handle these steps automatically. The flatpak does not, third party packages
|
The `deb`, `rpm`, `Flatpak` and `AppImage` packages handle these steps automatically. Third party packages may not.
|
||||||
also may not.
|
|
||||||
|
|
||||||
Sunshine needs access to `uinput` to create mouse and gamepad events.
|
Sunshine needs access to `uinput` to create mouse and gamepad events.
|
||||||
|
|
||||||
@@ -81,6 +80,8 @@ Sunshine needs access to `uinput` to create mouse and gamepad events.
|
|||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
ExecStart=<see table>
|
ExecStart=<see table>
|
||||||
|
#Flatpak Only
|
||||||
|
#ExecStop=flatpak kill dev.lizardbyte.sunshine
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=graphical-session.target
|
WantedBy=graphical-session.target
|
||||||
@@ -95,7 +96,7 @@ Sunshine needs access to `uinput` to create mouse and gamepad events.
|
|||||||
deb /usr/bin/sunshine ✔
|
deb /usr/bin/sunshine ✔
|
||||||
rpm /usr/bin/sunshine ✔
|
rpm /usr/bin/sunshine ✔
|
||||||
AppImage ~/sunshine.AppImage ✔
|
AppImage ~/sunshine.AppImage ✔
|
||||||
Flatpak flatpak run dev.lizardbyte.sunshine ✖
|
Flatpak flatpak run dev.lizardbyte.sunshine ✔
|
||||||
======== ============================================== ===============
|
======== ============================================== ===============
|
||||||
|
|
||||||
**Start once**
|
**Start once**
|
||||||
|
|||||||
@@ -208,3 +208,7 @@ modules:
|
|||||||
- sed -r -z -i -e
|
- sed -r -z -i -e
|
||||||
's/("((do)|(undo)|(cmd)|(detached))"\s*:\s*\[?\n*\s*")(.*")/\1flatpak-spawn --host \7/gm'
|
's/("((do)|(undo)|(cmd)|(detached))"\s*:\s*\[?\n*\s*")(.*")/\1flatpak-spawn --host \7/gm'
|
||||||
/app/share/sunshine/apps.json
|
/app/share/sunshine/apps.json
|
||||||
|
- sed -i
|
||||||
|
's%/app/bin/sunshine%flatpak run dev.lizardbyte.sunshine\nExecStop=flatpak kill dev.lizardbyte.sunshine%g'
|
||||||
|
/app/share/sunshine/systemd/user/sunshine.service
|
||||||
|
- install -D $FLATPAK_BUILDER_BUILDDIR/packaging/linux/flatpak/scripts/* /app/bin
|
||||||
|
|||||||
13
packaging/linux/flatpak/scripts/additional-install.sh
Normal file
13
packaging/linux/flatpak/scripts/additional-install.sh
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# User Service
|
||||||
|
mkdir -p ~/.config/systemd/user
|
||||||
|
cp /app/share/sunshine/systemd/user/sunshine.service $HOME/.config/systemd/user/sunshine.service
|
||||||
|
echo Sunshine User Service has been installed.
|
||||||
|
echo Use [systemctl --user enable sunshine] once to autostart Sunshine on login.
|
||||||
|
|
||||||
|
# Udev rule and input group
|
||||||
|
UDEV=$(cat /app/share/sunshine/udev/rules.d/85-sunshine.rules)
|
||||||
|
echo Configuring mouse permission.
|
||||||
|
flatpak-spawn --host pkexec sh -c "usermod -a -G input $USER && echo '$UDEV' > /etc/udev/rules.d/85-sunshine.rules"
|
||||||
|
echo Restart computer for mouse permission to take effect.
|
||||||
11
packaging/linux/flatpak/scripts/remove-additional-install.sh
Normal file
11
packaging/linux/flatpak/scripts/remove-additional-install.sh
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# User Service
|
||||||
|
systemctl --user stop sunshine
|
||||||
|
rm $HOME/.config/systemd/user/sunshine.service
|
||||||
|
systemctl --user daemon-reload
|
||||||
|
echo Sunshine User Service has been removed.
|
||||||
|
|
||||||
|
# Udev rule and input group
|
||||||
|
flatpak-spawn --host pkexec sh -c "gpasswd -d $USER input && rm /etc/udev/rules.d/85-sunshine.rules"
|
||||||
|
echo Mouse permission removed. Restart computer to take effect.
|
||||||
Reference in New Issue
Block a user