Audacity (cant record desktop audio, stuck on alsa)

submitted by edited



I know this is application specific, but this relates to my overrall nix config i think, pipewire, wireplumber, all enabled. But I cannot record internal desktop audio, how do i fix this? is it a nix fix

I set the recording device to pipewire, I heard the host device needed to be set to pipewire or smthin, but only alsa shows up. If any logs are needed tell me.

EDIT:
Not really solved but I found a script that worked for pw-record, now ideally I would like to fix it for audacity at some point, or just some other gui audio recorder

cat > ~/Music/record-desktop.sh << 'EOF'
#!/bin/bash
OUTPUT="${1:-$HOME/Music/Recordings/recording-$(date +%Y%m%d-%H%M%S).wav}"
pw-record --target 0 "$OUTPUT" &
PID=$!
sleep 0.5
pw-link bluez_output.30:50:75:16:40:A6:monitor_FL pw-record:input_FL
pw-link bluez_output.30:50:75:16:40:A6:monitor_FR pw-record:input_FR
echo "Recording to $OUTPUT (PID $PID) — press Enter to stop"
read
kill $PID
echo "Done! Saved to $OUTPUT"
EOF
chmod +x ~/Music/record-desktop.sh
10
23

Log in to comment

10 Comments

doesn’t either of the loopback devices provide desktop audio?

I tried the loopback devices, didnt work, at most i made a script that worked, but i want it to work for audacity:

cat > ~/Music/record-desktop.sh << 'EOF'
#!/bin/bash
OUTPUT="${1:-$HOME/Music/Recordings/recording-$(date +%Y%m%d-%H%M%S).wav}"
pw-record --target 0 "$OUTPUT" &
PID=$!
sleep 0.5
pw-link bluez_output.30:50:75:16:40:A6:monitor_FL pw-record:input_FL
pw-link bluez_output.30:50:75:16:40:A6:monitor_FR pw-record:input_FR
echo "Recording to $OUTPUT (PID $PID) — press Enter to stop"
read
kill $PID
echo "Done! Saved to $OUTPUT"
EOF
chmod +x ~/Music/record-desktop.sh


I think you need to install pipewire-pulse and pipewire-alsa. Make sure you have the pipewire.service and pipewire-pulse.service services enabled and started. What app are you using to make the app connections?

I am not using any app like qpwgraph to make connections, all i know is that this script works:

cat > ~/Music/record-desktop.sh << 'EOF'
#!/bin/bash
OUTPUT="${1:-$HOME/Music/Recordings/recording-$(date +%Y%m%d-%H%M%S).wav}"
pw-record --target 0 "$OUTPUT" &
PID=$!
sleep 0.5
pw-link bluez_output.30:50:75:16:40:A6:monitor_FL pw-record:input_FL
pw-link bluez_output.30:50:75:16:40:A6:monitor_FR pw-record:input_FR
echo "Recording to $OUTPUT (PID $PID) — press Enter to stop"
read
kill $PID
echo "Done! Saved to $OUTPUT"
EOF
chmod +x ~/Music/record-desktop.sh

as for everything else:


[spiderunderurbed@daspidercave:~/Music]$ systemctl status --user pipewire-pulse.service 
● pipewire-pulse.service - PipeWire PulseAudio
     Loaded: loaded (/etc/systemd/user/pipewire-pulse.service; linked-runtime; preset: ignored)
    Drop-In: /nix/store/admlblh3rvzwjyhvgl8wf5fdr44iqmgc-user-units/pipewire-pulse.service.d
             └─overrides.conf
     Active: active (running) since Thu 2026-02-26 18:55:45 NZDT; 23min ago
 Invocation: f234a6d525b844ba9ee769e0d46787ec
TriggeredBy: ● pipewire-pulse.socket
   Main PID: 3143 (pipewire-pulse)
      Tasks: 3 (limit: 18874)
     Memory: 14.5M (peak: 20.7M, swap: 2.5M, swap peak: 2.5M, zswap: 472.1K)
        CPU: 1.618s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire-pulse.service
             └─3143 /nix/store/z8pz8hz2psggqsws4n7mzbbdghpcxm71-pipewire-1.4.9/bin/pipewire-pulse

Feb 26 18:55:45 daspidercave systemd[2666]: Started PipeWire PulseAudio.
Feb 26 18:55:45 daspidercave pipewire-pulse[3143]: mod.protocol-pulse: vm.overrides in pulse.properties are deprecated, use pulse.properties.ru>
Feb 26 18:55:45 daspidercave pipewire-pulse[3152]: pw.conf: execvp error 'pactl': No such file or directory
Feb 26 18:55:45 daspidercave pipewire-pulse[3154]: pw.conf: execvp error 'pactl': No such file or directory

[spiderunderurbed@daspidercave:~/Music]$ systemctl status --user pipewire-alsa
Unit pipewire-alsa.service could not be found.
[ble: exit 4]

[spiderunderurbed@daspidercave:~/Music]$ systemctl status --user pipewire-alsa.service
Unit pipewire-alsa.service could not be found.
[ble: exit 4]

[spiderunderurbed@daspidercave:~/Music]$ 


pw-record

I managed to fix it for pw-record, I dont know how to get it working for audacity:

cat > ~/Music/record-desktop.sh << 'EOF'
#!/bin/bash
OUTPUT="${1:-$HOME/Music/Recordings/recording-$(date +%Y%m%d-%H%M%S).wav}"
pw-record --target 0 "$OUTPUT" &
PID=$!
sleep 0.5
pw-link bluez_output.30:50:75:16:40:A6:monitor_FL pw-record:input_FL
pw-link bluez_output.30:50:75:16:40:A6:monitor_FR pw-record:input_FR
echo "Recording to $OUTPUT (PID $PID) — press Enter to stop"
read
kill $PID
echo "Done! Saved to $OUTPUT"
EOF
chmod +x ~/Music/record-desktop.sh

Have you tried changing the connections in this script to use the audacity inputs instead of pw-record?

Also I thought audacity was out, tenacity is in.

Also it looks like wireplumber has some options that my be relevant like node.features.audio.monitor-ports listed here:

https://pipewire.pages.freedesktop.org/wireplumber/daemon/configuration/settings.html




Is this a question?

The question mark usually denotes a question, yes.

Ah yeah. You’re right. There ist this one question mark in between thats i oversaw at first.
Either way, i wanted to hint to you thats maybe your post doesn’t get perceived as a question much…




Insert image