GOP is exactly what the Linux `efifb`/`simplefb` drivers and the GRUB2 graphical menu use to get an early framebuffer before a real GPU driver loads, replacing the bank-switched VGA modes int10h BIOS calls used to require. The pixels_per_scanline-vs-width distinction you implement here is a classic real bug: assuming stride equals width causes diagonal-tearing artifacts on GPUs that pad scanlines for alignment.