FS#72972 - [obs-studio] Missing dependencies
Attached to Project:
Community Packages
Opened by Patrick (ptkato) - Friday, 10 December 2021, 22:01 GMT
Last edited by Jonathan Steel (jsteel) - Thursday, 01 December 2022, 09:05 GMT
Opened by Patrick (ptkato) - Friday, 10 December 2021, 22:01 GMT
Last edited by Jonathan Steel (jsteel) - Thursday, 01 December 2022, 09:05 GMT
|
Details
Description:
Due to a bug in QT, gnome-shell users need to have installed qt5-wayland for obs-studio to launch. Additional info: * package version(s) 27.1.3 * config and/or log files etc. -- * link to upstream bug report, if any https://bugreports.qt.io/browse/QTBUG-68619 Steps to reproduce: install obs-studio package through pacman, while using gnome-shell, try to launch obs-studio. |
This task depends upon
Closed by Jonathan Steel (jsteel)
Thursday, 01 December 2022, 09:05 GMT
Reason for closing: Upstream
Thursday, 01 December 2022, 09:05 GMT
Reason for closing: Upstream
-----
$ obs
Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway.
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
Aborted (core dumped)
-----
Now, with qt5-wayland installed, it launches as expected.
https://github.com/obsproject/obs-studio/blob/master/UI/obs-app.cpp#L2024
As per https://github.com/obsproject/obs-studio/issues/5676
What desktop environment allows screen capture via pipewire without xdg-desktop-portal?
https://wiki.archlinux.org/title/PipeWire#WebRTC_screen_sharing
I would probably hesitate to include qt5-wayland as a dependency on the package, because otherwise you'd need to add it to -every- Qt app and that's kind of a lot. It should be the application's responsibility to gracefully fall back to x11 when qt5-wayland is not present, and the user can do their research on Wayland support to enable native Wayland for Qt apps if they need to.
xdg-desktop-portal is kind of a hard requirement for using any pipewire capture functionality though, regardless of desktop environment. Note that this may benefit x11 as well, because you can set OBS_USE_EGL=1 to use pipewire input sources under x11.
.. and yes in my opinion it would make perfect sense for all QT5 apps that can run on Wayland to optionally depend on qt5-wayland in the same way I would expect all QT5 apps to depend on QT5.
I cannot make any strong argument for xdg-desktop-portal being opt depends for pipewire or apps that want to screen capture.
For what it's worth, qt5-wayland and qt6-wayland are already optional dependencies to qt5-base and qt6-base, respectively.
For what it's worth, qt5-wayland and qt6-wayland are already optional dependencies to qt5-base and qt6-base, respectively.
```
In that case, fair enough. I should have checked that first
That's what one should expect, yes, but as I said above obs-studio tries to outsmart Qt platform detection and enforces using the wayland platform when in a wayland session, even if it is not available.
If upstream refuses to fix it, it's better to patch than to hide the bug with an additional dependency, imo.