Fun with Sound Cards - Setting (and keeping) a default device

Hello Forums,

I’m having an annoyance with sound outputs on my install. I have 3 sound outputs available, a USB-DAC (ifi Zen2) and 2 monitors, AORUS FO48U (I’d like this to be default) and a Philips PHL 242B1 (which I’d like to ignore/disable).

I used pacmd list-sinks to list the devices and then specified the default device with pacmd set-default-sink alsa_output.pci-0000_2d_00.1.hdmi-stereo-extra1

This works fine, whenever I reboot, my default audio is selected as intended. However, when my computer switches off the monitor for power saving etc and requires a password to log back on, both the monitor based output devices disappear and I have to reboot.

Anyway to keep the default output device defaulted and enabled?

pacmd list-sinks output after logging back in:

λ pacmd list-sinks
1 sink(s) available.
* index: 1
name: <alsa_output.usb-iFi__by_AMR__iFi__by_AMR__HD_USB_Audio_0003-00.iec958-stereo>
driver: <module-alsa-card.c>
flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
state: SUSPENDED
suspend cause: IDLE
priority: 9047
volume: front-left: 45220 /  69% / -9.67 dB,   front-right: 45220 /  69% / -9.67 dB
balance 0.00
base volume: 65536 / 100% / 0.00 dB
volume steps: 65537
muted: no
current latency: 0.00 ms
max request: 0 KiB
max rewind: 0 KiB
monitor source: 2
sample spec: s16le 2ch 44100Hz
channel map: front-left,front-right
Stereo
used by: 0
linked by: 0
configured latency: 0.00 ms; range is 0.50 .. 2000.00 ms
card: 2 <alsa_card.usb-iFi__by_AMR__iFi__by_AMR__HD_USB_Audio_0003-00>
module: 8
properties:
alsa.resolution_bits = "16"
device.api = "alsa"
device.class = "sound"
alsa.class = "generic"
alsa.subclass = "generic-mix"
alsa.name = "USB Audio"
alsa.id = "USB Audio"
alsa.subdevice = "0"
alsa.subdevice_name = "subdevice #0"
alsa.device = "0"
alsa.card = "2"
alsa.card_name = "iFi (by AMR) HD USB Audio"
alsa.long_card_name = "iFi (by AMR) iFi (by AMR) HD USB Audio at usb-0000:2f:00.3-4, high speed"
alsa.driver_name = "snd_usb_audio"
device.bus_path = "pci-0000:2f:00.3-usb-0:4:1.0"
sysfs.path = "/devices/pci0000:00/0000:00:08.1/0000:2f:00.3/usb5/5-4/5-4:1.0/sound/card2"
udev.id = "usb-iFi__by_AMR__iFi__by_AMR__HD_USB_Audio_0003-00"
device.bus = "usb"
device.vendor.id = "20b1"
device.vendor.name = "XMOS Ltd"
device.product.id = "3008"
device.product.name = "iFi (by AMR) HD USB Audio"
device.serial = "iFi__by_AMR__iFi__by_AMR__HD_USB_Audio_0003"
device.string = "iec958:2"
device.buffering.buffer_size = "352800"
device.buffering.fragment_size = "176400"
device.access_mode = "mmap+timer"
device.profile.name = "iec958-stereo"
device.profile.description = "Digital Stereo (IEC958)"
device.description = "iFi (by AMR) HD USB Audio Digital Stereo (IEC958)"
module-udev-detect.discovered = "1"
device.icon_name = "audio-card-usb"
ports:
iec958-stereo-output: Digital Output (S/PDIF) (priority 0, latency offset 0 usec, available: unknown)
properties:

active port: <iec958-stereo-output>

Here’s the inxi:

╰─λ garuda-inxi
System:
Kernel: 6.5.5-AMD-znver3 arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
clocksource: tsc available: hpet,acpi_pm
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-amd-znver3
root=UUID=01b9042a-fb52-4a06-8e80-59e8d13a25e8 rw rootflags=subvol=@
quiet quiet rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3
nvidia-drm.modeset=1
Desktop: KDE Plasma v: 5.27.8 tk: Qt v: 5.15.10 wm: kwin_x11 vt: 2
dm: SDDM Distro: Garuda Linux base: Arch Linux
Machine:
Type: Desktop Mobo: Micro-Star model: MAG X570 TOMAHAWK WIFI (MS-7C84)
v: 1.0 serial: <superuser required> UEFI: American Megatrends LLC. v: 1.E0
date: 07/04/2023
CPU:
Info: model: AMD Ryzen 9 5900X bits: 64 type: MT MCP arch: Zen 3+ gen: 4
level: v3 note: check built: 2022 process: TSMC n6 (7nm) family: 0x19 (25)
model-id: 0x21 (33) stepping: 0 microcode: 0xA201025
Topology: cpus: 1x cores: 12 tpc: 2 threads: 24 smt: enabled cache:
L1: 768 KiB desc: d-12x32 KiB; i-12x32 KiB L2: 6 MiB desc: 12x512 KiB
L3: 64 MiB desc: 2x32 MiB
Speed (MHz): avg: 3683 high: 3885 min/max: 2200/4950 boost: enabled
scaling: driver: acpi-cpufreq governor: performance cores: 1: 3694 2: 3600
3: 3700 4: 3595 5: 3700 6: 3599 7: 3721 8: 3885 9: 3739 10: 3648 11: 3700
12: 3700 13: 3598 14: 3700 15: 3600 16: 3700 17: 3700 18: 3700 19: 3596
20: 3811 21: 3732 22: 3700 23: 3647 24: 3628 bogomips: 177652
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Vulnerabilities: <filter>
Graphics:
Device-1: NVIDIA GA102 [GeForce RTX 3080] vendor: Micro-Star MSI
driver: nvidia v: 535.113.01 alternate: nvidia_drm non-free: 535.xx+
status: current (as of 2023-08) arch: Ampere code: GAxxx
process: TSMC n7 (7nm) built: 2020-22 pcie: gen: 4 speed: 16 GT/s
lanes: 16 ports: active: none off: DP-1,HDMI-A-1 empty: DP-2,DP-3
bus-ID: 2d:00.0 chip-ID: 10de:2206 class-ID: 0300
Display: x11 server: X.Org v: 21.1.8 with: Xwayland v: 23.2.1
compositor: kwin_x11 driver: X: loaded: nvidia unloaded: modesetting,nouveau
alternate: fbdev,nv,vesa gpu: nvidia,nvidia-nvswitch display-ID: :0
screens: 1
Screen-1: 0 s-res: 4920x2160 s-dpi: 140 s-size: 892x392mm (35.12x15.43")
s-diag: 974mm (38.36")
Monitor-1: DP-1 mapped: DP-0 note: disabled pos: primary,right
model: Gigabyte AORUS FO48U serial: <filter> built: 2021 res: 3840x2160
dpi: 139 gamma: 1.2 size: 700x390mm (27.56x15.35") diag: 800mm (31.5")
ratio: 16:9 modes: max: 3840x2160 min: 640x480
Monitor-2: HDMI-A-1 mapped: HDMI-0 note: disabled pos: left
model: Philips PHL 242B1 serial: <filter> built: 2023 res: 1080x1920 dpi: 93
gamma: 1.2 size: 296x527mm (11.65x20.75") diag: 604mm (23.8") ratio: 16:9
modes: max: 1920x1080 min: 640x480
API: OpenGL v: 4.6.0 NVIDIA 535.113.01 renderer: NVIDIA GeForce RTX
3080/PCIe/SSE2 direct-render: Yes
Audio:
Device-1: NVIDIA GA102 High Definition Audio vendor: Micro-Star MSI
driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
bus-ID: 2d:00.1 chip-ID: 10de:1aef class-ID: 0403
Device-2: C-Media Blue Snowball driver: hid-generic,snd-usb-audio,usbhid
type: USB rev: 1.1 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-2:2
chip-ID: 0d8c:0005 class-ID: 0300 serial: <filter>
Device-3: XMOS iFi (by AMR) HD USB Audio
driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 2.0 speed: 480 Mb/s
lanes: 1 mode: 2.0 bus-ID: 5-4:3 chip-ID: 20b1:3008 class-ID: 0300
serial: <filter>
API: ALSA v: k6.5.5-AMD-znver3 status: kernel-api with: aoss
type: oss-emulator tools: alsactl,alsamixer,amixer
Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
Server-2: PipeWire v: 0.3.80 status: active with:
1: pipewire-media-session status: active 2: pipewire-alsa type: plugin
3: pw-jack type: plugin tools: pw-cat,pw-cli
Server-3: PulseAudio v: 16.1 status: active tools: pacat,pactl
Network:
Device-1: Realtek RTL8125 2.5GbE vendor: Micro-Star MSI driver: r8169
v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1 port: f000 bus-ID: 26:00.0
chip-ID: 10ec:8125 class-ID: 0200
IF: enp38s0 state: up speed: 2500 Mbps duplex: full mac: <filter>
IF-ID-1: enp42s0f1u3c4i2 state: down mac: <filter>
IF-ID-2: wg-mullvad state: unknown speed: N/A duplex: N/A mac: N/A
Bluetooth:
Device-1: Intel AX200 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-4:4 chip-ID: 8087:0029
class-ID: e001
Report: btmgmt ID: hci0 rfk-id: 0 state: up address: <filter> bt-v: 5.2
lmp-v: 11 status: discoverable: no pairing: no class-ID: 100104
Drives:
Local Storage: total: 3.64 TiB used: 2.07 TiB (56.9%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital
model: WDS100T1X0E-00AFY0 size: 931.51 GiB block-size: physical: 512 B
logical: 512 B speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter>
fw-rev: 613200WD temp: 42.9 C scheme: GPT
ID-2: /dev/nvme1n1 maj-min: 259:4 vendor: Samsung model: SSD 980 PRO 2TB
size: 1.82 TiB block-size: physical: 512 B logical: 512 B speed: 63.2 Gb/s
lanes: 4 tech: SSD serial: <filter> fw-rev: 5B2QGXA7 temp: 41.9 C
scheme: GPT
ID-3: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 860 EVO 1TB
size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
tech: SSD serial: <filter> fw-rev: 4B6Q scheme: GPT
Partition:
ID-1: / raw-size: 925.01 GiB size: 925.01 GiB (100.00%)
used: 440.5 GiB (47.6%) fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:3
ID-2: /boot/efi raw-size: 512 MiB size: 511 MiB (99.80%)
used: 576 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /home raw-size: 1.82 TiB size: 1.82 TiB (100.00%)
used: 1.56 TiB (85.8%) fs: btrfs dev: /dev/nvme1n1p1 maj-min: 259:5
ID-4: /var/log raw-size: 925.01 GiB size: 925.01 GiB (100.00%)
used: 440.5 GiB (47.6%) fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:3
ID-5: /var/tmp raw-size: 925.01 GiB size: 925.01 GiB (100.00%)
used: 440.5 GiB (47.6%) fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:3
Swap:
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: partition size: 6 GiB used: 0 KiB (0.0%) priority: -2
dev: /dev/nvme0n1p2 maj-min: 259:2
ID-2: swap-2 type: zram size: 31.28 GiB used: 2.46 GiB (7.9%)
priority: 100 comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 24
dev: /dev/zram0
Sensors:
System Temperatures: cpu: 52.2 C mobo: N/A gpu: nvidia temp: 45 C
Fan Speeds (rpm): N/A gpu: nvidia fan: 0%
Info:
Processes: 475 Uptime: 3h 25m wakeups: 0 Memory: total: 32 GiB
available: 31.28 GiB used: 4.83 GiB (15.4%) Init: systemd v: 254
default: graphical tool: systemctl Compilers: gcc: 13.2.1 clang: 16.0.6
Packages: pm: pacman pkgs: 1996 libs: 569 tools: octopi,paru Shell: fish
v: 3.6.1 default: Bash v: 5.1.16 running-in: konsole inxi: 3.3.29
Garuda (2.6.16-1):
System install date:     2023-09-20
Last full system update: 2023-09-26
Is partially upgraded:   No
Relevant software:       snapper NetworkManager dracut nvidia-dkms
Windows dual boot:       No/Undetected
Failed units:

Additional, running pulseaudio -k will restore sound after suspend. I suspect this may be nvidia driver related :confused:

Time for team red

Sorry if this is obvious but have you tried just changing the defaults (and the disabling part) through the sound settings gui interface? That’s all I did and mine remember my settings no problem, my disabled devices stay disabled, and my devices which are powered off work find once powered back on (my DAC).

There’s nothing obvious in Arch :wink:

I have tried this yes, my issue is after suspending, the only output device available (both in gui and bash) is the SPDIF on the IFI device.

I have to restart pulse to get them back which then defaults to the correct device.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.