From 7f0fad5922e45d09c518a4c50585abe9133f385b Mon Sep 17 00:00:00 2001 From: thomas Date: Wed, 14 Oct 2026 06:33:12 +0100 Subject: [PATCH] Fix: Run Plex under XWayland to stop a blank window hypr env sets QT_QPA_PLATFORM="wayland;xcb", and under Wayland Plex's bundled QtWebEngine never loads the web client, so the window stays blank. Both the PATH wrapper and the .desktop entry now force xcb, as upstream does, and set XCURSOR_SIZE=24 so the X11 cursor isn't huge. Co-Authored-By: Claude Opus 5.5 --- dotfiles/.local/bin/Plex | 5 +++++ .../share/applications/tv.plex.PlexDesktop.desktop | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/dotfiles/.local/bin/Plex b/dotfiles/.local/bin/Plex index 7edc79f..a6d47d3 100755 --- a/dotfiles/.local/bin/Plex +++ b/dotfiles/.local/bin/Plex @@ -9,5 +9,10 @@ # ~/.local/share/plex/Logs/Plex.log). This dir is first on $PATH, so it # shadows /usr/bin/Plex for both a terminal launch and the .desktop entry # (Exec=Plex is PATH-resolved) without touching the global env var. +# QT_QPA_PLATFORM: hypr env sets "wayland;xcb"; under Wayland the bundled +# QtWebEngine never runs the web client and the window stays blank. unset QT_QUICK_CONTROLS_STYLE +export QT_QPA_PLATFORM=xcb +# Unset in the session; without it the X11 cursor in Plex is huge. +export XCURSOR_SIZE=24 exec /opt/plex-desktop/Plex.sh "$@" diff --git a/dotfiles/.local/share/applications/tv.plex.PlexDesktop.desktop b/dotfiles/.local/share/applications/tv.plex.PlexDesktop.desktop index eab043c..e9c777b 100644 --- a/dotfiles/.local/share/applications/tv.plex.PlexDesktop.desktop +++ b/dotfiles/.local/share/applications/tv.plex.PlexDesktop.desktop @@ -3,7 +3,12 @@ # same filename, so this is picked up by app launchers instead automatically # — no association/mimeapps changes needed). # -# Only change from upstream: Exec unsets QT_QUICK_CONTROLS_STYLE and calls +# QT_QPA_PLATFORM=xcb is kept from upstream: hypr env sets "wayland;xcb", and +# under Wayland the bundled QtWebEngine never runs the web client (blank +# window, no [Web] lines in Plex.log). XCURSOR_SIZE=24 is also kept from +# upstream: it is unset in the session, so the X11 cursor comes out huge. +# +# Change from upstream: Exec unsets QT_QUICK_CONTROLS_STYLE and calls # the package's Plex.sh directly, bypassing $PATH entirely. Plex Desktop # bundles its own private Qt/QML runtime that doesn't ship the # "org.hyprland.style" QQC2 style hypr/core/env.lua sets globally for other @@ -17,7 +22,7 @@ Type=Application Name=Plex Comment=Plex client for desktop computers -Exec=env -u QT_QUICK_CONTROLS_STYLE /opt/plex-desktop/Plex.sh +Exec=env -u QT_QUICK_CONTROLS_STYLE QT_QPA_PLATFORM=xcb XCURSOR_SIZE=24 /opt/plex-desktop/Plex.sh Icon=tv.plex.PlexDesktop Terminal=false Categories=AudioVideo;Player;X-Media;