![qemu vga emulation qemu vga emulation](https://i.ytimg.com/vi/OUmZGDbEmF8/maxresdefault.jpg)
Last but not least you must implement drivers for that virtual hardware, which will involve adding a new driver to Mesa and creating a driver for Xorg. Then in qemu you must implement that virtual hardware to execute the rendering commands apropriately. vga vmware - VMware SVGA-II, more powerful graphics card. Linux, Windows XP and newer guest have a built-in driver. vga std - Support resolutions > 1280x1024x16. However OpenGL is hardware agnostic, whereas you actually implement "hardware", so you must find some balance there. QEMU can emulate several graphics cards: -vga cirrus - Simple graphics card. In theory you could pass the full set OpenGL commands there. It emulates the machine's processor through dynamic binary translation and provides a set of different hardware and device models for the machine, enabling it to run a variety of guest operating systems. The virtual hardware should offer some I/O to pass drawing commands and data. Of course there's some internal API for that, used to implement that VESA and S3 emulation, but a new GPU will require you to redo a lot of that again. Qemu doesn't provide a real kind of API for implementing a GPU. GeForces are not publically documented anyway. I'd not even attempt to emulate a GeForce or Radeon. KVM/QEMU virtual machines that uses virtio Storage, Network and QXL VGA card. Once you got this you must literally invent a new, virtual GPU to offer the guest system. For a more detailed description of these formats, see the QEMU Emulation. Then you should rewrite this, to use OpenGL commands instead. The very first thing I suggest you do is reading the source code how commands to the virtual graphics adaptors already implemented are turned into graphical output. You probably refer to Create virtual hardware, kernel, qemu for Android Emulator in order to produce OpenGL graphics