Hi there! For context, I’m on EndeavourOS using Pipewire.

So like the title says, my audio configuration works until I reboot my PC and then I need to fix it. I’m using both my CPU’s internal audio (to power a microphone and headphones through 3.5mm audio jacks) as well as my GPU (to send audio to my monitor through HDMI). I never use the headphones and monitor speakers concurrently, I switch between them in the device manager as needed.

When I reboot, only my HDMI audio and microphone appear in my device manager. The only fix I’ve found so far is to sudo pacman -S alsa-utils, which makes my internal audio reappear but makes my microphone disappear. I then re-reinstall alsa-utils which makes the microphone reappear, giving me access to all three of my devices.

Anyone have any leads on how to permanently fix this? My system still works, but it feels really silly re-installing alsa-utils twice after every reboot.

  • mote@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    10 months ago

    Making a guess (possible clue path for you to go down), the alsa-utils package deploys a udev ruleset and some systemd services to save and restore state. It sort of sounds like your system is not detecting audio state on boot or some other shenanigan which an uninstall/reinstall of the package fixes by tricking the system into re-running udev and/or a service related. Start maybe with looking at what these are doing in relation to your configuration:

    usr/lib/systemd/system/alsa-restore.service
    usr/lib/systemd/system/alsa-state.service
    usr/lib/udev/rules.d/90-alsa-restore.rules
    

    In theory there’s data in /var/lib/alsa/ (usually an “asound.state” file, etc.) so it might be worth poking around there a bit as well to see what pops out of the woodwork.

    • Evkob@lemmy.caOP
      link
      fedilink
      arrow-up
      1
      ·
      10 months ago

      I’m really not familiar with ALSA but nothing in these files seems out of place, with the possible exception that they state a condition “PathExists” for a path that does not exist on my system (/etc/alsa/state-daemon.conf). I’ll try creating the file and messing around with some commands, see if that helps.