Package Details: plex-desktop 1.108.1.307-1

Git Clone URL: https://aur.archlinux.org/plex-desktop.git (read-only, click to copy)
Package Base: plex-desktop
Description: Plex desktop client for linux
Upstream URL: http://plex.tv
Keywords: media player plex
Licenses: unknown
Submitter: ludvigHz
Maintainer: username227
Last Packager: username227
Votes: 19
Popularity: 0.59
First Submitted: 2022-05-26 10:36 (UTC)
Last Updated: 2025-02-14 03:01 (UTC)

Dependencies (48)

Required by (0)

Sources (5)

Pinned Comments

mrgrim commented on 2024-10-01 05:16 (UTC) (edited on 2024-10-01 05:20 (UTC) by mrgrim)

The Qt 6.7 problem is an issue where xdg-open inherits the environment of the Plex app causing kde-open to try to load the Qt 6.6 libraries from /opt/plex-desktop/lib due to the LD_LIBRARY_PATH set in Plex.sh.

This can be solved by editing the RUNPATH of the binaries using chrpath then removing the LD_LIBRARY_PATH line from Plex.sh. It turns out The main Plex library has a working RUNPATH but includes a bunch of automation cruft. The transcoding binary does NOT have it set, and QtWebEngineProcess needs no changes. In /opt/plex-desktop/bin run:

chrpath -r '$ORIGIN/../lib' Plex
chrpath -r '$ORIGIN/../lib' Plex\ Transcoder

However, this only exposes additional issues with all of the Qt environment variables set in this script. I couldn't find a super clean way to fix this, but interestingly enough KDE uses a little utility for their AppImage deployments to deal with this exact problem:

https://invent.kde.org/brauch/appimage-exec-wrapper/

Compile it and copy the exec.so file into /opt/plex-desktop/lib then alter Plex.sh like this:

https://gist.github.com/mrgrim/1357da402f8ceccaf8224e145fa6acc3

This could even allow using LD_LIBRARY_PATH and not using chrpath. The choice is yours. Using chrpath seems cleaner but pulls in a dependency.

Latest Comments

« First ‹ Previous 1 2 3 4 5 6 7 8 9 10 11 Next › Last »

anyarr commented on 2024-07-17 18:23 (UTC)

@username227

I don't know that either of my issues are exclusive to Wayland. I have a separate issue starting X11 sessions, and I'm waiting on help on the forum, so I can't test it there. I have the same issue as @SprobbyBlongo with the GUI on Wayland, but it launches fine with Xwayland when I added export QT_QPA_PLATFORM=xcb to Plex.sh. I can't test video playback with my library until I resolve the sign-in issue, but trying to watch anything in Plex Discover is unwatchable. Of course the ads play fine. I'll try to test both issues on another desktop environment when I get a chance and I'll report back.

username227 commented on 2024-07-17 12:38 (UTC)

In general, it sounds from the error message that KDE is having trouble finding the qt6 installation. I wonder if there is some sort of environment variable (QT_DIR or Qt6_DIR?) that needs to be set. But I am unsure.

Unclear how this is related to wayland specifically. Can you elaborate?

anyarr commented on 2024-07-17 10:18 (UTC)

@username227

Here are the libraries available in /opt/plex-desktop/lib/:

ls /opt/plex-desktop/lib/ libavcodec.so.59 libicuuc.so.66 libQt6EglFSDeviceIntegration.so.6 libQt6QmlLocalStorage.so.6 libQt6Quick3DAssetUtils.so.6 libQt6Quick3DUtils.so.6 libQt6QuickLayouts.so.6 libQt6ShaderTools.so.6 libQt6WaylandEglClientHwIntegration.so.6 libQt6Widgets.so.6 libavfilter.so.8 libigdgmm.so.12 libQt6Gui.so.6 libQt6QmlModels.so.6 libQt6Quick3DEffects.so.6 libQt6QuickControls2Impl.so.6 libQt6QuickParticles.so.6 libQt6Sql.so.6 libQt6WaylandEglCompositorHwIntegration.so.6 libQt6WlShellIntegration.so.6 libavformat.so.59 libmpv.so.2 libQt6LabsFolderListModel.so.6 libQt6Qml.so.6 libQt6Quick3DHelpers.so.6 libQt6QuickControls2.so.6 libQt6QuickShapes.so.6 libQt6Svg.so.6 libQt6WebChannel.so.6 libQt6XcbQpa.so.6 libavutil.so.57 libPlexMediaServer.so libQt6Network.so.6 libQt6QmlWorkerScript.so.6 libQt6Quick3DParticles.so.6 libQt6QuickDialogs2QuickImpl.so.6 libQt6Quick.so.6 libQt6VirtualKeyboard.so.6 libQt6WebEngineCore.so.6 libre2.so.5 libicudata.so.66 libQt6Core.so.6 libQt6OpenGL.so.6 libQt6QmlXmlListModel.so.6 libQt6Quick3DRuntimeRender.so.6 libQt6QuickDialogs2.so.6 libQt6QuickTemplates2.so.6 libQt6WaylandClient.so.6 libQt6WebEngineQuickDelegatesQml.so.6 libswscale.so.6 libicui18n.so.66 libQt6DBus.so.6 libQt6Positioning.so.6 libQt6Quick3DAssetImport.so.6 libQt6Quick3D.so.6 libQt6QuickDialogs2Utils.so.6 libQt6QuickTimeline.so.6 libQt6WaylandCompositor.so.6 libQt6WebEngineQuick.so.6 libwebp.so.6

All of the other libraries are in /usr/lib/.

Any ideas on the Wayland issue?

username227 commented on 2024-07-16 23:51 (UTC)

OK. I personally am not able to duplicate this because I don't use KDE. I do have a Manjaro install that I only use for emergencies, and this has KDE. I switched to this, updated everything, and then built ffmpeg6.1 and plex-desktop and it worked like a charm, including sign-in.

Please go to /opt/plex-desktop/lib and see if these files are actually missing from there. I have all of these libraries in this location, and I bet they're coming from this package (flatpak, from which the creator of this package took it from, comes with all dependencies). If these files are missing from this folder, but they exist on your filesystem at /usr/lib (which is where qt6-base likely installs them), then we can do softlinks to solve the problem.

None of this would explain why the problem only seems to exist with KDE, though, and I'm hesitant to alter the pkgbuild globally until we figure out why. The fact that it works when @electronarchy use xfce would seem to suggest that they are already there but not being recognized by the program, which is puzzling.

anyarr commented on 2024-07-16 21:54 (UTC) (edited on 2024-07-16 22:02 (UTC) by anyarr)

@username227

I am having similar issues as @SprobbyBlongo and @electronarchy. Running /opt/plex-desktop/Plex.sh from the terminal gives me this output with a see through window: qt.scenegraph.general: Using QRhi with backend OpenGL Graphics API debug/validation layers: 0 QRhi profiling and debug markers: 0 Shader/pipeline cache collection: 0 qt.scenegraph.general: Using QRhi with backend OpenGL Graphics API debug/validation layers: 0 QRhi profiling and debug markers: 0 Shader/pipeline cache collection: 0 [25440:25485:0716/234555.189874:ERROR:gl_context_egl.cc(277)] eglCreateContext failed with error EGL_BAD_CONTEXT [25440:25485:0716/234555.189893:ERROR:gpu_channel_manager.cc(771)] ContextResult::kFatalFailure: Failed to create shared context for virtualization. [25440:25485:0716/234555.189896:ERROR:shared_image_stub.cc(470)] SharedImageStub: unable to create context [25440:25485:0716/234555.189899:ERROR:gpu_channel.cc(449)] GpuChannel: Failed to create SharedImageStub [25440:25485:0716/234555.207742:ERROR:gl_context_egl.cc(277)] eglCreateContext failed with error EGL_BAD_CONTEXT [25440:25485:0716/234555.207758:ERROR:gpu_channel_manager.cc(771)] ContextResult::kFatalFailure: Failed to create shared context for virtualization. [25440:25485:0716/234555.207760:ERROR:shared_image_stub.cc(470)] SharedImageStub: unable to create context [25440:25485:0716/234555.207765:ERROR:gpu_channel.cc(449)] GpuChannel: Failed to create SharedImageStub

GUI works fine if I add export QT_QPA_PLATFORM=xcb to the Plex.sh script. I also get the following error when trying to sign in:

kde-open: /opt/plex-desktop/lib/libQt6Core.so.6: version `Qt_6.7' not found (required by kde-open) kde-open: /opt/plex-desktop/lib/libQt6Core.so.6: version `Qt_6.7' not found (required by /usr/lib/libKF6KIOGui.so.6) kde-open: /opt/plex-desktop/lib/libQt6Core.so.6: version `Qt_6.7' not found (required by /usr/lib/libKF6KIOCore.so.6) kde-open: /opt/plex-desktop/lib/libQt6Core.so.6: version `Qt_6.7' not found (required by /usr/lib/libKF6CoreAddons.so.6) kde-open: /opt/plex-desktop/lib/libQt6Core.so.6: version `Qt_6.7' not found (required by /usr/lib/libKF6I18n.so.6) kde-open: /opt/plex-desktop/lib/libQt6Core.so.6: version `Qt_6.7' not found (required by /usr/lib/libKF6Service.so.6) kde-open: /opt/plex-desktop/lib/libQt6Core.so.6: version `Qt_6.7' not found (required by /usr/lib/libKF6Solid.so.6) kde-open: /opt/plex-desktop/lib/libQt6Core.so.6: version `Qt_6.7' not found (required by /usr/lib/libKF6WindowSystem.so.6) kde-open: /opt/plex-desktop/lib/libQt6Core.so.6: version `Qt_6.7' not found (required by /usr/lib/libKF6ConfigCore.so.6) kde-open: /opt/plex-desktop/lib/libQt6Core.so.6: version `Qt_6.7' not found (required by /usr/lib/libKF6Crash.so.6) kde-open: /opt/plex-desktop/lib/libQt6Core.so.6: version `Qt_6.7' not found (required by /usr/lib/libKF6AuthCore.so.6) kde-open: /opt/plex-desktop/lib/libQt6Core.so.6: version `Qt_6.7' not found (required by /usr/lib/libQt6Xml.so.6)

I have qt6-base installed as well.

electronarchy commented on 2024-07-16 19:18 (UTC) (edited on 2024-07-16 19:55 (UTC) by electronarchy)

@username227, yes, that was the first thing i checked. it was already installed. reinstalling didn't fix. i also was initially on kde-unstable and arch testing repos, and i rolled back to the standard repos and cleared yay's cache and rebuilt this AUR package. still no dice. and kde-open seems to work fine otherwise (kde-open archlinux.org works as expected)

edit: for the time-being i have found a workaround-- install xfce4, switch to xfce session, sign in to plex, logout, uninstall xfce4 ;)

username227 commented on 2024-07-16 19:10 (UTC)

@electronarchy,

Please try installing the package qt6-base from extra and let me know if it then works. If it works to solve the problem, I will add this to the depends. Thanks.

electronarchy commented on 2024-07-16 19:02 (UTC) (edited on 2024-07-16 19:02 (UTC) by electronarchy)

i can't sign into my account. when i click the "Sign in" button i get this error and 11 others just like it with different required-by's:

kde-open: /opt/plex-desktop/lib/libQt6Core.so.6: versionQt_6.7' not found (required by kde-open)`

SprobbyBlongo commented on 2024-07-03 20:30 (UTC)

@username227

Thats really odd. Im also amd/nvidia on plasma 6.1. I am using the latest drivers from nvidia. I wonder if its maybe one of my other kernel paramaters, ill have to do some experimenting.

username227 commented on 2024-07-03 20:27 (UTC)

@SprobbyBlongo

I have amd/nvidia. for nvidia i'm using proprietary and nvidia-drm.modeset-1. amd is integrated. I use optimus manager to switch which doesn't work on wayland, but does switch out globally, and it appears to work on wayland with on both GPUs.