[Solved] Intel graphics framebuffer glitch
[Solved] Intel graphics framebuffer glitch
I am experimenting with display mode setting for Intel integrated graphics and I am having some trouble. I am able to switch between different display modes (like 640x400@70, 640x480@60, 1024x768@60, etc.) but some pixel columns seem to be glitched, no matter which display mode is being used. Attachments show what the problem is. It's almost like pixel stream doesn't match with frame timings. BTW. Im testing on G31 (GMA 3100) chipset but I only have documentation for G35 (GMA X3500).
- Attachments
-
- This is what I expect
- expected.png (830 Bytes) Viewed 998 times
-
- This is what I get
- shifted.png (844 Bytes) Viewed 998 times
Last edited by pvc on Wed Jan 27, 2021 2:59 pm, edited 1 time in total.
Re: Intel graphics framebuffer glitch
I can't believe it took me this long to find it.
Turns out that I did not mask low bits of GMADR register when reading it from PCI config space. Instead 0xE0000000 I used 0xE0000008 address as graphics memory base. Last 8 looked so similar to other 0s on the screen in VGA font. I did see it only after setting up serial connection (and whole CLI) to the machine and using some semi-decent font in terminal emulator.
Turns out that I did not mask low bits of GMADR register when reading it from PCI config space. Instead 0xE0000000 I used 0xE0000008 address as graphics memory base. Last 8 looked so similar to other 0s on the screen in VGA font. I did see it only after setting up serial connection (and whole CLI) to the machine and using some semi-decent font in terminal emulator.
Re: [Solved] Intel graphics framebuffer glitch
Hehe... Yeah it has happened to me in the past. Frustrating.
Re: [Solved] Intel graphics framebuffer glitch
Remote login of one sort or another is extremely useful when developing window systems.
Kaph — a modular OS intended to be easy and fun to administer and code for.
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie
"May wisdom, fun, and the greater good shine forth in all your work." — Leo Brodie