You are not logged in.

#1 2019-04-24 04:20:07

thanatos2996
Member
From: United States
Registered: 2019-04-24
Posts: 4

PulseAudio remaps GPU ports on boot and suspend

I am running arch on a system with an Nvidia GTX-1080, and have been running into an annoying issue. I am using 3 outputs (2 DP and 1 HDMI), and want audio to always come through one of the DP's. The issue is that the profile which corresponds to the desired port will randomly be either HDMI 0 or HDMI 3 on any given boot or wake from suspend. This issue also occurred nearly the same way on an AMD RX-470, so It is unlikely to be an Nvidia problem.

I can think of a couple solutions:
- Output audio to all ports simultaneously, if possible. It doesn't hurt in my setup to have audio going to the other 2 devices.
- Change pulse or ALSA configs to make the profile predictable
- Use a script to determine which profile is needed and switch to it


I would appreciate any pointers on how to fix this, it is quite annoying having to pull up pavucontrol every other time I want audio.

Thanks

Offline

#2 2019-04-24 09:30:10

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 7,035

Re: PulseAudio remaps GPU ports on boot and suspend

This sounds like those audio outputs are assigned in semi-random order by kernel modules..

please post output of :

$ lspci -knn
$ aplay --list-devices
$ aplay --list-pcms

(aplay comes with alsa-utils)


Also check https://wiki.archlinux.org/index.php/Ad … sound_card

Last edited by Lone_Wolf (2019-04-24 09:32:13)


Multi-init booting with apg Openrc and systemd coexisting
Automounting : not needed, i prefer pmount
Aur helpers : makepkg + my own local repo === rarely need them

Offline

#3 2019-04-24 16:39:18

thanatos2996
Member
From: United States
Registered: 2019-04-24
Posts: 4

Re: PulseAudio remaps GPU ports on boot and suspend

lspci -knn:

00:00.0 Host bridge [0600]: Intel Corporation 5520/5500/X58 I/O Hub to ESI Port [8086:3405] (rev 22)
        Subsystem: Dell 5520/5500/X58 I/O Hub to ESI Port [1028:0293]
00:01.0 PCI bridge [0604]: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 1 [8086:3408] (rev 22)
        Kernel driver in use: pcieport
00:03.0 PCI bridge [0604]: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 3 [8086:340a] (rev 22)
        Kernel driver in use: pcieport
00:07.0 PCI bridge [0604]: Intel Corporation 5520/5500/X58 I/O Hub PCI Express Root Port 7 [8086:340e] (rev 22)
        Kernel driver in use: pcieport
00:14.0 PIC [0800]: Intel Corporation 7500/5520/5500/X58 I/O Hub System Management Registers [8086:342e] (rev 22)
        Subsystem: Device [0028:0093]
        Kernel driver in use: i7core_edac
        Kernel modules: i7core_edac
00:14.1 PIC [0800]: Intel Corporation 7500/5520/5500/X58 I/O Hub GPIO and Scratch Pad Registers [8086:3422] (rev 22)
        Subsystem: Device [0028:0093]
00:14.2 PIC [0800]: Intel Corporation 7500/5520/5500/X58 I/O Hub Control Status and RAS Registers [8086:3423] (rev 22)
        Subsystem: Device [0028:0093]
00:1a.0 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #4 [8086:3a37]
        Subsystem: Dell 82801JI (ICH10 Family) USB UHCI Controller [1028:0293]
        Kernel driver in use: uhci_hcd
        Kernel modules: uhci_hcd
00:1a.1 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #5 [8086:3a38]
        Subsystem: Dell 82801JI (ICH10 Family) USB UHCI Controller [1028:0293]
        Kernel driver in use: uhci_hcd
        Kernel modules: uhci_hcd
00:1a.2 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #6 [8086:3a39]
        Subsystem: Dell 82801JI (ICH10 Family) USB UHCI Controller [1028:0293]
        Kernel driver in use: uhci_hcd
        Kernel modules: uhci_hcd
00:1a.7 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #2 [8086:3a3c]
        Subsystem: Dell 82801JI (ICH10 Family) USB2 EHCI Controller [1028:0293]
        Kernel driver in use: ehci-pci
        Kernel modules: ehci_pci
00:1b.0 Audio device [0403]: Intel Corporation 82801JI (ICH10 Family) HD Audio Controller [8086:3a3e]
        Subsystem: Dell 82801JI (ICH10 Family) HD Audio Controller [1028:0293]
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
00:1c.0 PCI bridge [0604]: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 1 [8086:3a40]
        Kernel driver in use: pcieport
00:1c.5 PCI bridge [0604]: Intel Corporation 82801JI (ICH10 Family) PCI Express Root Port 6 [8086:3a4a]
        Kernel driver in use: pcieport
00:1d.0 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #1 [8086:3a34]
        Subsystem: Dell 82801JI (ICH10 Family) USB UHCI Controller [1028:0293]
        Kernel driver in use: uhci_hcd
        Kernel modules: uhci_hcd
00:1d.1 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #2 [8086:3a35]
        Subsystem: Dell 82801JI (ICH10 Family) USB UHCI Controller [1028:0293]
        Kernel driver in use: uhci_hcd
        Kernel modules: uhci_hcd
00:1d.2 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB UHCI Controller #3 [8086:3a36]
        Subsystem: Dell 82801JI (ICH10 Family) USB UHCI Controller [1028:0293]
        Kernel driver in use: uhci_hcd
        Kernel modules: uhci_hcd
00:1d.7 USB controller [0c03]: Intel Corporation 82801JI (ICH10 Family) USB2 EHCI Controller #1 [8086:3a3a]
        Subsystem: Dell 82801JI (ICH10 Family) USB2 EHCI Controller [1028:0293]
        Kernel driver in use: ehci-pci
        Kernel modules: ehci_pci
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev 90)
00:1f.0 ISA bridge [0601]: Intel Corporation 82801JIR (ICH10R) LPC Interface Controller [8086:3a16]
        Subsystem: Dell 82801JIR (ICH10R) LPC Interface Controller [1028:0293]
        Kernel driver in use: lpc_ich
        Kernel modules: lpc_ich
00:1f.2 SATA controller [0106]: Intel Corporation 82801JI (ICH10 Family) SATA AHCI Controller [8086:3a22]
        Subsystem: Dell 82801JI (ICH10 Family) SATA AHCI Controller [1028:0293]
        Kernel driver in use: ahci
        Kernel modules: ahci
00:1f.3 SMBus [0c05]: Intel Corporation 82801JI (ICH10 Family) SMBus Controller [8086:3a30]
        Subsystem: Dell 82801JI (ICH10 Family) SMBus Controller [1028:0293]
        Kernel driver in use: i801_smbus
        Kernel modules: i2c_i801
01:00.0 USB controller [0c03]: NEC Corporation uPD720200 USB 3.0 Host Controller [1033:0194] (rev 03)
        Kernel driver in use: xhci_hcd
        Kernel modules: xhci_pci
03:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104 [GeForce GTX 1080] [10de:1b80] (rev a1)
        Subsystem: eVga.com. Corp. GP104 [GeForce GTX 1080] [3842:6183]
        Kernel driver in use: nvidia
        Kernel modules: nouveau, nvidia_drm, nvidia
03:00.1 Audio device [0403]: NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0] (rev a1)
        Subsystem: eVga.com. Corp. GP104 High Definition Audio Controller [3842:6183]
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd_hda_intel
04:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 09)
        Subsystem: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:0123]
        Kernel driver in use: r8169
        Kernel modules: r8169
05:00.0 Ethernet controller [0200]: Broadcom Inc. and subsidiaries NetXtreme BCM5761 Gigabit Ethernet PCIe [14e4:1681] (rev 10)
        Subsystem: Dell NetXtreme BCM5761 Gigabit Ethernet PCIe [1028:0293]
        Kernel driver in use: tg3
        Kernel modules: tg3
3f:00.0 Host bridge [0600]: Intel Corporation Xeon 5600 Series QuickPath Architecture Generic Non-core Registers [8086:2c70] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series QuickPath Architecture Generic Non-core Registers [8086:8086]
3f:00.1 Host bridge [0600]: Intel Corporation Xeon 5600 Series QuickPath Architecture System Address Decoder [8086:2d81] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series QuickPath Architecture System Address Decoder [8086:8086]
3f:02.0 Host bridge [0600]: Intel Corporation Xeon 5600 Series QPI Link 0 [8086:2d90] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series QPI Link 0 [8086:8086]
3f:02.1 Host bridge [0600]: Intel Corporation Xeon 5600 Series QPI Physical 0 [8086:2d91] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series QPI Physical 0 [8086:8086]
3f:02.2 Host bridge [0600]: Intel Corporation Xeon 5600 Series Mirror Port Link 0 [8086:2d92] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series Mirror Port Link 0 [8086:8086]
3f:02.3 Host bridge [0600]: Intel Corporation Xeon 5600 Series Mirror Port Link 1 [8086:2d93] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series Mirror Port Link 1 [8086:8086]
3f:02.4 Host bridge [0600]: Intel Corporation Xeon 5600 Series QPI Link 1 [8086:2d94] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series QPI Link 1 [8086:8086]
3f:02.5 Host bridge [0600]: Intel Corporation Xeon 5600 Series QPI Physical 1 [8086:2d95] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series QPI Physical 1 [8086:8086]
3f:03.0 Host bridge [0600]: Intel Corporation Xeon 5600 Series Integrated Memory Controller Registers [8086:2d98] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series Integrated Memory Controller Registers [8086:8086]
3f:03.1 Host bridge [0600]: Intel Corporation Xeon 5600 Series Integrated Memory Controller Target Address Decoder [8086:2d99] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series Integrated Memory Controller Target Address Decoder [8086:8086]
3f:03.2 Host bridge [0600]: Intel Corporation Xeon 5600 Series Integrated Memory Controller RAS Registers [8086:2d9a] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series Integrated Memory Controller RAS Registers [8086:8086]
3f:03.4 Host bridge [0600]: Intel Corporation Xeon 5600 Series Integrated Memory Controller Test Registers [8086:2d9c] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series Integrated Memory Controller Test Registers [8086:8086]
3f:04.0 Host bridge [0600]: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Control [8086:2da0] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Control [8086:8086]
3f:04.1 Host bridge [0600]: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Address [8086:2da1] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Address [8086:8086]
3f:04.2 Host bridge [0600]: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Rank [8086:2da2] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Rank [8086:8086]
3f:04.3 Host bridge [0600]: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Thermal Control [8086:2da3] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 0 Thermal Control [8086:8086]
3f:05.0 Host bridge [0600]: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Control [8086:2da8] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Control [8086:8086]
3f:05.1 Host bridge [0600]: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Address [8086:2da9] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Address [8086:8086]
3f:05.2 Host bridge [0600]: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Rank [8086:2daa] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Rank [8086:8086]
3f:05.3 Host bridge [0600]: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Thermal Control [8086:2dab] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 1 Thermal Control [8086:8086]
3f:06.0 Host bridge [0600]: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Control [8086:2db0] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Control [8086:8086]
3f:06.1 Host bridge [0600]: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Address [8086:2db1] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Address [8086:8086]
3f:06.2 Host bridge [0600]: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Rank [8086:2db2] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Rank [8086:8086]
3f:06.3 Host bridge [0600]: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Thermal Control [8086:2db3] (rev 02)
        Subsystem: Intel Corporation Xeon 5600 Series Integrated Memory Controller Channel 2 Thermal Control [8086:8086]

aplay --list-devices:

**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: AD1984A Analog [AD1984A Analog]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 2: AD1984A Alt Analog [AD1984A Alt Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 3: HDMI 0 [HDMI 0]
  Subdevices: 0/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: NVidia [HDA NVidia], device 9: HDMI 3 [HDMI 3]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

aplay --list-pcms:

null
    Discard all samples (playback) or generate zero samples (capture)
default:CARD=Intel
    HDA Intel, AD1984A Analog
    Default Audio Device
sysdefault:CARD=Intel
    HDA Intel, AD1984A Analog
    Default Audio Device
front:CARD=Intel,DEV=0
    HDA Intel, AD1984A Analog
    Front speakers
surround21:CARD=Intel,DEV=0
    HDA Intel, AD1984A Analog
    2.1 Surround output to Front and Subwoofer speakers
surround40:CARD=Intel,DEV=0
    HDA Intel, AD1984A Analog
    4.0 Surround output to Front and Rear speakers
surround41:CARD=Intel,DEV=0
    HDA Intel, AD1984A Analog
    4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=Intel,DEV=0
    HDA Intel, AD1984A Analog
    5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=Intel,DEV=0
    HDA Intel, AD1984A Analog
    5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=Intel,DEV=0
    HDA Intel, AD1984A Analog
    7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
hdmi:CARD=NVidia,DEV=0
    HDA NVidia, HDMI 0
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=1
    HDA NVidia, HDMI 1
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=2
    HDA NVidia, HDMI 2
    HDMI Audio Output
hdmi:CARD=NVidia,DEV=3
    HDA NVidia, HDMI 3
    HDMI Audio Output

I checked the wiki page, but I am not having an issue with the sound cards changing order, just the devices on card 1.

Last edited by thanatos2996 (2019-04-24 16:52:42)

Offline

#4 2019-04-25 11:02:54

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 7,035

Re: PulseAudio remaps GPU ports on boot and suspend

Picture is getting clearer.

HDMI and Display Port monitors combine audio and video in one connection.
Do the attached monitors also change their designation ?


Multi-init booting with apg Openrc and systemd coexisting
Automounting : not needed, i prefer pmount
Aur helpers : makepkg + my own local repo === rarely need them

Offline

#5 2019-04-26 01:21:59

thanatos2996
Member
From: United States
Registered: 2019-04-24
Posts: 4

Re: PulseAudio remaps GPU ports on boot and suspend

The monitors do not change designation, they are always on DP-3, DP-4, and HDMI-0.

Offline

#6 2019-04-26 08:04:37

V1del
Forum Moderator
Registered: 2012-10-16
Posts: 6,892

Re: PulseAudio remaps GPU ports on boot and suspend

Mh yes, but do e.g. the monitor that's on dp-3 swap with the monitor that's on dp-4 ? FWIW to get an overview of pulse's representation, can you post

pacmd list-cards
pacmd list-sinks

Offline

#7 2019-04-26 13:26:52

sincomil
Member
Registered: 2018-02-13
Posts: 91

Re: PulseAudio remaps GPU ports on boot and suspend

I can confirm exactly same issue with pulseaudio outputs on my nVidia GTX 1080 Ti, I have 3 monitors connected by DisplayPort. Each time my computer start from suspend the sound comes randomly from one of my monitors speakers.
Addition:  Screen layout  of my desktop (wallpapers, icons, screen position, and etc) does not changing their place.

Last edited by sincomil (2019-04-26 13:30:44)

Offline

#8 2019-04-26 14:08:33

thanatos2996
Member
From: United States
Registered: 2019-04-24
Posts: 4

Re: PulseAudio remaps GPU ports on boot and suspend

V1del wrote:

Mh yes, but do e.g. the monitor that's on dp-3 swap with the monitor that's on dp-4 ?

It does not. If it did I could regex it off xrandr. The audio device number changes independently of the display port number.

Offline

Board footer

Powered by FluxBB