https://bugs.kde.org/show_bug.cgi?id=481058

            Bug ID: 481058
           Summary: Recording windows or screens with OBS or spectacle is
                    broken in Plasma 6 RC2 on Wayland: Failed to start
                    pipewire screencast
    Classification: Plasma
           Product: plasmashell
           Version: 5.93.0
          Platform: Gentoo Packages
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: plasma-b...@kde.org
          Reporter: guido-kdeb...@unknownsite.de
                CC: k...@davidedmundson.co.uk
  Target Milestone: 1.0

SUMMARY
***
Recording a window or an entire screen with OBS is broken in Plasma 6 RC2.
Spectacle has the same problem for recordings, though screenshots work.

When trying, I get a popup in the message area saying "Das Bildschirmvideo kann
nicht gestartet werden - Failed to connect to PipeWire context". On the console
from which I started OBS, it says "warning: [pipewire] Failed to start
screencast, denied or cancelled by user".
***


STEPS TO REPRODUCE
1. Open OBS
2. Add another source to the sources, either "Window Capture (PipeWire)" or
"Screen Capture (PipeWire)"
3. A window (not belonging to OBS itself) will popup, asking you to select
either a screen or a window to capture. Select any.

OBSERVED RESULT
A popup in the message are saying "Failed to connect to PipeWire context". The
recording area in OBS stays empty.

EXPECTED RESULT
No error messages, and a live view of the selected window or screen appears in
OBS.

SOFTWARE/OS VERSIONS
Windows: n/a
macOS: n/a
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 5.93.0
KDE Frameworks Version:  5.249.0
Qt Version: 6.6.1

ADDITIONAL INFORMATION

This used to work fine with Plasma 5 on Wayland, though I haven't tested it
with Plasma 6 RC1.

I get this console output in .local/share/sddm/wayland-session.log when I try
to start a screen recording with OBS:

=======
xdp-kde-wayland-integration: failed to start streaming
ScreencastingStream(0x55f6853bd100) "Failed to connect PipeWire context"
xdp-kde-screencast: Invalid window! QMap((0, QVariant(QString, "Luftrecht und
Sicherheit – LBA – OpenUAV – Mozilla Firefox"))(1, QVariant(QIcon,
QIcon("firefox",availableSizes[normal,Off]=QList(QSize(16, 16), QSize(22, 22),
QSize(32, 32), 
QSize(48, 48), QSize(64, 64), QSize(128, 128), QSize(256,
256)),cacheKey=0x100000000)))(257, QVariant(QString, "firefox"))(258,
QVariant(bool, false))(259, QVariant(bool, true))(260, QVariant(bool,
false))(261, QVariant(bool, true))(262, Q
Variant(bool, true))(263, QVariant(bool, true))(264, QVariant(bool,
false))(265, QVariant(bool, false))(266, QVariant(bool, false))(267,
QVariant(bool, false))(268, QVariant(bool, false))(269, QVariant(bool,
false))(270, QVariant(bool, fal
se))(271, QVariant(bool, false))(272, QVariant(bool, true))(273, QVariant(bool,
true))(274, QVariant(bool, true))(275, QVariant(bool, true))(276,
QVariant(QRect, QRect(2560,0 2560x1440)))(277, QVariant(uint, 5838))(278,
QVariant(bool, fals
e))(279, QVariant(QStringList,
QList("9e528cdd-e14e-418b-8af3-b67fec93034f")))(280, QVariant(QByteArray,
"{2a265327-b83f-4bfc-85a0-673065d86bae}")))
QObject::startTimer: Timers cannot have negative intervals
QQuickItem: Cannot set FocusScope once item has children and is in a window.
Service  ":1.232" unregistered
=======

I also get an enormous number of this message in that same file when trying to
record a window with OBS or spectacle:

QObject::startTimer: Timers cannot have negative intervals

When trying to record using spectacle, the output in the sddm log looks like
this:

=======
dbus-daemon[4571]: [session uid=1000 pid=4571] Activating service
name='org.kde.spectacle' requested by ':1.66' (uid=1000 pid=7593
comm="/usr/bin/krunner --daemon" label="kernel")
dbus-daemon[4571]: [session uid=1000 pid=4571] Successfully activated service
'org.kde.spectacle'
libva info: VA-API version 1.20.0
libva info: Trying to open /usr/lib64/va/drivers/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
kpipewire_record_logging: VAAPI: Display initialized
kpipewire_record_logging: VAAPI: API version 1 . 20
kpipewire_record_logging: VAAPI: Mesa Gallium driver 23.3.1 for AMD Radeon RX
5700 XT (radeonsi, navi10, LLVM 17.0.6, DRM 3.54, 6.6.14) in use for device
"/dev/dri/renderD128"
libva info: VA-API version 1.20.0
libva info: Trying to open /usr/lib64/va/drivers/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
kpipewire_record_logging: VAAPI: Display initialized
kpipewire_record_logging: VAAPI: API version 1 . 20
kpipewire_record_logging: VAAPI: Mesa Gallium driver 23.3.1 for AMD Radeon RX
5700 XT (radeonsi, navi10, LLVM 17.0.6, DRM 3.54, 6.6.14) in use for device
"/dev/dri/renderD128"
libva info: VA-API version 1.20.0
libva info: Trying to open /usr/lib64/va/drivers/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
kpipewire_record_logging: VAAPI: Display initialized
kpipewire_record_logging: VAAPI: API version 1 . 20
kpipewire_record_logging: VAAPI: Mesa Gallium driver 23.3.1 for AMD Radeon RX
5700 XT (radeonsi, navi10, LLVM 17.0.6, DRM 3.54, 6.6.14) in use for device
"/dev/dri/renderD128"
[repeating for a while]
=======

Pipewire itself is running, and I can connect to it using qpwgraph.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to