On 2/23/2025 20:56, mail@xxxxxxxxxx wrote:
I can confirm amdgpu.dcdebugmask=0x200 fixes it, no more stutters.
Thanks for confirming.
It would be very beneficial to include the patch making this behavior default (https://lore.kernel.org/amd-gfx/20250221160145.1730752-3-zaeem.mohamed@xxxxxxx/T/#u) in the relevant linux-stable trees, as this is a major issue for affected systems.
I CC'd stable@xxxxxxxxxxxxxxx and ask for the patch to be included in linux-stable, even though it does not have a "Fixes:" tag, if the maintainers are okay with it.
Yes; the patch has a stable tag, it should come back.
Thank you for the quick response!
Tiago
Feb 23, 2025, 17:26 by mario.limonciello@xxxxxxx:
Hello,
This sounds like to me a problem with PSR-SU. There have been a variety of these being reported the past few months. Enough so that the policy to enable it by default is being rolled back for now.
https://lore.kernel.org/amd-gfx/20250221160145.1730752-3-zaeem.mohamed@xxxxxxx/T/#u
To confirm that's the root cause you can disable it with amdgpu.dcdebugmask=0x200.
Thanks,
On 2/23/2025 10:08, mail@xxxxxxxxxx wrote:
Greetings,
I wish to report a regression in amdgpu firmware introduced in commit c99eeb4d0e13f5831ae77f7ec521162594385d5f, the problem persists until git HEAD, and reverting to the previous commit fixes the issues with no further changes to the environment.
The issue appears on a Lenovo IdeaPad Pro 5, with a Ryzen 8845HS processor, using the 780M iGPU (1002:1900 I believe). The screen on this laptop is 120Hz 2800x1800, supporting HDR.
This was tested on Archlinux 6.13.3.arch1-1, with amdgpu drivers, on both Wayland (Gnome and Hyprland) and Xorg (i3wm). I'm using amd-pstate-epp scaling driver, tested with both performance and powersave governers, to the same effect.
I will list the symptoms and attempt to guess at what the issue may be.
- The screen stops updating if no mouse input is given while watching low resolution video (wherever it is, Brave and mpv, regardless of software or hw decoding).
Low resolution matters here, I can play 4k video fine, 1080p with mild stutters, but lower becomes very bad.
Here is an example using mpv with 360p sample video, recorded on my phone as to not disturb the environment its running in. (https://youtu.be/kYHqBjPxM2s You can tell it is very choppy, the original video https://www.youtube.com/watch?v=1HrXwe6s4W8 is not choppy)
mpv did not report any dropped frames despite there obviously being a huge amount.
- In some programs, text does not get displayed instantly from when typing it, having to type 5 or 6 characters for the previous to finally show.
All these new characters show up at the same time. This was extremely noticeable with gnome's default "Console", it also happened in Brave Browser's search bar, and Signal, it does not seem to happen with Ghostty.
Constantly waving my cursor fixes all these issues. Connecting a secondary display seems to fix the issue on all displays.
From my limited knowledge this seems like a bug in damage detection for eDP + power management, where low enough power levels don't trigger redraws.
I am confident the issue was introduced in that commit since I bisected linux-firmware commits affecting amdgpu until the issue was no longer found.
Extra info:
# dmesg | grep amd
[ 0.414396] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).
[ 1.875492] [drm] amdgpu kernel modesetting enabled.
[ 1.878563] amdgpu: Virtual CRAT table created for CPU
[ 1.878573] amdgpu: Topology: Add CPU node
[ 1.882607] amdgpu 0000:63:00.0: amdgpu: Fetched VBIOS from VFCT
[ 1.882610] amdgpu: ATOM BIOS: 113-PHXGENERIC-001
[ 1.909536] amdgpu 0000:63:00.0: vgaarb: deactivate vga console
[ 1.909542] amdgpu 0000:63:00.0: amdgpu: Trusted Memory Zone (TMZ) feature enabled
[ 1.909612] amdgpu 0000:63:00.0: amdgpu: VRAM: 4096M 0x0000008000000000 - 0x00000080FFFFFFFF (4096M used)
[ 1.909614] amdgpu 0000:63:00.0: amdgpu: GART: 512M 0x00007FFF00000000 - 0x00007FFF1FFFFFFF
[ 1.909829] [drm] amdgpu: 4096M of VRAM memory ready
[ 1.909832] [drm] amdgpu: 13932M of GTT memory ready.
[ 1.935030] amdgpu 0000:63:00.0: amdgpu: reserve 0x4000000 from 0x80f8000000 for PSP TMR
[ 2.482626] amdgpu 0000:63:00.0: amdgpu: RAS: optional ras ta ucode is not available
[ 2.491068] amdgpu 0000:63:00.0: amdgpu: RAP: optional rap ta ucode is not available
[ 2.491071] amdgpu 0000:63:00.0: amdgpu: SECUREDISPLAY: securedisplay ta ucode is not available
[ 2.521960] amdgpu 0000:63:00.0: amdgpu: SMU is initialized successfully!
[ 2.601611] kfd kfd: amdgpu: Allocated 3969056 bytes on gart
[ 2.601628] kfd kfd: amdgpu: Total number of KFD nodes to be created: 1
[ 2.602048] amdgpu: Virtual CRAT table created for GPU
[ 2.602191] amdgpu: Topology: Add dGPU node [0x1900:0x1002]
[ 2.602193] kfd kfd: amdgpu: added device 1002:1900
[ 2.602206] amdgpu 0000:63:00.0: amdgpu: SE 1, SH per SE 2, CU per SH 6, active_cu_number 12
[ 2.602212] amdgpu 0000:63:00.0: amdgpu: ring gfx_0.0.0 uses VM inv eng 0 on hub 0
[ 2.602215] amdgpu 0000:63:00.0: amdgpu: ring comp_1.0.0 uses VM inv eng 1 on hub 0
[ 2.602216] amdgpu 0000:63:00.0: amdgpu: ring comp_1.1.0 uses VM inv eng 4 on hub 0
[ 2.602217] amdgpu 0000:63:00.0: amdgpu: ring comp_1.2.0 uses VM inv eng 6 on hub 0
[ 2.602219] amdgpu 0000:63:00.0: amdgpu: ring comp_1.3.0 uses VM inv eng 7 on hub 0
[ 2.602220] amdgpu 0000:63:00.0: amdgpu: ring comp_1.0.1 uses VM inv eng 8 on hub 0
[ 2.602221] amdgpu 0000:63:00.0: amdgpu: ring comp_1.1.1 uses VM inv eng 9 on hub 0
[ 2.602222] amdgpu 0000:63:00.0: amdgpu: ring comp_1.2.1 uses VM inv eng 10 on hub 0
[ 2.602223] amdgpu 0000:63:00.0: amdgpu: ring comp_1.3.1 uses VM inv eng 11 on hub 0
[ 2.602224] amdgpu 0000:63:00.0: amdgpu: ring sdma0 uses VM inv eng 12 on hub 0
[ 2.602225] amdgpu 0000:63:00.0: amdgpu: ring vcn_unified_0 uses VM inv eng 0 on hub 8
[ 2.602226] amdgpu 0000:63:00.0: amdgpu: ring jpeg_dec uses VM inv eng 1 on hub 8
[ 2.602227] amdgpu 0000:63:00.0: amdgpu: ring mes_kiq_3.1.0 uses VM inv eng 13 on hub 0
[ 2.609481] amdgpu 0000:63:00.0: amdgpu: Runtime PM not available
[ 2.610787] [drm] Initialized amdgpu 3.60.0 for 0000:63:00.0 on minor 1
[ 2.617618] fbcon: amdgpudrmfb (fb0) is primary device
[ 3.788332] amdgpu 0000:63:00.0: [drm] fb0: amdgpudrmfb frame buffer device
[ 5.120419] kvm_amd: TSC scaling supported
[ 5.120426] kvm_amd: Nested Virtualization enabled
[ 5.120428] kvm_amd: Nested Paging enabled
[ 5.120430] kvm_amd: LBR virtualization supported
[ 5.120443] kvm_amd: Virtual GIF supported
[ 5.120444] kvm_amd: Virtual NMI enabled
[ 5.170720] snd_hda_intel 0000:63:00.1: bound 0000:63:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
[ 5.191443] amd_atl: AMD Address Translation Library initialized
Thank you for your time,
Tiago Teles