Bochs DRM Linux Driver Being Modernized - Better Performance For QEMU Display
([Virtualization] 5 Hours Ago
Bochs DRM)
- Reference: 0001487237
- News link: https://www.phoronix.com/news/Bochs-DRM-Modernizing
- Source link:
The Bochs Direct Rendering Manager (DRM) kernel driver is in the process of being modernized. The Bochs driver is important in that it's commonly used for virtual VGA output with QEMU for Linux virtualization.
Thomas Zimmermann of SUSE who has done a lot of terrific work on the upstream Linux DRM code has taken to improving the state of the Bochs driver and getting it up to par for modern standards.
The new patch series posted today removes functionality from the Bochs DRM driver code that has since appeared within DRM core itself, reworks EDID handling to follow current best practices, replacing simple display helpers with atomic helpers, and other improvements.
Most impactful to end-users is replacing GEM VRAM with GEM SHMEM with the new memory manager being more reliable and allowing for larger resolutions with this new memory management code. Thomas Zimmermann explained of this GEM SHMEM usage for Bochs:
"Patch 8 replaces GEM VRAM with GEM SHMEM. The new memory manager is more reliable and allows for larger resolutions. Display updates were so slow that Gnome was unmanageable with a flickering cursor and single FPS. The new memory management makes Gnome at least useable."
Thus a nice step forward for those using the Bochs virtual VGA output with QEMU and wanting to run a modern output.
Those making use of the Bochs DRM driver can find the patches under review on the [1]Linux DRI mailing list .
[1] https://lists.freedesktop.org/archives/dri-devel/2024-August/466783.html
Thomas Zimmermann of SUSE who has done a lot of terrific work on the upstream Linux DRM code has taken to improving the state of the Bochs driver and getting it up to par for modern standards.
The new patch series posted today removes functionality from the Bochs DRM driver code that has since appeared within DRM core itself, reworks EDID handling to follow current best practices, replacing simple display helpers with atomic helpers, and other improvements.
Most impactful to end-users is replacing GEM VRAM with GEM SHMEM with the new memory manager being more reliable and allowing for larger resolutions with this new memory management code. Thomas Zimmermann explained of this GEM SHMEM usage for Bochs:
"Patch 8 replaces GEM VRAM with GEM SHMEM. The new memory manager is more reliable and allows for larger resolutions. Display updates were so slow that Gnome was unmanageable with a flickering cursor and single FPS. The new memory management makes Gnome at least useable."
Thus a nice step forward for those using the Bochs virtual VGA output with QEMU and wanting to run a modern output.
Those making use of the Bochs DRM driver can find the patches under review on the [1]Linux DRI mailing list .
[1] https://lists.freedesktop.org/archives/dri-devel/2024-August/466783.html
varikonniemi