Fedora 38 amd Ryzen 7 7700X Integrated GPU does not want to use multi-monitoring

I’ve just changed my PC. To avoid having to reinstall everything, I cloned my disk, went from Intel/Nvivia to Ryzen 7 7700x on an Asus motherboard, two video connectors (HDMI and Display Port) for the integrated GPU. The integrated graphics card only takes one of the two monitors (the one on HDMI).

I’ve unpacked all the Nvidia and Intel packages. Installed amd-gpu. Removed, reinstalled, with one monitor, with both, etc…

If I plug in only the Display Port, it works. When I plug in both, there are huge lags of a few seconds, then the activity on the HDMI comes back for ~10 sec and lags again.

Test done under gnome, all updated to the latest version.

The settings in the bios are good, with window (which I installed on another disk), the amd drivers recognize both very well and everything works normally.

So, according to everything I’ve seen in the various forums

$ dmesg | grep secure

[    0.000000] secureboot: Secure boot disabled
[    0.003496] secureboot: Secure boot disabled
[    8.225977] amdgpu 0000:10:00.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available
$ lspci -nnk | grep VGA
10:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Raphael [1002:164e] (rev c3)

$ inxi -Gxxx
  Device-1: AMD Raphael vendor: ASUSTeK driver: amdgpu v: kernel arch: RDNA-2
    pcie: speed: 16 GT/s lanes: 16 ports: active: HDMI-A-1 empty: DP-1
    bus-ID: 10:00.0 chip-ID: 1002:164e class-ID: 0300 temp: 40.0 C
  Device-2: Logitech HD Pro Webcam C920 driver: snd-usb-audio,uvcvideo
    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 bus-ID: 1-2.1:3
    chip-ID: 046d:082d class-ID: 0102 serial: 683D21AF
  Display: x11 server: X.Org v: 1.20.14 with: Xwayland v: 22.1.9 driver: X:
    loaded: amdgpu unloaded: fbdev,modesetting,vesa dri: radeonsi gpu: amdgpu
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 2560x1440 s-dpi: 96 s-size: 677x381mm (26.65x15.00")
    s-diag: 777mm (30.58")
  Monitor-1: HDMI-A-1 mapped: HDMI-A-0 model: PA278QV serial: L8LMQS117805
    res: 2560x1440 hz: 60 dpi: 109 size: 597x336mm (23.5x13.23")
    diag: 685mm (27") modes: max: 2560x1440 min: 720x400
  API: OpenGL v: 4.6 Mesa 23.1.3 renderer: AMD Radeon Graphics
    (raphael_mendocino LLVM 16.0.5 DRM 3.52 6.3.12-200.fc38.x86_64)
    direct-render: Yes

Part of dmesg | grep amdgpu, this warning on init card :

[   10.734842] WARNING: CPU: 10 PID: 576 at drivers/gpu/drm/amd/amdgpu/../display/dc/clk_mgr/dcn315/dcn315_smu.c:161 dcn315_smu_send_msg_with_param+0x105/0x130 [amdgpu]
[   10.735069] Modules linked in: xt_CHECKSUM xt_MASQUERADE xt_conntrack ipt_REJECT nf_reject_ipv4 ip6table_mangle ip6table_nat ip6table_filter iptable_mangle iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 iptable_filter bridge stp llc vboxnetadp(OE) vboxnetflt(OE) qrtr vboxdrv(OE) sunrpc binfmt_misc vfat fat amdgpu snd_hda_codec_realtek snd_hda_codec_generic snd_hda_codec_hdmi snd_hda_intel snd_intel_dspcfg snd_intel_sdw_acpi snd_usb_audio snd_hda_codec uvcvideo intel_rapl_msr intel_rapl_common snd_hda_core edac_mce_amd snd_usbmidi_lib snd_rawmidi uvc snd_hwdep videobuf2_vmalloc iommu_v2 kvm_amd videobuf2_memops drm_buddy snd_seq videobuf2_v4l2 gpu_sched i2c_algo_bit videobuf2_common snd_seq_device drm_ttm_helper eeepc_wmi snd_pcm kvm ttm asus_wmi snd_timer videodev ledtrig_audio sparse_keymap irqbypass drm_display_helper snd platform_profile rfkill rapl joydev wmi_bmof mc cec pcspkr soundcore ccp k10temp r8169 i2c_piix4 gpio_amdpt gpio_generic acpi_cpufreq loop zram hid_logitech_hidpp hid_logitech_dj
[   10.735120] RIP: 0010:dcn315_smu_send_msg_with_param+0x105/0x130 [amdgpu]
[   10.735326]  ? dcn315_smu_send_msg_with_param+0x105/0x130 [amdgpu]
[   10.735515]  ? dcn315_smu_send_msg_with_param+0x105/0x130 [amdgpu]
[   10.735707]  ? dcn315_smu_send_msg_with_param+0x105/0x130 [amdgpu]
[   10.735886]  ? dcn315_smu_send_msg_with_param+0xb2/0x130 [amdgpu]
[   10.736064]  dcn315_smu_set_dispclk+0x3b/0x50 [amdgpu]
[   10.736242]  dcn315_update_clocks+0x367/0x410 [amdgpu]
[   10.736421]  dcn20_prepare_bandwidth+0x3b/0x150 [amdgpu]
[   10.736617]  dc_commit_state_no_check+0x13c/0xe30 [amdgpu]
[   10.736802]  ? dc_validate_global_state+0x345/0x3e0 [amdgpu]
[   10.736981]  dc_commit_state+0x10b/0x130 [amdgpu]
[   10.737157]  amdgpu_dm_atomic_commit_tail+0x5b5/0x3670 [amdgpu]
[   10.737357]  ? resource_build_scaling_params+0x964/0xf50 [amdgpu]
[   10.737537]  ? dcn30_internal_validate_bw+0x90f/0x9d0 [amdgpu]
[   10.737720]  ? dcn31_validate_bandwidth+0x12f/0x2d0 [amdgpu]
[   10.737899]  ? dc_validate_global_state+0x307/0x3e0 [amdgpu]
[   10.738083]  ? dm_plane_helper_prepare_fb+0x17f/0x2f0 [amdgpu]
[   10.738297]  amdgpu_drm_ioctl+0x4e/0x90 [amdgpu]

And other part of dmesg | grep amdgpu, surely the source of the problem, but limited in my knowledge :frowning:

[   40.220862] [drm:dc_dmub_srv_cmd_queue [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
[   40.221002] [drm:dc_dmub_srv_cmd_queue [amdgpu]] *ERROR* Error queuing DMUB command: status=2
[   40.371827] [drm:dc_dmub_srv_wait_idle [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
[   40.375809] [drm:parse_hdmi_amd_vsdb [amdgpu]] *ERROR* EDID CEA parser failed
[   40.376669] [drm:parse_hdmi_amd_vsdb [amdgpu]] *ERROR* EDID CEA parser failed
[   40.377593] [drm:parse_hdmi_amd_vsdb [amdgpu]] *ERROR* EDID CEA parser failed
[   40.378301] [drm:parse_hdmi_amd_vsdb [amdgpu]] *ERROR* EDID CEA parser failed
[   41.038416] [drm:dc_dmub_srv_cmd_queue [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3
[   41.038626] [drm:dc_dmub_srv_cmd_queue [amdgpu]] *ERROR* Error queuing DMUB command: status=2

Thanks in advance!

So, I found this : [drm:dc_dmub_srv_wait_idle [amdgpu]] *ERROR* Error waiting for DMUB idle: status=3 log spam on 5.16.3 (#1887) · Issues · drm / amd · GitLab

That seems to be my problem, and the solution is add drm.vblankoffdelay=0 to the kernel parameters.

But didn´t work for me.

So, finaly I found the solution here :


Vitezslav Zivota 2023-07-12 08:58:17 UTC

Latest working version is amd-gpu-firmware-20230515-150.fc38.noarch.rpm which you can download from linux-firmware-20230515-150.fc38 | Build Info | koji, this fixes the “Error waiting for DMUB idle”.

Do not forget to regenerate initramfs (dracut --regenerate-all --force) after firmware downgrade.

So I Do :

$ sudo rpm -Uvh --oldpackage amd-gpu-firmware-20230515-150.fc38.noarch.rpm
$ sudo dracut --regenerate-all --force

All is work now, with kernel 6.3.12-200.

And if you want hold the update this package (amd-gpu-firmware) see Fedore section in : https://www.baeldung.com/linux/prevent-specific-package-update.

1 Like