Update to kernel 6.11.0-19 causes blank screens when using only one displayport monitor (amdgpu)

Ubuntu Version:
Ubuntu 24.04.2 LTS

Desktop Environment:
GNOME and command line.

Problem Description:

Last night my desktop upgraded from kernel 6.11.0-17 to 6.11.0-19 and introduced this weird behaviour after rebooting.
I have 2 monitors plugged into my GPU (AMD Radeon RX 6900 XT using amdgpu driver). My main monitor is connected with displayport and the secondary monitor using HDMI.

When the HDMI monitor is switched on (either by itself or with the DP monitor as well), the system works fine.

When only the DP monitor is connected: the screen appears fine, but when I move the mouse cursor between windows or gui elements, the screen goes blank/black for 2-5 seconds before coming back.

If I use the terminal mode (ctrl + alt + F2/F3), entering one command works fine, but any command that requires the full screen to be updated (e.g. top, less or the command prompt reaching the bottom of the screen and triggering the text to scroll) causes a blank screen for 2-5 seconds.

When it occurs, the following line appears in dmesg. It’s also in /var/log/kern.log.
workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 7 times, consider switching to WQ_UNBOUND

Relevant System Information:

uname -a output (machine name redacted):

Linux <XXXX> 6.11.0-19-generic #19~24.04.1-Ubuntu SMP PREEMPT_DYNAMIC Mon Feb 17 11:51:52 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

lshw section on display:

              *-pci
                   description: PCI bridge
                   product: Navi 10 XL Downstream Port of PCI Express Switch
                   vendor: Advanced Micro Devices, Inc. [AMD/ATI]
                   physical id: 0
                   bus info: pci@0000:02:00.0
                   version: 00
                   width: 32 bits
                   clock: 33MHz
                   capabilities: pci pm pciexpress msi normal_decode bus_master cap_list
                   configuration: driver=pcieport
                   resources: irq:33 ioport:f000(size=4096) memory:ece00000-ecffffff ioport:f800000000(size=17448304640)
                 *-display
                      description: VGA compatible controller
                      product: Navi 21 [Radeon RX 6900 XT]
                      vendor: Advanced Micro Devices, Inc. [AMD/ATI]
                      physical id: 0
                      bus info: pci@0000:03:00.0
                      logical name: /dev/fb0
                      version: c0
                      width: 64 bits
                      clock: 33MHz
                      capabilities: pm pciexpress msi vga_controller bus_master cap_list rom fb
                      configuration: depth=32 driver=amdgpu latency=0 mode=2560x1440 resolution=2560,1440 visual=truecolor xres=2560 yres=1440
                      resources: iomemory:f80-f7f iomemory:fc0-fbf irq:137 memory:f800000000-fbffffffff memory:fc00000000-fc0fffffff ioport:f000(size=256) memory:ece00000-ecefffff memory:ecf00000-ecf1ffff
                 *-multimedia
                      description: Audio device
                      product: Navi 21/23 HDMI/DP Audio Controller
                      vendor: Advanced Micro Devices, Inc. [AMD/ATI]
                      physical id: 0.1
                      bus info: pci@0000:03:00.1
                      logical name: card0
                      logical name: /dev/snd/controlC0
                      logical name: /dev/snd/hwC0D0
                      logical name: /dev/snd/pcmC0D10p
                      logical name: /dev/snd/pcmC0D11p
                      logical name: /dev/snd/pcmC0D3p
                      logical name: /dev/snd/pcmC0D7p
                      logical name: /dev/snd/pcmC0D8p
                      logical name: /dev/snd/pcmC0D9p
                      version: 00
                      width: 32 bits
                      clock: 33MHz
                      capabilities: pm pciexpress msi bus_master cap_list
                      configuration: driver=snd_hda_intel latency=0
                      resources: irq:133 memory:ecf20000-ecf23fff
                    *-input:0
                         product: HDA ATI HDMI HDMI/DP,pcm=3
                         physical id: 0
                         logical name: input12
                         logical name: /dev/input/event12
                    *-input:1
                         product: HDA ATI HDMI HDMI/DP,pcm=7
                         physical id: 1
                         logical name: input13
                         logical name: /dev/input/event13
                    *-input:2
                         product: HDA ATI HDMI HDMI/DP,pcm=8
                         physical id: 2
                         logical name: input14
                         logical name: /dev/input/event15
                    *-input:3
                         product: HDA ATI HDMI HDMI/DP,pcm=9
                         physical id: 3
                         logical name: input15
                         logical name: /dev/input/event16
                    *-input:4
                         product: HDA ATI HDMI HDMI/DP,pcm=10
                         physical id: 4
                         logical name: input16
                         logical name: /dev/input/event18
                    *-input:5
                         product: HDA ATI HDMI HDMI/DP,pcm=11
                         physical id: 5
                         logical name: input17
                         logical name: /dev/input/event19

dmesg | grep amdgpu output: (the 4 workqueue errors trigger with the blank screens)

[    7.332569] [drm] amdgpu kernel modesetting enabled.
[    7.332588] amdgpu: vga_switcheroo: detected switching method \_SB_.PCI0.GP17.VGA_.ATPX handle
[    7.332739] amdgpu: ATPX version 1, functions 0x00000001
[    7.332838] amdgpu: ATPX Hybrid Graphics
[    7.342922] amdgpu: Virtual CRAT table created for CPU
[    7.342935] amdgpu: Topology: Add CPU node
[    7.343013] amdgpu 0000:03:00.0: enabling device (0006 -> 0007)
[    7.347004] amdgpu 0000:03:00.0: amdgpu: Fetched VBIOS from VFCT
[    7.347006] amdgpu: ATOM BIOS: 113-EXT60460-X02
[    7.372575] amdgpu 0000:03:00.0: vgaarb: deactivate vga console
[    7.372579] amdgpu 0000:03:00.0: amdgpu: Trusted Memory Zone (TMZ) feature disabled as experimental (default)
[    7.372607] amdgpu 0000:03:00.0: amdgpu: MEM ECC is not presented.
[    7.372608] amdgpu 0000:03:00.0: amdgpu: SRAM ECC is not presented.
[    7.372641] amdgpu 0000:03:00.0: amdgpu: VRAM: 16368M 0x0000008000000000 - 0x00000083FEFFFFFF (16368M used)
[    7.372644] amdgpu 0000:03:00.0: amdgpu: GART: 512M 0x0000000000000000 - 0x000000001FFFFFFF
[    7.372732] [drm] amdgpu: 16368M of VRAM memory ready
[    7.372734] [drm] amdgpu: 15615M of GTT memory ready.
[    9.414762] amdgpu 0000:03:00.0: amdgpu: STB initialized to 2048 entries
[    9.480949] amdgpu 0000:03:00.0: amdgpu: reserve 0xa00000 from 0x83fd000000 for PSP TMR
[    9.628761] amdgpu 0000:03:00.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available
[    9.628782] amdgpu 0000:03:00.0: amdgpu: smu driver if version = 0x00000040, smu fw if version = 0x00000041, smu fw program = 0, version = 0x003a5900 (58.89.0)
[    9.628785] amdgpu 0000:03:00.0: amdgpu: SMU driver if version not matched
[    9.628816] amdgpu 0000:03:00.0: amdgpu: use vbios provided pptable
[    9.702234] amdgpu 0000:03:00.0: amdgpu: SMU is initialized successfully!
[    9.706458] snd_hda_intel 0000:03:00.1: bound 0000:03:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
[    9.795478] amdgpu: HMM registered 16368MB device memory
[    9.796463] kfd kfd: amdgpu: Allocated 3969056 bytes on gart
[    9.796478] kfd kfd: amdgpu: Total number of KFD nodes to be created: 1
[    9.796980] amdgpu: Virtual CRAT table created for GPU
[    9.797226] amdgpu: Topology: Add dGPU node [0x73af:0x1002]
[    9.797228] kfd kfd: amdgpu: added device 1002:73af
[    9.797256] amdgpu 0000:03:00.0: amdgpu: SE 4, SH per SE 2, CU per SH 10, active_cu_number 80
[    9.797260] amdgpu 0000:03:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
[    9.797261] amdgpu 0000:03:00.0: amdgpu: ring gfx_0.1.0 uses VM inv eng 1 on hub 0
[    9.797263] amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 4 on hub 0
[    9.797264] amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 5 on hub 0
[    9.797265] amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 6 on hub 0
[    9.797266] amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 7 on hub 0
[    9.797267] amdgpu 0000:03:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 8 on hub 0
[    9.797268] amdgpu 0000:03:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 9 on hub 0
[    9.797270] amdgpu 0000:03:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 10 on hub 0
[    9.797271] amdgpu 0000:03:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 11 on hub 0
[    9.797272] amdgpu 0000:03:00.0: amdgpu: ring kiq_0.2.1.0 uses VM inv eng 12 on hub 0
[    9.797273] amdgpu 0000:03:00.0: amdgpu: ring sdma0 uses VM inv eng 13 on hub 0
[    9.797274] amdgpu 0000:03:00.0: amdgpu: ring sdma1 uses VM inv eng 14 on hub 0
[    9.797275] amdgpu 0000:03:00.0: amdgpu: ring sdma2 uses VM inv eng 15 on hub 0
[    9.797276] amdgpu 0000:03:00.0: amdgpu: ring sdma3 uses VM inv eng 16 on hub 0
[    9.797277] amdgpu 0000:03:00.0: amdgpu: ring vcn_dec_0 uses VM inv eng 0 on hub 8
[    9.797279] amdgpu 0000:03:00.0: amdgpu: ring vcn_enc_0.0 uses VM inv eng 1 on hub 8
[    9.797280] amdgpu 0000:03:00.0: amdgpu: ring vcn_enc_0.1 uses VM inv eng 4 on hub 8
[    9.797281] amdgpu 0000:03:00.0: amdgpu: ring vcn_dec_1 uses VM inv eng 5 on hub 8
[    9.797282] amdgpu 0000:03:00.0: amdgpu: ring vcn_enc_1.0 uses VM inv eng 6 on hub 8
[    9.797283] amdgpu 0000:03:00.0: amdgpu: ring vcn_enc_1.1 uses VM inv eng 7 on hub 8
[    9.797284] amdgpu 0000:03:00.0: amdgpu: ring jpeg_dec uses VM inv eng 8 on hub 8
[    9.799207] amdgpu 0000:03:00.0: amdgpu: Using BOCO for runtime pm
[    9.800307] [drm] Initialized amdgpu 3.59.0 for 0000:03:00.0 on minor 1
[    9.809808] fbcon: amdgpudrmfb (fb0) is primary device
[    9.809811] amdgpu 0000:03:00.0: [drm] fb0: amdgpudrmfb frame buffer device
[    9.826638] amdgpu 0000:3b:00.0: enabling device (0006 -> 0007)
[    9.830114] amdgpu 0000:3b:00.0: amdgpu: Fetched VBIOS from VFCT
[    9.830116] amdgpu: ATOM BIOS: 102-RAPHAEL-006
[    9.843178] amdgpu 0000:3b:00.0: amdgpu: Trusted Memory Zone (TMZ) feature disabled as experimental (default)
[    9.843212] amdgpu 0000:3b:00.0: amdgpu: VRAM: 512M 0x000000F400000000 - 0x000000F41FFFFFFF (512M used)
[    9.843214] amdgpu 0000:3b:00.0: amdgpu: GART: 1024M 0x0000000000000000 - 0x000000003FFFFFFF
[    9.843273] [drm] amdgpu: 512M of VRAM memory ready
[    9.843274] [drm] amdgpu: 15615M of GTT memory ready.
[    9.866619] amdgpu 0000:3b:00.0: amdgpu: reserve 0xa00000 from 0xf41e000000 for PSP TMR
[    9.959617] amdgpu 0000:3b:00.0: amdgpu: RAS: optional ras ta ucode is not available
[    9.967413] amdgpu 0000:3b:00.0: amdgpu: RAP: optional rap ta ucode is not available
[    9.967415] amdgpu 0000:3b:00.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available
[    9.968755] amdgpu 0000:3b:00.0: amdgpu: SMU is initialized successfully!
[    9.971721] snd_hda_intel 0000:3b:00.1: bound 0000:3b:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
[    9.981344] kfd kfd: amdgpu: Allocated 3969056 bytes on gart
[    9.981352] kfd kfd: amdgpu: Total number of KFD nodes to be created: 1
[    9.981589] amdgpu: Virtual CRAT table created for GPU
[    9.981985] amdgpu: Topology: Add dGPU node [0x164e:0x1002]
[    9.981987] kfd kfd: amdgpu: added device 1002:164e
[    9.981998] amdgpu 0000:3b:00.0: amdgpu: SE 1, SH per SE 1, CU per SH 2, active_cu_number 2
[    9.982001] amdgpu 0000:3b:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
[    9.982002] amdgpu 0000:3b:00.0: amdgpu: ring gfx_0.1.0 uses VM inv eng 1 on hub 0
[    9.982003] amdgpu 0000:3b:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 4 on hub 0
[    9.982004] amdgpu 0000:3b:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 5 on hub 0
[    9.982005] amdgpu 0000:3b:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 6 on hub 0
[    9.982006] amdgpu 0000:3b:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 7 on hub 0
[    9.982008] amdgpu 0000:3b:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 8 on hub 0
[    9.982009] amdgpu 0000:3b:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 9 on hub 0
[    9.982010] amdgpu 0000:3b:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 10 on hub 0
[    9.982011] amdgpu 0000:3b:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 11 on hub 0
[    9.982012] amdgpu 0000:3b:00.0: amdgpu: ring kiq_0.2.1.0 uses VM inv eng 12 on hub 0
[    9.982013] amdgpu 0000:3b:00.0: amdgpu: ring sdma0 uses VM inv eng 13 on hub 0
[    9.982014] amdgpu 0000:3b:00.0: amdgpu: ring vcn_dec_0 uses VM inv eng 0 on hub 8
[    9.982015] amdgpu 0000:3b:00.0: amdgpu: ring vcn_enc_0.0 uses VM inv eng 1 on hub 8
[    9.982016] amdgpu 0000:3b:00.0: amdgpu: ring vcn_enc_0.1 uses VM inv eng 4 on hub 8
[    9.982017] amdgpu 0000:3b:00.0: amdgpu: ring jpeg_dec uses VM inv eng 5 on hub 8
[    9.982799] amdgpu 0000:3b:00.0: amdgpu: Runtime PM not available
[    9.983257] [drm] Initialized amdgpu 3.59.0 for 0000:3b:00.0 on minor 2
[    9.991118] amdgpu 0000:3b:00.0: [drm] Cannot find any crtc or sizes
[ 1729.543281] workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 4 times, consider switching to WQ_UNBOUND
[ 2462.454799] workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 5 times, consider switching to WQ_UNBOUND
[ 2818.272728] workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 7 times, consider switching to WQ_UNBOUND
[ 3708.179862] workqueue: dm_irq_work_func [amdgpu] hogged CPU for >10000us 11 times, consider switching to WQ_UNBOUND

What I’ve Tried:

Connecting a HDMI device resolves the issue, but that’s just a workaround. I’d like not to need my second display on all the time!

Thanks.


I recently resolved an issue I was having regarding kernel updating and what worked for me was to back out the kernel update, purge dkms, reinstall dkms and then update the kernel.

It seems like the headers and whatnot in the dkms install had become munged. However, unlike your situation, the problems manifested before I could actually use the new kernel (i.e. during the kernel install). So, it could be something completely different that you are dealing with. Anyway, my two cents.

Thanks for the advice!

I’ve just tried downgrading to kernel 6.11.0-17 but the issue still persists on that version. I also tried going further back to 6.11.0-1016 but no joy there either.

I ran apt purge and reinstall on all the 6.11.0-19 kernel packages but the issue persists.

The fact that the issue still occurred on 6.11.0-17 makes me think that it’s not a kernel issue at all, but maybe something else installed at the same time.

/var/log/apt/history.log shows the following actions took place at the same time as the original kernel upgrade:

Start-Date: 2025-03-07  16:40:59
Commandline: /usr/bin/unattended-upgrade
Install: linux-hwe-6.11-tools-6.11.0-19:amd64 (6.11.0-19.19~24.04.1, automatic), linux-modules-extra-6.11.0-19-generic:amd64 (6.11.0-19.19~24.04.1, automatic), linux-image-6.11.0-19-generic:amd64 (6.11.0-19.19~24.04.1, automatic), linux-tools-6.11.0-19-generic:amd64 (6.11.0-19.19~24.04.1, automatic), linux-hwe-6.11-headers-6.11.0-19:amd64 (6.11.0-19.19~24.04.1, automatic), linux-headers-6.11.0-19-generic:amd64 (6.11.0-19.19~24.04.1, automatic), linux-modules-6.11.0-19-generic:amd64 (6.11.0-19.19~24.04.1, automatic)
Upgrade: linux-headers-generic-hwe-24.04:amd64 (6.11.0-17.17~24.04.2+2, 6.11.0-19.19~24.04.1), linux-generic-hwe-24.04:amd64 (6.11.0-17.17~24.04.2+2, 6.11.0-19.19~24.04.1), linux-image-generic-hwe-24.04:amd64 (6.11.0-17.17~24.04.2+2, 6.11.0-19.19~24.04.1)
End-Date: 2025-03-07  16:41:30

Start-Date: 2025-03-07  16:41:32
Commandline: /usr/bin/unattended-upgrade
Upgrade: linux-tools-common:amd64 (6.8.0-54.56, 6.8.0-55.57), linux-libc-dev:amd64 (6.8.0-54.56, 6.8.0-55.57)
End-Date: 2025-03-07  16:41:33

Start-Date: 2025-03-07  16:41:35
Commandline: /usr/bin/unattended-upgrade
Remove: linux-tools-6.8.0-52-generic:amd64 (6.8.0-52.53)
End-Date: 2025-03-07  16:41:35

Start-Date: 2025-03-07  16:41:37
Commandline: /usr/bin/unattended-upgrade
Remove: linux-modules-extra-6.8.0-52-generic:amd64 (6.8.0-52.53)
End-Date: 2025-03-07  16:41:37

Start-Date: 2025-03-07  16:41:39
Commandline: /usr/bin/unattended-upgrade
Remove: linux-modules-6.8.0-52-generic:amd64 (6.8.0-52.53), linux-image-6.8.0-52-generic:amd64 (6.8.0-52.53)
End-Date: 2025-03-07  16:41:43

Start-Date: 2025-03-07  16:41:44
Commandline: /usr/bin/unattended-upgrade
Remove: linux-tools-6.8.0-52:amd64 (6.8.0-52.53)
End-Date: 2025-03-07  16:41:45

Start-Date: 2025-03-07  20:53:27
Commandline: aptdaemon role='role-commit-packages' sender=':1.239'
Upgrade: packagekit-tools:amd64 (1.2.8-2ubuntu1.1, 1.2.8-2ubuntu1.2), google-chrome-stable:amd64 (133.0.6943.141-1, 134.0.6998.35-1), gstreamer1.0-packagekit:amd64 (1.2.8-2ubuntu1.1, 1.2.8-2ubuntu1.2), libfwupd2:amd64 (1.9.27-0ubuntu1~24.04.1, 1.9.28-0ubuntu1~24.04.1), libinput10:amd64 (1.25.0-1ubuntu2, 1.25.0-1ubuntu3), dracut-install:amd64 (060+5-1ubuntu3.2, 060+5-1ubuntu3.3), gir1.2-packagekitglib-1.0:amd64 (1.2.8-2ubuntu1.1, 1.2.8-2ubuntu1.2), packagekit:amd64 (1.2.8-2ubuntu1.1, 1.2.8-2ubuntu1.2), libnvme1t64:amd64 (1.8-3build1, 1.8-3ubuntu1), cloud-init:amd64 (24.4-0ubuntu1~24.04.2, 24.4.1-0ubuntu0~24.04.1), libpackagekit-glib2-18:amd64 (1.2.8-2ubuntu1.1, 1.2.8-2ubuntu1.2), libcryptsetup12:amd64 (2:2.7.0-1ubuntu4.1, 2:2.7.0-1ubuntu4.2), fonts-noto-color-emoji:amd64 (2.042-1, 2.047-0ubuntu0.24.04.1), fwupd:amd64 (1.9.27-0ubuntu1~24.04.1, 1.9.28-0ubuntu1~24.04.1), libinput-bin:amd64 (1.25.0-1ubuntu2, 1.25.0-1ubuntu3)
End-Date: 2025-03-07  20:53:40

Out of all that, linux-tools-common, libinput-bin and libinput10 looked like likely candidates to me, so I downgraded them to the previous version but still no fix on either kernel version.

Do any of these packages look like a possible cause to anyone? The older versions of some packages are no longer available in the ppa so I’d appreciate a starting point before I try to find them.

Thanks.

To be clear on what you have tried…

Did you purge and reinstall dkms before installing the kernel?

I did not, taking a look, dkms status returns:

virtualbox/7.0.16, 6.11.0-17-generic, x86_64: installed
virtualbox/7.0.16, 6.11.0-19-generic, x86_64: installed

Should there be anything else listed there? I’ll take a look at what I need to do to reinstall them.

I’m referring to the dkms package itself…

e.g.

sudo apt purge dkms
sudo apt install dkms

then try to reinstall the kernel; that’s all… probably won’t work, but, it might. Anyway, pretty painless - or at least it should be.

Thank for the advice. I gave purging dkms and reinstalling the kernel a try but no result. I then tried installing a fresh copy of Ubuntu onto a spare hard drive but still had the issue.

I think it’s a hardware issue. Plugging my main monitor into a laptop is also having issues so I think my monitor is dying or the cables gone bad. :frowning_face:

I’m going to check for sure but I’ll likely be marking this as resolved here if it is a hardware issue. Strange it occurred at the same time as the kernel update but likely just a coincidence. Thanks!

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