2.3 KiB
| title | description | type | domain | tags | |||
|---|---|---|---|---|---|---|---|
| Workstation Troubleshooting | Troubleshooting notes for Nobara/KDE Wayland workstation issues. | troubleshooting | workstation |
|
Workstation Troubleshooting
Discord screen sharing shows no windows on KDE Wayland (2026-04-03)
Severity: Medium — cannot share screen via Discord desktop app
Problem: Clicking "Share Your Screen" in Discord desktop app (v0.0.131, Electron 37) opens the Discord picker but shows zero windows/screens. Same behavior in both the desktop app and the web app when using Discord's own picker. Affects both native Wayland and XWayland modes.
Root Cause: Discord's built-in screen picker uses Electron's desktopCapturer.getSources() which relies on X11 window enumeration. On KDE Wayland:
- In native Wayland mode: no X11 windows exist, so the picker is empty
- In forced X11/XWayland mode (
ELECTRON_OZONE_PLATFORM_HINT=x11): Discord can only see other XWayland windows (itself, Android emulator), not native Wayland apps - Discord ignores
--use-fake-ui-for-media-streamand other Chromium flags that should force portal usage - The
discord-flags.conffile is not read by the Nobara/RPM Discord package — flags must go in the.desktopfileExec=line
Fix: Use Discord web app in Firefox for screen sharing. Firefox natively delegates to the XDG Desktop Portal via PipeWire, which shows the KDE screen picker with all windows. The desktop app's own picker remains broken on Wayland as of v0.0.131.
Configuration applied (for general Discord Wayland support):
~/.local/share/applications/discord.desktop— overrides system.desktopwith Wayland flags~/.config/discord-flags.conf— created but not read by this Discord build
Lesson:
- Discord desktop on Linux Wayland cannot do screen sharing through its own picker — always use the web app in Firefox for this
- Electron's
desktopCapturerAPI is fundamentally X11-only; the PipeWire/portal path requires the app to usegetDisplayMedia()instead, which Discord's desktop app does not do discord-flags.confis unreliable across distros — always verify flags landed in/proc/<pid>/cmdline- Vesktop (community client) is an alternative that properly implements portal-based screen sharing, if the web app is insufficient