Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Multimedia
  • Search

[SOLVED] Pipewire Screen capture stopped working

Help with creation, editing, or playback of sounds, images, or video. Amarok, audacious, mplayer, grip, cdparanoia and anything else that makes a sound or plays a video.
Post Reply
Advanced search
5 posts • Page 1 of 1
Author
Message
rphii
n00b
n00b
Posts: 22
Joined: Sat Jan 08, 2022 10:07 am

[SOLVED] Pipewire Screen capture stopped working

  • Quote

Post by rphii » Thu Jan 22, 2026 6:37 pm

Hello wonderful forum.


Situation

I wanted to record my screen with OBS and did the usual. Start the app, select what I want to record in the dialogue, but it did not record anything. (Except audio)

Then I checked if I had made any updates, because I know I recorded last week. I didn't do any updates, in fact, I updated and then recorded my screen last week. (including restarts inbetween)

Regardless of that, I tried updating, and nothing was fixed.

Can it still record?

I knew from firsthand experience that wf-recorder somehow recorded my screen on my other PC (also running Gentoo, but an nvidia GPU instead of an AMD GPU like the current system) a while back, where I had a similar issue that OBS could not record my screen. So, trying it out here, I get the same effect. wf-recorder is able to record my screen. At least that works.

Then I was thinking about trying it out on Discord, where on this PC it had worked before and even was able to stream the audio (which I did not expect to work, because it didn't on the other nvidia machine).

That did not work. And then I remembered, when selecting what to record in the dialogue, I used to see a working preview of what would be recorded, so I guess the issue is somewhere in that component (?).

More updates

I looked into it and found on other forums that you'd apparently need hyprland-guiutils. Okay, trying to install that made me realize that somehow it is not available yet on gentoo, because it used to be called hyprland-qtutils. So I went ahead and made some appropriate ebuilds, namely said package and copying existing ebuilds from the gentoo tree and updating their versions.

Okay, installing that... Recompiling hyprland... Good, all well and done, reboot, system still works, OBS however not.

What even broke??

I then read on another forum somewhere (or even on the issue tracker, idr, idc) that a user config might have broken something and logically (?) a new user could record. Seems plausible, so I tried creating a new user, adding them to the groups seat, audio, video, input and starting hyprland on another tty, recording... nothing.

Pipewire broke

My suspicion is that pipewire broke. The output logs of OBS regarding anything that failed (the rest of the log has no warnings, no errors, nothing):

Code: Select all

info: PipeWire initialized
info: Switched to scene 'Scene'
info: ------------------------------------------------
info: Loaded scenes:
info: - scene 'Scene':
info:     - source: 'Screen Capture (PipeWire)' (pipewire-screen-capture-source)
info: ------------------------------------------------
info: [pipewire] Screencast session created
info: Device for 'Audio Output Capture' source Desktop Audio is also used for audio monitoring.
Deduplication logic is being applied to all monitored sources.
info: adding 42 milliseconds of audio buffering, total audio buffering is now 42 milliseconds (source: Mic/Aux)

info: [pipewire] Asking for monitor and window
warning: [pipewire] Failed to start screencast, denied or cancelled by user
Then I checked out this section https://wiki.gentoo.org/wiki/XDG/xdg-desktop-portal and updated my file xdg-portal-hyprland to match that in the wiki.

Logging that... I close OBS, run ./.config/hypr/xdg-portal-hyprland > xdg.log 2>&1, start OBS, select a source, the portal crashes. Log is here: https://bpa.st/U4AQ

I THINK the interesting and only relevant part is this:

Code: Select all

[LOG] [screencopy] New session:
[
(/usr/libexec/xdg-desktop-portal:13410): xdg-desktop-portal-WARNING **: 18:20:20.058: A backend call failed: Message recipient disconnected from message bus without replying

** (/usr/libexec/xdg-desktop-portal:13410): WARNING **: 18:20:45.083: Failed to close session implementation: Timeout was reached
  • - I don't quite understand what exactly is broken. How do I track this issue down further?
    - What info do you need about my system if you wanted to and had time to help me?
(I don't think that this: "Failed to load RealtimeKit property" is the problem.)


Thanks and best regards.


EDIT:

It seems that quite a recent question: https://forums.gentoo.org/viewtopic-t-1175610.html has about the same issue. Their solution was to have USE=screencast set. I have that enabled globally and always had. And fyi I recompile the whole system yesterday, just to ... say that I did what I did... don't judge me!
Last edited by rphii on Mon Feb 09, 2026 7:55 pm, edited 1 time in total.
Top
rphii
n00b
n00b
Posts: 22
Joined: Sat Jan 08, 2022 10:07 am

dmesg output

  • Quote

Post by rphii » Thu Jan 22, 2026 10:38 pm

Update: I figured I'd look in dmesg. It was a good idea, how come I didn't think about that sooner.

Code: Select all

[   21.377322] xdg-desktop-por[2530]: segfault at 90 ip 00007f0196534aed sp 00007ffc5a25b9a0 error 4 in libpipewire-0.3.so.0.1409.0[d1aed,7f0196470000+d1000] likely on CPU 22 (core 6, socket 0)
[   21.377328] Code: fa 44 89 c2 44 89 c9 44 8b 44 24 08 4c 8b 4c 24 10 e9 67 f9 ff ff 0f 1f 80 00 00 00 00 f3 0f 1e fa 55 53 48 89 fd 48 83 ec 08 <48> 8b 8f 90 00 00 00 48 8b 7f 78 e8 93 0b ff ff 48 85 c0 74 5e 48
investigating... I will recompile some packages with debug symbols.
Top
rphii
n00b
n00b
Posts: 22
Joined: Sat Jan 08, 2022 10:07 am

Switching to pipewire

  • Quote

Post by rphii » Sun Feb 08, 2026 10:28 pm

So I tried running

Code: Select all

$ pipewire & pipewire-pulse &
And got an error that pulse wasn't running or something, apparently.

Then I emerged pipewire with the +sound-server flag, why not. It uninstalled my previously installed pulseaudio-daemon.

Code: Select all

$ emerge -av pipewire


Then, according to the wiki, I run the `gentoo-pipewire-launcher restart &`:

Checking to see the wiki, if I missed anything:

Code: Select all

$ emerge -pv libpulse wireplumber elogind pulseaudio-daemon pipewire

These are the packages that would be merged, in order:

Calculating dependencies... done!
Dependency resolution took 1.30 s (backtrack: 0/20).

[ebuild   R    ] sys-auth/elogind-255.17-r1::gentoo  USE="acl pam policykit -audit -cgroup-hybrid -debug -doc (-selinux) -test" 0 KiB
[ebuild   R    ] media-libs/libpulse-17.0::gentoo  USE="X asyncns dbus glib -doc -gtk (-selinux) -systemd -test -valgrind" ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild   R    ] media-video/pipewire-1.4.9-r3:0/0.4::gentoo  USE="X bluetooth dbus elogind extra ffmpeg gstreamer pulseaudio readline sound-server ssl -doc -echo-cancel -fftw -flatpak -gsettings -ieee1394 -jack-client -jack-sdk -libcamera -liblc3 -loudness -lv2 -man -modemmanager -pipewire-alsa -roc (-selinux) (-system-service) -systemd -test -v4l -zeroconf" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild   R    ] media-video/wireplumber-0.5.12:0/0.5::gentoo  USE="elogind -doc (-system-service) -systemd -test" LUA_SINGLE_TARGET="lua5-4 -lua5-3" 0 KiB
[ebuild  N     ] media-sound/pulseaudio-daemon-17.0-r1::gentoo  USE="X alsa alsa-plugin asyncns bluetooth dbus elogind gdbm glib gstreamer orc ssl udev webrtc-aec -aptx -equalizer -fftw -jack -ldac -lirc -ofono-headset (-oss) (-selinux) -sox (-system-wide) -systemd -tcpd -test -valgrind -zeroconf" 0 KiB
And now I don't have audio... Trying to start pavucontrol, it only displays "Establishing connection to PulseAudio. Please Wait..."

Code: Select all

$ alsamixer 
ALSA lib /var/tmp/portage/media-plugins/alsa-plugins-1.2.12/work/alsa-plugins-1.2.12/pulse/pulse.c:242:(pulse_connect) PulseAudio: Unable to connect: Connection refused

cannot open mixer: Connection refused
okay. dmesg to the rescue!

Code: Select all

$ dmesg | grep snd
[    6.683538] snd_hda_intel 0000:03:00.1: enabling device (0000 -> 0002)
[    6.683585] snd_hda_intel 0000:03:00.1: Force to non-snoop mode
[    6.683796] snd_hda_intel 0000:7a:00.6: enabling device (0000 -> 0002)
[    6.686675] snd_hda_intel 0000:03:00.1: Cannot probe codecs, giving up
[    6.691610] snd_hda_intel 0000:7a:00.6: no codecs found!
[   12.664748] usbcore: registered new interface driver snd-usb-audio
I use a usb to audio dongle thingy. (Hyper X Cloud 2)
Top
rphii
n00b
n00b
Posts: 22
Joined: Sat Jan 08, 2022 10:07 am

Solution

  • Quote

Post by rphii » Mon Feb 09, 2026 8:04 pm

Check your logs. Consult the `gentoo-pipewire-launcher` script if necessary.

Code: Select all

$ GENTOO_PIPEWIRE_LOG="pipewire.log" GENTOO_WIREPLUMBER_LOG="wireplumber.log" /usr/bin/gentoo-pipewire-launcher restart
$ cat pipewire.log
This was what helped me, it told me something along the lines that my /etc/pipewire/pipewire.conf could not be loaded... So I removed it. Whoops, I snuck some bad config in there.

Turns out pipewire never even ran XD

(I at some point wanted to reduce audio stutters, by setting default.clock.min-quantum = 2048, guess that was just wrong. Looking at the official wiki, it now makes more sense (got this from other forums), since I only had this line in it. I believe that can't be the only thing in there...)


I also went back to `pulseaudio-daemon`, and removed the `sound-server` flag on `pipewire` to get my audio back.
Top
flexibeast
l33t
l33t
Posts: 682
Joined: Mon Apr 04, 2022 4:15 am
Location: Naarm/Melbourne, Australia
Contact:
Contact flexibeast
Website

Re: Switching to pipewire

  • Quote

Post by flexibeast » Tue Feb 10, 2026 12:18 am

rphii wrote:So I tried running

Code: Select all

$ pipewire & pipewire-pulse &
And got an error that pulse wasn't running or something, apparently.
As a general rule, you should always post the exact error message, as that provides details that can help people diagnose what's causing the error.

That said, as the pipewire-pulse(1) man page notes:
pipewire-pulse starts a PulseAudio-compatible daemon that integrates with the PipeWire media server, by running a pipewire process through a systemd service.
That is, it's for use on an systemd-based system, not an OpenRC-based system.
https://wiki.gentoo.org/wiki/User:Flexibeast
My most recent wiki contributions
Top
Post Reply

5 posts • Page 1 of 1

Return to “Multimedia”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic