Screen resolution resets to 640x480 when waking monitor

After roughly 10 months of using Bazzite with no monitor issues, I've twice today returned from being afk to find my monitor is suddenly at what appears to be 640x480. I ran journalctl to try and figure out what the problem is and found the following:
amdgpu 0000:03:00.0: [drm] *ERROR* No EDID read.
amdgpu 0000:03:00.0: [drm] *ERROR* No EDID read.
The second time, I received a Discord DM in the same timeframe as the error, which makes me wonder if it has to do with receiving notifs while the monitor sleeps. While rebooting seems to alleviate the issue, I'd rather not have to run the chance of having to reboot every time I walk away from the keyboard. Hardware: CPU: Ryzen 7 7800X3D RAM: 32GB GPU: Radeon RX 7900XT Monitor: MSI G273, connected over DP Bazzite: Version: 42.20250916.1 DE: KDE
38 Replies
MandL27
MandL27OP•2w ago
Thinking back, this isn't the first time I've had weird things happen re: monitor sleep - Ghidra sometimes complains about 0x0 display if my monitor slept with it open - but this is the first one that's this destructive
MandL27
MandL27OP•2w ago
Found this github issue which describes the same issue on 42.20250915. I rebased down to 42.20250911 as a potential workaround and the repro I mentioned in the initial post no longer seems to cause the error. Will update this thread if it happens again.
GitHub
Graphics driver crash · Issue #3226 · ublue-os/bazzite
Describe the bug A couple of times in the last week, the graphics driver has seemingly crashed when the user session was idle and turned off the screen. Upon moving my mouse and the screen turning ...
nagito || Knight of Emilia
this might not be a driver crash the error just mentions that EDID couldn't be read EDID is a technology for identifying displays
MandL27
MandL27OP•2w ago
I'm not completely sure if it's a driver crash either, but the symptoms between what I was seeing and the github issue are too similar to be coincidence imo. 42.20250911 seems to be working so far, though
nagito || Knight of Emilia
EDID is usually provided by the monitor itself i think though there are some cases where it isn't provided correctly like on the Steam Deck so there's a way to force specific EDID information
MandL27
MandL27OP•4d ago
Another person reported the same symptoms on the github thread, also on 42.20250916.1, but didn't supply logs. Given I've been on 42.20250911 for over a week now with no problems, I'm starting to suspect it was a regression in 42.20250915
FinnFann
FinnFann•14h ago
We have a possible idea of issue, but no resolution if anyone wants to chime up. @nagito || Knight of Emilia since you were here earlier. Looking at the issue and how apps also see 0x0 as invalid and no edid and based on the monitor's physical behavior it looks like the monitor is using a deep sleep mode which completely cuts power off until awoken. This is probably leading to linux seeing nothing from it on power up as it may be turning on too slow. No idea if this can be solved on that side as the monitor has no deep sleep options in the menus so it may just be in-built. Some form of delay or a way to re-check the monitor after a moment or two MAY solve it. But I have no knowledge on doing that script or otherwise. My monitor has a slightly similar behavior, but in my case it loses track of the sound device, not edid, on wake from deep sleep. (thankfully mine lets me turn deep sleep off which solves the issue) I can only guess the MSI monitor has a rather aggressive sleep mode by comparison.
MandL27
MandL27OP•14h ago
Dumping edid to somewhere it can be read regardless of monitor power state is probably the simplest workaround, but judging by some convos I've overheard that's not completely trivial. What puzzles me more is why this is a regression on 42.20250915 when all versions I've used since roughly mid-december 2024 haven't had this issue, unless Bazzite is just slightly faster to the point that this is a race condition now
FinnFann
FinnFann•14h ago
My guess is a performance increase somewhere that means its now checking too fast.
nagito || Knight of Emilia
you can force an EDID for a specific display
FinnFann
FinnFann•14h ago
That's likely the solution is to use the existing edid for the monitor. That way it doesn't have to find nothing when it's off.
nagito || Knight of Emilia
& it's pretty simple to dump the EDID while you have it
FinnFann
FinnFann•14h ago
A boot and not letting the monitor go to sleep until you have it is probably the best way. I've never done an EDID dump, though.
MandL27
MandL27OP•14h ago
I haven't had this issue after downgrading so I could do it now and then re-upgrade
FinnFann
FinnFann•14h ago
This is why deep sleep needs to be toggleable. It's so annoying if the OS doesn't constantly poll the monitor.
MandL27
MandL27OP•14h ago
Would be nice for this process to be automatable since I'm not the only one encountering it, if github is any indication
FinnFann
FinnFann•14h ago
...gonna guess that monitor wakes edid last or just doesn't transmit it after it sleeps and just assumes the machine already has it.
MandL27
MandL27OP•14h ago
Now that you say that, retaining edid as long as a given display is connected could also work, since other symptoms I've had imply that the display is seen as connected but improperly sized when it deep sleeps, but I can't speak for the practicality of implementing such
FinnFann
FinnFann•14h ago
Would be best to just force it for that monitor. Just don't forget to replace it if you replace the monitor. The 640x480 is probably because it sees a monitor, but doesn't see an edid or capabilities listing being reported back so it defaults to VESA standard which is 640x480. Basically the universal default supported resolution since the 90s.
MandL27
MandL27OP•14h ago
Yeah that's probably what I'll do. Just thinking of a longer-term and more global fix
FinnFann
FinnFann•14h ago
Temp fix first! Glad I'm familiar with deep sleep being a butt. Even gives windows trouble on rare occasion.
MandL27
MandL27OP•14h ago
So now my short-term question becomes "how dump edid"
FinnFann
FinnFann•14h ago
I've had a few monitors with it. One that it's toggleable on, one where it's not. Ha yes you should ask that of nagito or someone because I ain't got a clue.
nagito || Knight of Emilia
the EDID is just in a file /sys/class/drm/card0-DP-1/edid for example DP being display port
MandL27
MandL27OP•14h ago
How do I see which of card#-DP-# the monitor is connected to?
nagito || Knight of Emilia
well there's an info center app in KDE that has a wayland section which has a lot of info
MandL27
MandL27OP•14h ago
aha
nagito || Knight of Emilia
including the display names
MandL27
MandL27OP•14h ago
Where do I need to put the edid now that I know which slot to look in
nagito || Knight of Emilia
& connectors & stuff i think you can put the file in /usr/local/firmware
MandL27
MandL27OP•13h ago
Create firmware if it doesn't already exist, I take it? And what subfolder(s) within that should I put the edid in, since I doubt it goes in that folder itself
nagito || Knight of Emilia
/usr/lib/firmware/edid is the standard place but on bazzite you can't normally touch that
MandL27
MandL27OP•13h ago
So /usr/local/firmware/edid? Or is there more to it
nagito || Knight of Emilia
not sure if that location works though the most sure bet is to make an RPM package & install it so the file could actually go into /lib/firmware
MandL27
MandL27OP•13h ago
You're talking way over my head
nagito || Knight of Emilia
i'm gonna need to learn how to do that
MandL27
MandL27OP•13h ago
Actually I could probably ask in #🎮bazzite since this is a more straightforward question than "thing broke how fix"
FinnFann
FinnFann•13h ago
Now it's "Monitor asshole. How edid it"

Did you find this page helpful?