Skip to content

Commit 9d2409f

Browse files
authored
fix(docs/linux): add Portal and EGL context tips (#5419)
1 parent 114e633 commit 9d2409f

1 file changed

Lines changed: 35 additions & 0 deletions

File tree

docs/troubleshooting.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,27 @@ resort suggestion.
128128

129129
## Linux
130130

131+
### Hardware Encoders throttle/drop FPS during high GPU load
132+
Capture methods (`wlgrab`) or encoders (`nvenc`, `vaapi`) that utilize EGL contexts may exhibit FPS drops
133+
in conjunction with a Sunshine installation that runs in a sandboxed or reduced permissions state
134+
(Flatpak, AppImage, or when using Portal capture) due to the lack of active CAP_SYS_NICE process permissions
135+
needed to set up high priority EGL contexts.
136+
137+
To check if you are affected by this issue, look out for this message in your Sunshine log:
138+
```
139+
Warning: EGL: context priority set to HIGH but CAP_SYS_NICE capability is missing
140+
```
141+
142+
> [!IMPORTANT]
143+
> Switching to Vulkan encoding should resolve the issue for the majority of configurations, but refer to this
144+
> table for recommended configurations (especially if Vulkan encoding is not supported on your system):
145+
> | Desktop Environment | Vulkan Supported? | Recommended Sunshine Install Type | Recommended Capture & Encoder Configuration |
146+
> |:--------------------|-------------------|-----------------------------------|--------------------------------------------------:|
147+
> | KDE Plasma | Yes | Any | `portal` or `kwin` capture with `vulkan` encoding |
148+
> | KDE Plasma | No | Non-Sandboxed | `kwin` capture with `vaapi`/`nvenc` encoding |
149+
> | GNOME / other | Yes | Any | `portal` capture with `vulkan` encoding |
150+
> | GNOME / other | No | Non-Sandboxed | `kms` capture with `vaapi`/`nvenc` encoding |
151+
131152
### Hardware Encoding fails
132153
Due to legal concerns, Mesa has disabled hardware decoding and encoding by default.
133154

@@ -149,6 +170,20 @@ If you see the above error in the Sunshine logs, compiling *Mesa* manually may b
149170
> Other build options are listed in the
150171
> [meson options](https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/meson_options.txt) file.
151172
173+
### Portal token issues
174+
Portal capture requires you to manually approve Remote Desktop permissions via an on-screen prompt on the host.
175+
This creates a portal token which is used to automaticaly reauthorize on subsequent reconnects, but under certain
176+
circumstances (a Sunshine crash, switching to another desktop environment, or if a monitor hotplug event occurs)
177+
the portal token may become lost or invalid, necessitating manual re-approval of capture permissions.
178+
179+
Users of the KDE Plasma desktop can bypass this issue either by switching to `kwin` capture or setting the following
180+
configuration to enable permanent capture autorization for Sunshine via Portal capture:
181+
```
182+
flatpak permission-set kde-authorized remote-desktop dev.lizardbyte.app.Sunshine yes
183+
```
184+
> [!NOTE]
185+
> Although this configuration is plumbed through Flatpak, it will work with any supported Sunshine installation type.
186+
152187
### Input not working
153188
After installation, the `udev` rules need to be reloaded. Our post-install script tries to do this for you
154189
automatically, but if it fails, you may need to restart your system.

0 commit comments

Comments
 (0)