Firefox can read pipewire share but nothing else seems to be able to

I recently tried wayland. Some growing pains but works amazing. (Except for the problem below)
Growing pains include:

  1. Rolling back to 535 nvidia driver because old-frame stutter. (dkms, nvidia-all aur package for future reference)
  2. Building wine 9.0 from source to get the experimental wayland driver. (apparently wine 9 is already on official but

I also installed pipewire because I read that it just works better if I plan on routing audio around.
pamac install pipewire is the proper way I think to avoid conflicts.

Screenshot_20240122_215020

With the background out of the way, here is the problem.
If you start streaming/recording something a little window pops up that basically asks what you want to share to the software in question.
In the case of obs:


But after selecting a monitor (bottom right in this case), this is what gets shown:

Cursor shown, but thatā€™sā€¦ it.
From the popup working as is I got suspicious. So i tried discord: same-ish.
Screenshot_20240122_220535

So I tried discord on browser and lo and behold:
Screenshot_20240122_220011
(This is the stream feedback popup if someone is wondering why itā€™s 64px*16px)
But it worksā€¦ why?

So then I ran obs from the terminal:

qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
debug: Found portal inhibitor
debug: Attempted path: share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: /usr/share/obs/obs-studio/locale/en-US.ini
debug: Attempted path: share/obs/obs-studio/locale.ini
debug: Attempted path: /usr/share/obs/obs-studio/locale.ini
debug: Attempted path: share/obs/obs-studio/themes/Yami.qss
debug: Attempted path: /usr/share/obs/obs-studio/themes/Yami.qss
info: Using EGL/X11
info: CPU Name: Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
info: CPU Speed: 4394.002MHz
info: Physical Cores: 6, Logical Cores: 12
info: Physical Memory: 15929MB Total, 4010MB Free
info: Kernel Version: Linux 6.6.10-1-MANJARO
info: Distribution: "Manjaro Linux" Unknown
info: Desktop Environment: KDE (KDE)
info: Session Type: wayland
info: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.23.2
info: Qt Version: 6.6.1 (runtime), 6.6.1 (compiled)
info: Portable mode: false
info: OBS 30.0.2-1 (linux)
info: ---------------------------------
info: ---------------------------------
info: audio settings reset:
        samples per sec: 48000
        speakers:        2
        max buffering:   960 milliseconds
        buffering type:  dynamically increasing
info: ---------------------------------
info: Initializing OpenGL...
libEGL warning: egl: failed to create dri2 screen
info: Loading up OpenGL on adapter Mesa zink Vulkan 1.3(NVIDIA GeForce GTX 1650 (NVIDIA_PROPRIETARY))
info: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 23.3.3-manjaro1.1, shading language 4.60
info: ---------------------------------
info: video settings reset:
        base resolution:   1920x1080
        output resolution: 1280x720
        downscale filter:  Bicubic
        fps:               30/1
        format:            NV12
        YUV mode:          Rec. 709/Partial
info: NV12 texture support not available
info: P010 texture support not available
info: Audio monitoring device:
        name: Default
        id: default
info: ---------------------------------
warning: Failed to load 'en-US' text for module: 'decklink-captions.so'
warning: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
libDeckLinkAPI.so: cannot open shared object file: No such file or directory
warning: A DeckLink iterator could not be created.  The DeckLink drivers may not be installed
warning: Failed to initialize module 'decklink.so'
info: [pipewire] Available captures:
info: [pipewire]     - Desktop capture
info: [pipewire]     - Window capture
info: NVENC supported
info: VAAPI: API version 1.20
info: FFmpeg VAAPI H264 encoding supported
info: FFmpeg VAAPI HEVC encoding supported
info: ---------------------------------
info:   Loaded Modules:
info:     text-freetype2.so
info:     rtmp-services.so
info:     obs-x264.so
info:     obs-vst.so
info:     obs-transitions.so
info:     obs-qsv11.so
info:     obs-outputs.so
info:     obs-libfdk.so
info:     obs-filters.so
info:     obs-ffmpeg.so
info:     linux-v4l2.so
info:     linux-pulseaudio.so
info:     linux-pipewire.so
info:     linux-jack.so
info:     linux-capture.so
info:     linux-alsa.so
info:     image-source.so
info:     frontend-tools.so
info:     decklink-output-ui.so
info:     decklink-captions.so
info: ---------------------------------
warning: QWidget::setTabOrder: 'first' and 'second' must be in the same window
info: ==== Startup complete ===============================================
info: All scene data cleared
info: ------------------------------------------------
info: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.0) 15.0.0'
info: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
info: pulse-input: Started recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor' (default)
info: [Loaded global audio device]: 'Desktop Audio'
info: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.0) 15.0.0'
info: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
info: pulse-input: Started recording from 'alsa_input.pci-0000_00_1f.3.analog-stereo' (default)
info: [Loaded global audio device]: 'Mic/Aux'
info: PipeWire initialized
info: Switched to scene 'Scene'
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Scene':
info:     - source: 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source)
info: ------------------------------------------------
info: [pipewire] Screencast session created
info: [pipewire] Asking for desktop
info: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Mic/Aux)

info: [pipewire] desktop selected, setting up screencast
info: [pipewire] Server version: 1.0.0
info: [pipewire] Library version: 1.0.0
info: [pipewire] Header version: 1.0.0
info: [pipewire] Created stream 0x55d01ee23160
info: [pipewire] Stream 0x55d01ee23160 state: "connecting" (error: none)
info: [pipewire] Playing stream 0x55d01ee23160
info: [pipewire] Stream 0x55d01ee23160 state: "paused" (error: none)
info: [pipewire] Negotiated format:
info: [pipewire]     Format: 12 (Spa:Enum:VideoFormat:BGRA)
info: [pipewire]     Modifier: 0x0
info: [pipewire]     Size: 1920x1080
info: [pipewire]     Framerate: 0/1
info: [pipewire] Negotiated format:
info: [pipewire]     Format: 12 (Spa:Enum:VideoFormat:BGRA)
info: [pipewire]     Modifier: 0x300000000606010
info: [pipewire]     Size: 1920x1080
info: [pipewire]     Framerate: 0/1
info: [pipewire] Stream 0x55d01ee23160 state: "streaming" (error: none)
info: ==== Shutting down ==================================================
info: pulse-input: Stopped recording from 'alsa_output.pci-0000_00_1f.3.analog-stereo.monitor'
info: pulse-input: Got 297 packets with 356400 frames
info: pulse-input: Stopped recording from 'alsa_input.pci-0000_00_1f.3.analog-stereo'
info: pulse-input: Got 298 packets with 357600 frames
info: [pipewire] Stream 0x55d01ee23160 state: "paused" (error: none)
info: [pipewire] Stream 0x55d01ee23160 state: "unconnected" (error: none)
'loop->recurse > 0' failed at ../pipewire/src/pipewire/thread-loop.c:426 pw_thread_loop_wait()
info: All scene data cleared
info: ------------------------------------------------
info: [Scripting] Total detached callbacks: 0
info: Freeing OBS context data
info: == Profiler Results =============================
info: run_program_init: 897.058 ms
info:  ā”£OBSApp::AppInit: 4.99 ms
info:  ā”ƒ ā”—OBSApp::InitLocale: 0.805 ms
info:  ā”—OBSApp::OBSInit: 858.854 ms
info:    ā”£obs_startup: 0.926 ms
info:    ā”—OBSBasic::OBSInit: 819.083 ms
info:      ā”£OBSBasic::InitBasicConfig: 0.095 ms
info:      ā”£OBSBasic::ResetAudio: 0.211 ms
info:      ā”£OBSBasic::ResetVideo: 187.078 ms
info:      ā”ƒ ā”—obs_init_graphics: 185.086 ms
info:      ā”ƒ   ā”—shader compilation: 29.32 ms
info:      ā”£OBSBasic::InitOBSCallbacks: 0.003 ms
info:      ā”£OBSBasic::InitHotkeys: 0.021 ms
info:      ā”£obs_load_all_modules2: 551.869 ms
info:      ā”ƒ ā”£obs_init_module(decklink-captions.so): 0 ms
info:      ā”ƒ ā”£obs_init_module(decklink-output-ui.so): 0 ms
info:      ā”ƒ ā”£obs_init_module(decklink.so): 0.082 ms
info:      ā”ƒ ā”£obs_init_module(frontend-tools.so): 74.152 ms
info:      ā”ƒ ā”£obs_init_module(image-source.so): 0.012 ms
info:      ā”ƒ ā”£obs_init_module(linux-alsa.so): 0.003 ms
info:      ā”ƒ ā”£obs_init_module(linux-capture.so): 0.767 ms
info:      ā”ƒ ā”£obs_init_module(linux-jack.so): 0.002 ms
info:      ā”ƒ ā”£obs_init_module(linux-pipewire.so): 20.907 ms
info:      ā”ƒ ā”£obs_init_module(linux-pulseaudio.so): 0.004 ms
info:      ā”ƒ ā”£obs_init_module(linux-v4l2.so): 5.276 ms
info:      ā”ƒ ā”£obs_init_module(obs-ffmpeg.so): 151.425 ms
info:      ā”ƒ ā”ƒ ā”—nvenc_check: 0.764 ms
info:      ā”ƒ ā”£obs_init_module(obs-filters.so): 0.031 ms
info:      ā”ƒ ā”£obs_init_module(obs-libfdk.so): 0.002 ms
info:      ā”ƒ ā”£obs_init_module(obs-outputs.so): 0.004 ms
info:      ā”ƒ ā”£obs_init_module(obs-qsv11.so): 66.18 ms
info:      ā”ƒ ā”£obs_init_module(obs-transitions.so): 0.008 ms
info:      ā”ƒ ā”£obs_init_module(obs-vst.so): 0.003 ms
info:      ā”ƒ ā”£obs_init_module(obs-x264.so): 0.002 ms
info:      ā”ƒ ā”£obs_init_module(rtmp-services.so): 0.669 ms
info:      ā”ƒ ā”—obs_init_module(text-freetype2.so): 0.013 ms
info:      ā”£OBSBasic::InitService: 2.026 ms
info:      ā”£OBSBasic::ResetOutputs: 0.265 ms
info:      ā”£OBSBasic::CreateHotkeys: 0.028 ms
info:      ā”£OBSBasic::InitPrimitives: 0.139 ms
info:      ā”—OBSBasic::Load: 33.35 ms
info: obs_hotkey_thread(25 ms): min=0.06 ms, median=0.259 ms, max=0.987 ms, 99th percentile=0.8 ms, 100% below 25 ms
info: audio_thread(Audio): min=0.007 ms, median=0.027 ms, max=1.701 ms, 99th percentile=0.205 ms
info: obs_graphics_thread(33.3333 ms): min=0.232 ms, median=1.184 ms, max=20.716 ms, 99th percentile=4.752 ms, 100% below 33.333 ms
info:  ā”£tick_sources: min=0 ms, median=0.005 ms, max=0.027 ms, 99th percentile=0.015 ms
info:  ā”£output_frame: min=0.108 ms, median=0.532 ms, max=3.411 ms, 99th percentile=2.483 ms
info:  ā”ƒ ā”—gs_context(video->graphics): min=0.107 ms, median=0.532 ms, max=3.404 ms, 99th percentile=2.482 ms
info:  ā”ƒ   ā”£render_video: min=0.016 ms, median=0.08 ms, max=0.295 ms, 99th percentile=0.277 ms
info:  ā”ƒ   ā”ƒ ā”—render_main_texture: min=0.012 ms, median=0.077 ms, max=0.283 ms, 99th percentile=0.267 ms
info:  ā”ƒ   ā”—gs_flush: min=0.002 ms, median=0.415 ms, max=2.163 ms, 99th percentile=1.594 ms
info:  ā”—render_displays: min=0.003 ms, median=0.638 ms, max=20.096 ms, 99th percentile=2.339 ms
info: =================================================
info: == Profiler Time Between Calls ==================
info: obs_hotkey_thread(25 ms): min=25.09 ms, median=25.341 ms, max=29.905 ms, 94.2424% within Ā±2% of 25 ms (0% lower, 5.75758% higher)
info: obs_graphics_thread(33.3333 ms): min=33.103 ms, median=33.333 ms, max=33.573 ms, 100% within Ā±2% of 33.333 ms (0% lower, 0% higher)
info: =================================================
info: Number of memory leaks: 0

But the lines:
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
and
info: [pipewire] Stream 0x55d01ee23160 state: "paused" (error: none)
got me thinking it errors out somewhere in the background where I wonā€™t see. And/or a package is missing/misconfigured.

Additional info:
kernel: 6.6.10-1-MANJARO
Needles to say switching to x11 solves it.

Where do I go from here? Install reset? Give up wayland? I hope I gave enough clues.

Also I posted here instead of Graphics and display because I didnā€™t see any other DE suffering from this or like this (quick solutions all around). Hope Iā€™m in the right place.

there was no error
Infos are not Errors.

Iā€™d go with the latter - and just be enjoying life. :wink:
Unless you like to play and possibly learn from it.

You used the tag ā€œNvidiaā€.
From what Iā€™ve read and heard, KDE is not great with Wayland - and neither is Nvidia.

Iā€™d just use what works. :wink:

Yeah my bad. But the first one was a warning.

Yeah future amd user here, but Iā€™m down to get my hands dirty. I enjoy it.

that is also not an error :wink:

ok. good even.
But I canā€™t help.

1 Like

Holy sā€¦
Google search changes daily i swear.
https://www.reddit.com/r/linuxquestions/comments/y9lfrq/how_to_fix_obs_on_wayland_qtqpaplugin_could_not/

For future readers:

  1. get qt6-wayland
  2. set environment variable QT_QPA_PLATFORM=wayland (set it in /etc/environment for ease of use)
  3. profit

It will start without the env var, but it will be unable to read the stream. With the env var and without qt6-wayland it will show the warning above.

Discord will not work, at least the one from the official repo. Use browser discord I guess, betterdiscord wonā€™t work either.

This topic was automatically closed 36 hours after the last reply. New replies are no longer allowed.