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.