Dualscreen Gnome Crashes with Firefox and Mouse

I am on a Fedora Workstation 41 (fully updated) x86/64 machine with 2 monitors and I have the following problem:

If I have firefox in fullscreen on the right monitor and I try to drag the cursor to the left screen, a little into the left monitor the whole system lags for a small amount of time. If I repeat passing the mouse over this virtual vertical line I can even make GNOME crash and have a black screen on both monitors (they show as being inactive).

I suspect this to be either a driver issue or a gnome issue so I added the related installed versions. I wanted to bug report to the right project but since I don’t know where it comes from I am asking here if anyone knows how to help me.

video

Steps to reproduce

  • boot
  • open firefox in the right monitor and put it in fullscreen mode
  • move mouse between displays

Additional Information

HW

Left monitor: 1440p, 100% scale
Right monitor: 4k, 150%, primary monitor
CPU: AMD Ryzen 5 7600X
GPU: AMD RX 6650 XT

SW

kernel: 6.13.5-200.fc41
mesa: 25.0.0-2.fc41
mutter: 47.5-1.fc41
gnome-shell: 47.4-1.fc41
firefox: 135.0.1-1.fc41

Sounds familiar: Fedora 41 AMD black screen of death - #3 by oskamp

Also sounds like the issue i had.

tldr; it went away with the latest Fedora 42 prerelease update - currently at Gnome 48.beta and kernel 6.14.0-0.rc4.

1 Like

I don’t know whether I want to update to f42 beta yet but thanks for the info!
But since the issue is in gnome 47 and 47 will still be old-stable shouldn’t the bug be still relevant until gnome 47 will go eol and not be closed?

The bug could be not simply Gnome 47, but Gnome 47 when running with certain drivers or kernels. So I may be able to be fixed without touching Gnome itself.

I decided to upgrade to F42 beta and the issue is still there for me.

What would be the best way to find the conflicting packages / the one package creating the issue?

Might show something with journalctl. I’m not a master user, but
Viewing logs in Fedora :: Fedora Docs and How to Use journalctl --last to Check Recent System Logs | Last9 can teach you something.

journalctl --since=“5 minutes ago”

Could be a good command to start. Then you could grep some things…

1 Like

I ran sudo journalctl --since "5 minutes ago" -f and while reproducing the issue this is the relevant journalctl output:

Mar 15 09:30:52 fedora kernel: amdgpu 0000:03:00.0: [drm] REG_WAIT timeout 1us * 100000 tries - mpc2_assert_idle_mpcc line:481
Mar 15 09:30:55 fedora kernel: amdgpu 0000:03:00.0: [drm] REG_WAIT timeout 1us * 100000 tries - mpc2_assert_idle_mpcc line:481
Mar 15 09:30:55 fedora kernel: amdgpu 0000:03:00.0: [drm] REG_WAIT timeout 1us * 100000 tries - mpc2_assert_idle_mpcc line:481
Mar 15 09:30:58 fedora kernel: amdgpu 0000:03:00.0: amdgpu: SMU: I'm not done with your previous command: SMN_C2PMSG_66:0x00000028 SMN_C2PMSG_82:0x00000000
Mar 15 09:30:58 fedora kernel: amdgpu 0000:03:00.0: amdgpu: Failed to enable gfxoff!
Mar 15 09:31:02 fedora kernel: amdgpu 0000:03:00.0: amdgpu: SMU: I'm not done with your previous command: SMN_C2PMSG_66:0x00000028 SMN_C2PMSG_82:0x00000000
Mar 15 09:31:02 fedora kernel: amdgpu 0000:03:00.0: amdgpu: Failed to enable gfxoff!
Mar 15 09:31:05 fedora kernel: amdgpu 0000:03:00.0: amdgpu: SMU: I'm not done with your previous command: SMN_C2PMSG_66:0x00000028 SMN_C2PMSG_82:0x00000000
Mar 15 09:31:05 fedora kernel: amdgpu 0000:03:00.0: amdgpu: Failed to enable gfxoff!
Mar 15 09:31:08 fedora kernel: amdgpu 0000:03:00.0: amdgpu: SMU: I'm not done with your previous command: SMN_C2PMSG_66:0x00000028 SMN_C2PMSG_82:0x00000000
Mar 15 09:31:08 fedora kernel: amdgpu 0000:03:00.0: amdgpu: Failed to enable gfxoff!
Mar 15 09:31:10 fedora kernel: amdgpu 0000:03:00.0: [drm] REG_WAIT timeout 1us * 100000 tries - mpc2_assert_idle_mpcc line:481
Mar 15 09:31:11 fedora systemd[1]: fprintd.service: Deactivated successfully.
Mar 15 09:31:11 fedora audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=fprintd comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
Mar 15 09:31:11 fedora audit: BPF prog-id=379 op=UNLOAD
Mar 15 09:31:15 fedora kernel: amdgpu 0000:03:00.0: [drm] REG_WAIT timeout 1us * 100000 tries - mpc2_assert_idle_mpcc line:481
Mar 15 09:31:18 fedora kernel: amdgpu 0000:03:00.0: amdgpu: SMU: I'm not done with your previous command: SMN_C2PMSG_66:0x00000028 SMN_C2PMSG_82:0x00000000
Mar 15 09:31:18 fedora kernel: amdgpu 0000:03:00.0: amdgpu: Failed to enable gfxoff!
Mar 15 09:31:27 fedora kernel: amdgpu 0000:03:00.0: amdgpu: SMU: I'm not done with your previous command: SMN_C2PMSG_66:0x00000028 SMN_C2PMSG_82:0x00000000
Mar 15 09:31:27 fedora kernel: amdgpu 0000:03:00.0: amdgpu: Failed to enable gfxoff!
Mar 15 09:31:37 fedora kernel: amdgpu 0000:03:00.0: [drm] REG_WAIT timeout 1us * 100000 tries - mpc2_assert_idle_mpcc line:481
Mar 15 09:31:37 fedora kernel: amdgpu 0000:03:00.0: [drm] REG_WAIT timeout 1us * 100000 tries - mpc2_assert_idle_mpcc line:481
Mar 15 09:31:40 fedora kernel: amdgpu 0000:03:00.0: amdgpu: SMU: I'm not done with your previous command: SMN_C2PMSG_66:0x00000028 SMN_C2PMSG_82:0x00000000
Mar 15 09:31:40 fedora kernel: amdgpu 0000:03:00.0: amdgpu: Failed to enable gfxoff!
Mar 15 09:31:44 fedora kernel: amdgpu 0000:03:00.0: amdgpu: SMU: I'm not done with your previous command: SMN_C2PMSG_66:0x00000028 SMN_C2PMSG_82:0x00000000
Mar 15 09:31:44 fedora kernel: amdgpu 0000:03:00.0: amdgpu: Failed to enable gfxoff!
Mar 15 09:31:44 fedora gnome-shell[2663]: meta_wayland_buffer_process_damage: assertion 'buffer->resource' failed
Mar 15 09:31:47 fedora kernel: amdgpu 0000:03:00.0: amdgpu: SMU: I'm not done with your previous command: SMN_C2PMSG_66:0x00000028 SMN_C2PMSG_82:0x00000000
Mar 15 09:31:47 fedora kernel: amdgpu 0000:03:00.0: amdgpu: Failed to enable gfxoff!

Looks like the gfxoff feature is giving trouble. I loked up reports, and people have turned it off with a Windows graphical program, and I see some boot commands to disable gfxoff.

Have to go out now if no-one else knows I can look it up again later.

Thanks for your help!

You are not by any chance using two different types of outputs, e.g. HDMI and DP? If possible test with 2xHDMI or 2xDP.


To check or disable gfxoff, the instructions are at GPU Power/Thermal Controls and Monitoring — The Linux Kernel documentation towards the end of the page. I tried to test on my system but it did not find the file, possibly due to the fact that I have no discrete GPU.

You can try this command, and test your glitch. If it does not fix it then you can revert.

To run the commands I had to first

sudo dnf install xxd

Below copied from above link:
To enable/disable GFXOFF, and to check if it’s current enabled/disabled:

sudo xxd -l1 -p /sys/kernel/debug/dri/0/amdgpu_gfxoff
01

Write 0 to disable it, and 1 to enable it.
Read 0 means it’s disabled, 1 it’s enabled.

If it’s enabled, that means that the GPU is free to enter into GFXOFF mode as needed. Disabled means that it will never enter GFXOFF mode.


No promises! But worth a try.

  1. My 2 monitors are both connected with DP cables. (I don’t have HDMI cables to test with. Tried switching around the gpu ports but that doesn’t change anything)
  2. Running that commands gives me 01. That would mean that write is disabled but read is enabled right?

As cables are the same, disregard the changing cables idea.


As I understand it 01 means that gfxoff is enabled.
You want to disable it.
It is not a read/write situation, it is an all on or all off situation. That is, you want to write the value 0 (or 00?) to disable gfxoff.


Also there has been an AMDGPU update which is worth your updating and testing.

I was able to disable it at boot by adding the kernel parameter amdgpu.ppfeaturemask=0xfff77fff. The issue is not happening anymore. Though if I boot back without the flag the issue is gone too. So I don’t know now…

Perhaps the latest linux-firmware or amd-gpu-firmware fixed it.

Will let you know if the issue comes back again. Thanks for all the help!!

1 Like

You do want gfxoff to be on (it saves power).
Glad it is back to normal.

1 Like