AMD RX640 GPU fault detected: 147 0x00024402

Machine here with dual monitors and have noticed complete screens display garbled in purplish/brownish whatever little boxes after wake from suspend once today. Fresh boot today did display this also and machine locks completely.

# lspci -k | grep -A 2 -E "(VGA|3D)"
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Lexa [Radeon 540X/550X/630 / RX 640 / E9171 MCM] (rev c1)
        Subsystem: Dell Device 1713
        Kernel driver in use: amdgpu
dmesg
[   38.043128] [      C1] amdgpu 0000:01:00.0: amdgpu: GPU fault detected: 147 0x00024402
[   38.043137] [      C1] amdgpu 0000:01:00.0: amdgpu:  Process firefox pid 5258 thread firefox:cs0 pid 6076
[   38.043142] [      C1] amdgpu 0000:01:00.0: amdgpu:   VM_CONTEXT1_PROTECTION_FAULT_ADDR   0x0011B600
[   38.043146] [      C1] amdgpu 0000:01:00.0: amdgpu:   VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x09044002
[   38.043149] [      C1] amdgpu 0000:01:00.0: amdgpu: VM fault (0x02, vmid 4, pasid 32791) at page 1160704, write from 'TC1' (0x54433100) (68)

:~ # journalctl -b | grep "amdgpu"


Jan 05 21:48:23 hightower-i5-6600k kernel: Command line: BOOT_IMAGE=/boot/vmlinuz-6.18.3-3.gc68e342-default root=/dev/mapper/system-root resume=/dev/system/swap splash=none plymouth.enable=0 security=selinux selinux=1 amdgpu.dc=1 amdgpu.exp_hw_support=1 amdgpu.deep_color=1 amdgpu.sched_hw_submission=4 mitigations=auto intel_iommu=on
Jan 05 21:48:23 hightower-i5-6600k kernel: Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.18.3-3.gc68e342-default root=/dev/mapper/system-root resume=/dev/system/swap splash=none plymouth.enable=0 security=selinux selinux=1 amdgpu.dc=1 amdgpu.exp_hw_support=1 amdgpu.deep_color=1 amdgpu.sched_hw_submission=4 mitigations=auto intel_iommu=on
Jan 05 21:48:24 hightower-i5-6600k dracut-cmdline[230]: Using kernel command line parameters:  rd.driver.pre=btrfs rd.luks.uuid=luks-d095bece-13e0-47ca-b2a9-f6119d3989fc rd.lvm.lv=system/swap   rd.lvm.lv=system/root resume=UUID=e736498b-60e5-4f99-99c2-8a6850a78ca9 root=UUID=605560ad-fe93-4d09-8760-df0725b43ee1 rootfstype=btrfs rootflags=rw,relatime,seclabel,ssd,space_cache,subvolid=3656,subvol=/@/.snapshots/2767/snapshot,subvol=@/.snapshots/2767/snapshot   BOOT_IMAGE=/boot/vmlinuz-6.18.3-3.gc68e342-default root=/dev/mapper/system-root resume=/dev/system/swap splash=none plymouth.enable=0 security=selinux selinux=1 amdgpu.dc=1 amdgpu.exp_hw_support=1 amdgpu.deep_color=1 amdgpu.sched_hw_submission=4 mitigations=auto intel_iommu=on
Jan 05 21:48:27 hightower-i5-6600k kernel: [drm] amdgpu kernel modesetting enabled.
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu: Virtual CRAT table created for CPU
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu: Topology: Add CPU node
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: initializing kernel modesetting (POLARIS12 0x1002:0x6987 0x1028:0x1713 0xC1).
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: register mmio base: 0xDFE00000
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: register mmio size: 262144
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: detected ip block number 0 <common_v1_0_0> (vi_common)
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: detected ip block number 1 <gmc_v8_1_0> (gmc_v8_0)
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: detected ip block number 2 <ih_v3_0_0> (tonga_ih)
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: detected ip block number 3 <gfx_v8_0_0> (gfx_v8_0)
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: detected ip block number 4 <sdma_v3_1_0> (sdma_v3_0)
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: detected ip block number 5 <smu_v1_0_0> (powerplay)
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: detected ip block number 6 <dce_v1_0_0> (dm)
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: detected ip block number 7 <uvd_v6_3_0> (uvd_v6_0)
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: detected ip block number 8 <vce_v3_4_0> (vce_v3_0)
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: No more image in the PCI ROM
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: Fetched VBIOS from ROM BAR
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu: ATOM BIOS: 113-D0914300-101
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: vgaarb: deactivate vga console
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: Trusted Memory Zone (TMZ) feature not supported
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: vm size is 64 GB, 2 levels, block size is 10-bit, fragment size is 9-bit
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: VRAM: 4096M 0x000000F400000000 - 0x000000F4FFFFFFFF (4096M used)
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: GART: 256M 0x000000FF00000000 - 0x000000FF0FFFFFFF
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: amdgpu: 4096M of VRAM memory ready
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: amdgpu: 7977M of GTT memory ready.
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu: hwmgr_sw_init smu backed is polaris10_smu
Jan 05 21:48:27 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: [drm] Display Core v3.2.351 initialized on DCE 11.2
Jan 05 21:48:28 hightower-i5-6600k kernel: kfd kfd: amdgpu: Allocated 3969056 bytes on gart
Jan 05 21:48:28 hightower-i5-6600k kernel: kfd kfd: amdgpu: Total number of KFD nodes to be created: 1
Jan 05 21:48:28 hightower-i5-6600k kernel: amdgpu: Virtual CRAT table created for GPU
Jan 05 21:48:28 hightower-i5-6600k kernel: amdgpu: Topology: Add dGPU node [0x6987:0x1002]
Jan 05 21:48:28 hightower-i5-6600k kernel: kfd kfd: amdgpu: added device 1002:6987
Jan 05 21:48:28 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: SE 2, SH per SE 1, CU per SH 5, active_cu_number 10
Jan 05 21:48:28 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: Using BOCO for runtime pm
Jan 05 21:48:28 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: [drm] Registered 5 planes with drm panic
Jan 05 21:48:28 hightower-i5-6600k kernel: [drm] Initialized amdgpu 3.64.0 for 0000:01:00.0 on minor 1
Jan 05 21:48:28 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: [drm] Failed to setup vendor infoframe on connector DP-3: -22
Jan 05 21:48:28 hightower-i5-6600k kernel: fbcon: amdgpudrmfb (fb0) is primary device
Jan 05 21:48:28 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: [drm] fb0: amdgpudrmfb frame buffer device
Jan 05 21:48:32 hightower-i5-6600k kernel: snd_hda_intel 0000:01:00.1: bound 0000:01:00.0 (ops amdgpu_dm_audio_component_bind_ops [amdgpu])
Jan 05 21:49:01 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: GPU fault detected: 147 0x00024402
Jan 05 21:49:01 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu:  Process firefox pid 5258 thread firefox:cs0 pid 6076
Jan 05 21:49:01 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu:   VM_CONTEXT1_PROTECTION_FAULT_ADDR   0x0011B600
Jan 05 21:49:01 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu:   VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x09044002
Jan 05 21:49:01 hightower-i5-6600k kernel: amdgpu 0000:01:00.0: amdgpu: VM fault (0x02, vmid 4, pasid 32791) at page 1160704, write from 'TC1' (0x54433100) (68)
:~ #

Maybe the video card is starting to fail?

Hi Paul, that is not the TW kernel:

knurpht@Lenovo-P16:~> uname -a
Linux Lenovo-P16 6.18.2-1-default #1 SMP PREEMPT_DYNAMIC Fri Dec 19 10:15:01 UTC 2025 (9447271) x86_64 x86_64 x86_64 GNU/Linux
knurpht@Lenovo-P16:~>

For the rest: Why are all these amdgpu boot parameters there?

Hi Knurpht, I am using the kernel stable standard kernel on this particular machine due to some issues with default kernel and the amdgpu, firefox behavior with the machine previously and have had nothing but positive results.

I have added the parameters and been using them with success for some time now also.

Not entirely true, Paul. You are having issues, right?

Issues just started. The problem was not happening before this past week. Why do you say this is not true what I say?

That is extra info I did not have. That is why I said “not entirely true”

Ok well at some point I can possibly remove most of the amdgpu kerrnel parameters but amdgpu.dc=1 is necessary because of the monitors’ functions after screen lock and I think wakeup. I think the video card could be failing.

I have removed most of the amdgpu kernel parameters and am testing now.

:~> cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-6.18.3-3.gc68e342-default root=/dev/mapper/system-root resume=/dev/system/swap splash=none plymouth.enable=0 security=selinux selinux=1 amdgpu.dc=1 mitigations=auto intel_iommu=on
:~>

Are the kernel parameters currently in use.

@panorain you need to look at the 6.19 RC kernel as there is lots of porting going on with respect to amdgpu module. Or use the current default kernel…

@malcomlewis I looked into the 6.19 RC kernel some. Many many Kernel Stable Standard updates prior to today and maybe yesterday have been occurring. I have done some things with very possible success.

I was told Packman Essentials repo is simply not enough for AMD GPU’s so I installed the All of Packman repository, vendor change etc. Then packages Mesa-vulkan-overlay Mesa-libRusticlOpenCL Mesa-vulkan-anti-lag. There have been no lockups as of yet.

So still testing.