Re: F35: Default audio output device

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ed Greshko writes:

On 17/11/2021 19:58, Sam Varshavchik wrote:
Ed Greshko writes:

On 17/11/2021 07:27, Sam Varshavchik wrote:
One of my servers was rebooted two times, so far, since the update to F35.

There's no audio after each reboot. First time: after some scrambling around, I found that I simply have to switch to "Built-In Analog Stereo" in XFCE's (my desktop) audio mixer. Fine, so I wrote it off as a result of a one-time update to Pipewire.

But this happened again, after the 2nd reboot.

I saw nothing in audio mixer which lets me permanently set my default audio out.

I searched for "pipewire default audio device" and "pipewire save default audio device" but didn't find anything useful. After browsing some random links I found mentions of a "pactl" command, so after reading its man page:

$ pactl list short sinks
41 alsa_output.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.analog-stereo PipeWire    s16le 2ch 48000Hz    SUSPENDED 42    alsa_output.pci-0000_00_1b.0.analog-stereo    PipeWire s32le 2ch 48000Hz    SUSPENDED

After a reboot:

$ pactl get-default-sink
alsa_output.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.analog-stereo

Fail.

$ pactl set-default-sink alsa_output.pci-0000_00_1b.0.analog-stereo

Now I have audio again.

After logging out and back in, the default audio is unchanged. But it gets reset after every reboot. After scratching my head, I looked deeper and discovered that pactl is pulseaudio, but my understanding is that F35 switched to something called "pipewire".

More digging uncovered the existence of pw-cli. However its man page is sparse, and after starting it the "dump" and "list objects" command produced a ton of incomprehensible output. "help" didn't seem to have much help to say in terms of selecting and saving, permanently, the default output device. Wouldn't you think that this should be pretty basic, elementary stuff that any audio framework should put in front of the user, in a very visible way? But I guess not.

So, anyone knows how to set the permanent default output device?

No.  But I do have a question.

If you boot the system with the USB device disconnected, and then login, I assume sound works with the pci
device.

Then, if you plug in the USB device does it take over from the pci device?

No, it does not.

$ pactl list short sinks
40    alsa_output.pci-0000_00_1b.0.analog-stereo    PipeWire s32le 2ch 48000Hz    SUSPENDED 55 alsa_output.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.analog-stereo PipeWire    s16le 2ch 48000Hz    SUSPENDED

Only the first entry, the built-in audio jack, came up after a reboot, and that's where the audio went by default. Plugging back the USB-Audio adapter did not change the default audio-out.

So, you get the audio where you want it if you boot with the device disconnected.

Sure. There aren't any options in that case, only one audio device.

Have you checked the journal or dmesg to maybe see what is happening when the system is booted with the device connected?

I have about 1500 lines in dmesg after a reboot. Random greps were not very useful, no hits on "alsa", or anything.

The USB device is announcing its presence very early on, a few seconds into the boot.

[    1.857177] usb 3-1: Product: USB Audio CODEC
[ 1.861220] input: Burr-Brown from TI USB Audio CODEC as /devices/pci0000:00/0000:00:1a.0/usb3/3-1/3-1:1.3/0003:08BB: 2902.0002/input/input3 [ 1.912906] hid-generic 0003:08BB:2902.0002: input,hidraw1: USB HID v1.00 Device [Burr-Brown from TI USB Audio CODEC ] on usb-0000:00:1a. 0-1/input3

The first mention that I can find, of the built-in audio out, is 27 seconds after boot.

[ 27.999140] input: HDA Intel Rear Mic as /devices/pci0000:00/0000:00:1b. 0/sound/card0/input6 [ 27.999791] input: HDA Intel Front Mic as /devices/pci0000:00/0000:00:1b. 0/sound/card0/input7 [ 28.000355] input: HDA Intel Line as /devices/pci0000:00/0000:00:1b. 0/sound/card0/input8 [ 28.001048] input: HDA Intel Line Out Front as /devices/pci0000:00/0000:00:1b.0/sound/card0/input9 [ 28.001991] input: HDA Intel Line Out Surround as /devices/pci0000:00/0000:00:1b.0/sound/card0/input10 [ 28.002675] input: HDA Intel Line Out CLFE as /devices/pci0000:00/0000:00:1b.0/sound/card0/input11 [ 28.003455] input: HDA Intel Line Out Side as /devices/pci0000:00/0000:00:1b.0/sound/card0/input12 [ 28.004254] input: HDA Intel Front Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input13 [ 28.005076] input: HDA Intel SPDIF as /devices/pci0000:00/0000:00:1b. 0/sound/card0/input14

And that's the only mention of it.

I don't really see anything here referencing anything in userspace, like alsa or pipewire. The last grep that I could find returned one more line, 30 seconds after boot:

[   30.289470] usbcore: registered new interface driver snd-usb-audio

But I do have some fingers to point at userspace, rather than anything at the kernel level. I still had the last F34 kernel installed (5.14.15-200.fc34.x86_64), booted that, and still got the wrong audio by default. Unless I suffered in stroke this worked in F34. The first time I was aware of this problem is the first boot after the update to F35.

Anyway, the server auto-logins to my desktop, but I was booting it, and attempting to ssh into it. As soon as it started replying to pings I started trying to ssh in, and as soon as I got in:

$ pactl get-default-sink
@DEFAULT_SINK@

A little bit later, after everything came up:

$ pactl get-default-sink
alsa_output.usb-Burr-Brown_from_TI_USB_Audio_CODEC-00.analog-stereo

So, it looks to me like userspace is getting it wrong.

I have a very, very dim recollection that after I updated to F34, which I believe was the first release that switched to pipewire, I had the wrong audio defaulted, but after I fixed it in audio mixer, it stuck from that point on. So, either:

1) It used to be that alsa or pipewire remembers your default audio out and tries to preserve this, but this doesn't work any more, or

2) Nothing is actually memorizing/saving the default audio out to preserve it, but the heuristics that set the initial default audio out after boot are now getting it wrong.

I do see an available pipewire update now, maybe I'll try it over the weekend…


Attachment: pgpFSKVQOjIpn.pgp
Description: PGP signature

_______________________________________________
users mailing list -- users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to users-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/users@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux