I recently tried wayland. Some growing pains but works amazing. (Except for the problem below)
Growing pains include:
- Rolling back to 535 nvidia driver because old-frame stutter. (dkms, nvidia-all aur package for future reference)
- 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.
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.
So I tried discord on browser and lo and behold:
(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.