1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking Benchmarking Platform
Phoromatic Test Orchestration

Test Driving The QEMU-KVM KMS Driver

Michael Larabel

Published on 19 April 2011
Written by Michael Larabel
Page 1 of 2 - 3 Comments

Just hours ago a new Linux KMS driver entered the world for the Cirrus GPU. Yes, as in that from Cirrus Logic for an ancient CL-GD5446 ASIC, this was a 2D-only 64-bit VisualMedia accelerator. But, fortunately, it is not for the actual hardware itself but rather the virtual incarnation that is emulated by QEMU and QEMU-KVM. Those running a Linux KVM virtualization stack with QEMU and the Cirrus adapter can now benefit from a kernel mode-setting driver.

Read Finally It Comes: A KMS Driver For QEMU-KVM from when the announcement was issued a few hours ago, for my history on the Linux virtualization GPU situation and initial take on this Cirrus KMS driver created by Red Hat. This KMS-only driver does not provide any 2D acceleration that is passed onto the host or anything, but just relies upon a shadow frame-buffer. So it is not nearly as advanced as what's offered by VirtualBox or VMware where there is not only 2D acceleration but also OpenGL / DirectX acceleration on the GPU. Granted, it is better than before: just a Cirrus X.Org DDX driver that does not do much good, and a step in the right direction.

Immediately after writing that article I began building a new kernel from the Linus Torvald's tree after patching it with this ~1,300 line driver from Red Hat's Matthew Garrett. The initial testing was done on an Ubuntu 10.10 guest and host using its KVM virtualization stack. This was running off a Lenovo ThinkPad W510 notebook with an Intel Core i7 CPU and NVIDIA Quadro FX 4500M graphics. Without any changes to the host, the patched kernel with the Cirrus DRM driver on the guest worked without fault.

This driver for QEMU's default GPU, the Cirrus CL-GD5446, is also now enough to make Red Hat's Plymouth boot-screen work during the boot process for guests. Plymouth was one of the early projects to be dependent upon the KMS API. The virtual terminal is also nicer with KMS and there's better debugging opportunities. It also makes it closer to being able to run the Wayland Display Server in a virtualized environment with QEMU, but that's not possible without Mesa / Gallium3D support and full-blown DRM memory management materializing for QEMU guests.

Latest Articles & Reviews
  1. GeForce GTX 750 Series: Nouveau vs. NVIDIA Linux Driver Performance
  2. GLAMOR + RadeonSI 2D Acceleration Is Quite Good For Open-Source AMD 2D Performance
  3. AMD Radeon R9 290 OpenGL On Ubuntu 15.04: Catalyst vs. RadeonSI Gallium3D
  4. Ubuntu 15.04 Offers Faster OpenGL For AMD Radeon GPUs On Open-Source
  5. Ubuntu 15.04 Brings Some Graphics Performance Improvements For Intel Haswell
  6. Sub-$20 802.11n USB WiFi Adapter That's Linux Friendly
Latest Linux News
  1. Many Ubuntu Phone Updates Are Coming Up Soon
  2. Nouveau Lands GL_AMD_Performance_Monitor Support
  3. Deb-Based Ubuntu Will Continue To Be Offered For The Foreseeable Future
  4. Linux Game Publishing Remains Down For The Count
  5. Red Hat Enterprise Linux 6.7 Beta Released
  6. Keeping The Humidity Out Of The Basement Linux Server Room
  7. It's A Long Road Ahead To Get Ubuntu Snappy On The Desktop
  8. NetworkManager 1.0.2 Arrives As First Post-1.0 Release
  9. Libinput 0.15 Adds New Debug Events Utility
  10. Qt 5.5 Beta Is Coming Soon, Snapshot Released
Most Viewed News This Week
  1. Trying Out Microsoft Visual Studio Code On Linux
  2. Microsoft Releases New Code IDE For Linux!
  3. Improvements On The Way For GNOME's Nautilus File Manager
  4. A Lot Of Improvements Are Coming For Mir 0.13, Including Work Towards Libinput
  5. Kodi 15.0 Beta 1 Released
  6. Wayland 1.8 Alpha Release Delayed
  7. Mono 4.0 Makes Use Of Microsoft's Open-Source Code, C# 6.0
  8. Lucid Sleep Support Is Being Worked On For The Upstream Linux Kernel