How to draw graphics to a high resolution and high refresh rate monitor with vsync?
Posted: Fri Oct 24, 2025 3:10 pm
Hello, I'm trying to understand what the path forward looks like for drawing graphics to a high resolution, high refresh rate monitor while supporting vsync. My monitor has a resolution of 2560 by 1440 and has a refresh rate of 144hz.
From what I've read online the easiest way to draw to the screen is to first have a UEFI bootloader locate a framebuffer address through the graphics output protocol. Then the bootloader can pass the address to the kernel where it can draw directly to it. That's great but the GOP has no concept of vsync so if I draw directly to this framebuffer, I will see tearing. So this is not an option.
The second option I've seen discussed is to write a VGA driver. That will give me support for vsync however, it looks like the maximum supported resolution for VGA is 2048 by 1536 and maximum refresh rate is 60hz. So that is also not an option.
So what is the suggested way to accomplish this? I just want to display graphics while taking advantage of my monitor's full resolution and refresh rate.
From what I've read online the easiest way to draw to the screen is to first have a UEFI bootloader locate a framebuffer address through the graphics output protocol. Then the bootloader can pass the address to the kernel where it can draw directly to it. That's great but the GOP has no concept of vsync so if I draw directly to this framebuffer, I will see tearing. So this is not an option.
The second option I've seen discussed is to write a VGA driver. That will give me support for vsync however, it looks like the maximum supported resolution for VGA is 2048 by 1536 and maximum refresh rate is 60hz. So that is also not an option.
So what is the suggested way to accomplish this? I just want to display graphics while taking advantage of my monitor's full resolution and refresh rate.