DisplayPort audio sink disappears after suspend/resume

The following behaviour stared after the last update I installed.

Here’s the info on my system.

$ uname -a
Linux chill 6.19.8-200.fc43.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Mar 13 22:06:06 UTC 2026 x86_64 GNU/Linux

My system has an AMD Radeon RX 9070 XT video card. The monitor is uses a DisplayPort connection, which also carries the audio output.

Intermittently, the audio drops out after a suspend, and if I look at “Sound Settings” I see that the motherboard’s audio controller has been selected. The DisplayPort output is listed as available, but if I select it I get no sound, and “Test Speakers” does not show any speakers.

Running the following command temporarily fixes the problem:

$ systemctl --user restart pipewire pipewire-pulse wireplumber

If I run “wpctl status” before and after the suspend, then in the failing case I see the following difference.

BEFORE:

Audio
 ├─ Devices:
 │      49. BRIO Ultra HD Webcam                [alsa]
 │      50. Navi 48 HDMI/DP Audio Controller    [alsa]
 │      51. Starship/Matisse HD Audio Controller [alsa]
 │  
 ├─ Sinks:
 │      47. Starship/Matisse HD Audio Controller Digital Stereo (IEC958) [vol: 0.87]
 │  *   63. Navi 48 HDMI/DP Audio Controller Digital Stereo (HDMI 2) [vol: 0.93]
 │  
 ├─ Sources:
 │      45. Starship/Matisse HD Audio Controller Analog Stereo [vol: 1.00]
 │  *   58. BRIO Ultra HD Webcam Analog Stereo  [vol: 0.65]
 │  
 ├─ Filters:
 │  
 └─ Streams:

AFTER:

Audio
 ├─ Devices:
 │      49. BRIO Ultra HD Webcam                [alsa]
 │      50. Navi 48 HDMI/DP Audio Controller    [alsa]
 │      51. Starship/Matisse HD Audio Controller [alsa]
 │  
 ├─ Sinks:
 │  *   47. Starship/Matisse HD Audio Controller Digital Stereo (IEC958) [vol: 0.87]
 │  
 ├─ Sources:
 │      45. Starship/Matisse HD Audio Controller Analog Stereo [vol: 1.00]
 │  *   58. BRIO Ultra HD Webcam Analog Stereo  [vol: 0.65]
 │  
 ├─ Filters:
 │  
 └─ Streams:

One other thing that seems like it could be related. I also have an XBox Elite 2 gaming pad that’s connected by USB. I’ve had a longstanding problem where the pad’s light doesn’t turn on after resuming. In generating logs for this problem, I noticed that almost every time the audio sink is lost, the XBox pad DOESN’T wake up, and every time the auto sink remains, the XBox pad DOES wake up.

Also, if I suspend and then wake up the system after a failure, and the XBox pad light comes on, then the audio works as well.

I’ve looked at the “journalctl” logs for both successful and failing suspend/resume cycles. The relevant sections are below (edited to stay within space limitations). I have the full logs and can provide them if they’ll help. The logs were generated with the following command:

$ sudo journalctl --merge --follow

I trimmed them with this command:

$ grep -iE -e ‘(ACPI|amdgpu|PM:|X-Box|pipewire|wireplumber)’

working journalctl log
Mar 26 18:29:55 chill kernel: PM: suspend entry (deep)
Mar 26 18:30:10 chill kernel: PM: suspend devices took 0.178 seconds
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: MODE1 reset
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: GPU mode1 reset
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: GPU smu mode1 reset
Mar 26 18:30:10 chill kernel: ACPI: PM: Preparing to enter system sleep state S3
Mar 26 18:30:10 chill kernel: ACPI: PM: Saving platform NVS memory
Mar 26 18:30:10 chill kernel: ACPI: PM: Low-level resume complete
Mar 26 18:30:10 chill kernel: ACPI: PM: Restoring platform NVS memory
Mar 26 18:30:10 chill kernel: ACPI: PM: Waking up from system sleep state S3
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: PCIE GART of 512M enabled (table at 0x00000083DAB00000).
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: PSP is resuming...
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: RAP: optional rap ta ucode is not available
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: SECUREDISPLAY: optional securedisplay ta ucode is not available
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: SMU is resuming...
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: smu driver if version = 0x0000002e, smu fw if version = 0x00000033, smu fw program = 0, smu fw version = 0x00684c00 (104.76.0)
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: SMU driver if version not matched
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: SMU is resumed successfully!
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: program CP_MES_CNTL : 0x4000000
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: program CP_MES_CNTL : 0xc000000
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: [drm] DMUB hardware initialized: version=0x0A000800
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 7 on hub 0
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 8 on hub 0
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: ring sdma0 uses VM inv eng 9 on hub 0
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: ring sdma1 uses VM inv eng 10 on hub 0
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: ring vcn_unified_0 uses VM inv eng 0 on hub 8
Mar 26 18:30:10 chill kernel: amdgpu 0000:2f:00.0: amdgpu: ring jpeg_dec uses VM inv eng 1 on hub 8
Mar 26 18:30:10 chill kernel: PM: resume devices took 0.479 seconds
Mar 26 18:30:10 chill kernel: input: Microsoft X-Box One Elite 2 pad as /devices/pci0000:00/0000:00:01.2/0000:20:00.0/0000:21:08.0/0000:2a:00.1/usb1/1-5/1-5:1.0/input/input105
Mar 26 18:30:10 chill kernel: PM: suspend exit
Mar 26 18:30:10 chill pipewire[154708]: spa.alsa: 'hdmi:1,1': playback open failed: Device or resource busy
Mar 26 18:30:10 chill pipewire[77197]: spa.alsa: 'hdmi:1,1': playback open failed: Device or resource busy
Mar 26 18:30:10 chill pipewire[77197]: mod.adapter: 0x558843440e80: can't get format: Device or resource busy
Mar 26 18:30:10 chill pipewire[154708]: mod.adapter: 0x5569bde2deb0: can't get format: Device or resource busy
Mar 26 18:30:10 chill wireplumber[154709]: s-monitors: Failed to create alsa_output.pci-0000_2f_00.1.hdmi-stereo-extra1: Object activation aborted: PipeWire proxy destroyed
Mar 26 18:30:10 chill wireplumber[77198]: s-monitors: Failed to create alsa_output.pci-0000_2f_00.1.hdmi-stereo-extra1: Object activation aborted: PipeWire proxy destroyed
Mar 26 18:30:10 chill wireplumber[154709]: wp-pw-obj-mixin: <WpNode:0x558835139660> ignoring set_param on already destroyed objects
Mar 26 18:30:10 chill wireplumber[77198]: wp-pw-obj-mixin: <WpNode:0x55ec1778bcf0> ignoring set_param on already destroyed objects
Mar 26 18:30:15 chill pipewire[77197]: spa.alsa: 'hdmi:1,1': playback open failed: Device or resource busy
Mar 26 18:30:15 chill pipewire[77197]: mod.adapter: 0x558843440e80: can't get format: Device or resource busy
Mar 26 18:30:15 chill wireplumber[77198]: s-monitors: Failed to create alsa_output.pci-0000_2f_00.1.hdmi-stereo-extra1: Object activation aborted: PipeWire proxy destroyed
Mar 26 18:30:15 chill wireplumber[77198]: wp-pw-obj-mixin: <WpNode:0x55ec17a9a5f0> ignoring set_param on already destroyed objects
Failing journalctl Log
Mar 26 18:28:15 chill kernel: PM: suspend entry (deep)
Mar 26 18:28:27 chill kernel: PM: suspend devices took 0.255 seconds
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: MODE1 reset
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: GPU mode1 reset
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: GPU smu mode1 reset
Mar 26 18:28:27 chill kernel: ACPI: PM: Preparing to enter system sleep state S3
Mar 26 18:28:27 chill kernel: ACPI: PM: Saving platform NVS memory
Mar 26 18:28:27 chill kernel: ACPI: PM: Low-level resume complete
Mar 26 18:28:27 chill kernel: ACPI: PM: Restoring platform NVS memory
Mar 26 18:28:27 chill kernel: ACPI: PM: Waking up from system sleep state S3
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: PCIE GART of 512M enabled (table at 0x00000083DAB00000).
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: PSP is resuming...
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: RAP: optional rap ta ucode is not available
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: SECUREDISPLAY: optional securedisplay ta ucode is not available
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: SMU is resuming...
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: smu driver if version = 0x0000002e, smu fw if version = 0x00000033, smu fw program = 0, smu fw version = 0x00684c00 (104.76.0)
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: SMU driver if version not matched
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: SMU is resumed successfully!
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: program CP_MES_CNTL : 0x4000000
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: program CP_MES_CNTL : 0xc000000
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: [drm] DMUB hardware initialized: version=0x0A000800
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 7 on hub 0
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 8 on hub 0
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: ring sdma0 uses VM inv eng 9 on hub 0
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: ring sdma1 uses VM inv eng 10 on hub 0
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: ring vcn_unified_0 uses VM inv eng 0 on hub 8
Mar 26 18:28:27 chill kernel: amdgpu 0000:2f:00.0: amdgpu: ring jpeg_dec uses VM inv eng 1 on hub 8
Mar 26 18:28:27 chill kernel: PM: resume devices took 0.481 seconds
Mar 26 18:28:27 chill kernel: input: Microsoft X-Box One Elite 2 pad as /devices/pci0000:00/0000:00:01.2/0000:20:00.0/0000:21:08.0/0000:2a:00.1/usb1/1-5/1-5:1.0/input/input104
Mar 26 18:28:27 chill kernel: PM: suspend exit
Mar 26 18:28:27 chill pipewire[154708]: spa.alsa: 'hdmi:1,1': playback open failed: Device or resource busy
Mar 26 18:28:27 chill pipewire[407086]: spa.alsa: 'hdmi:1,1': playback open failed: Device or resource busy
Mar 26 18:28:27 chill pipewire[407086]: mod.adapter: 0x557cf0927630: can't get format: Device or resource busy
Mar 26 18:28:27 chill pipewire[154708]: mod.adapter: 0x5569bde2deb0: can't get format: Device or resource busy
Mar 26 18:28:27 chill wireplumber[407087]: s-monitors: Failed to create alsa_output.pci-0000_2f_00.1.hdmi-stereo-extra1: Object activation aborted: PipeWire proxy destroyed
Mar 26 18:28:27 chill wireplumber[154709]: s-monitors: Failed to create alsa_output.pci-0000_2f_00.1.hdmi-stereo-extra1: Object activation aborted: PipeWire proxy destroyed
Mar 26 18:28:27 chill wireplumber[407087]: wp-pw-obj-mixin: <WpNode:0x5598f1010ef0> ignoring set_param on already destroyed objects
Mar 26 18:28:27 chill wireplumber[407087]: wp-pw-obj-mixin: <WpNode:0x5598f1010ef0> ignoring set_param on already destroyed objects
Mar 26 18:28:27 chill wireplumber[154709]: wp-pw-obj-mixin: <WpNode:0x558835389ad0> ignoring set_param on already destroyed objects
Mar 26 18:28:34 chill pipewire[407086]: spa.alsa: 'hdmi:1,1': playback open failed: Device or resource busy
Mar 26 18:28:34 chill pipewire[154708]: spa.alsa: 'hdmi:1,1': playback open failed: Device or resource busy
Mar 26 18:28:34 chill pipewire[154708]: mod.adapter: 0x5569bde2deb0: can't get format: Device or resource busy
Mar 26 18:28:34 chill pipewire[407086]: mod.adapter: 0x557cf08e79b0: can't get format: Device or resource busy
Mar 26 18:28:34 chill wireplumber[407087]: s-monitors: Failed to create alsa_output.pci-0000_2f_00.1.hdmi-stereo-extra1: Object activation aborted: PipeWire proxy destroyed
Mar 26 18:28:34 chill wireplumber[154709]: s-monitors: Failed to create alsa_output.pci-0000_2f_00.1.hdmi-stereo-extra1: Object activation aborted: PipeWire proxy destroyed
Mar 26 18:28:34 chill wireplumber[407087]: wp-pw-obj-mixin: <WpNode:0x5598f0fa8690> ignoring set_param on already destroyed objects
Mar 26 18:28:34 chill wireplumber[407087]: wp-pw-obj-mixin: <WpNode:0x5598f0fa8690> ignoring set_param on already destroyed objects
Mar 26 18:28:34 chill wireplumber[154709]: wp-pw-obj-mixin: <WpNode:0x5588350dbc90> ignoring set_param on already destroyed objects

Any help you can provide would be deeply appreciated! I’m happy to provide any other debugging information that might be helpful.

If you are comfortable with it, this systemd user service looks like it might be a viable workaround (assuming it works for your case).

2 Likes

Thanks. It also helps to know that this is a longstanding issue. I’m surprised, because I’ve been using this hardware for quite a while and this is the first time I think I’ve encountered the problem.

1 Like