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.org

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.

<< Previous Page
1
Latest Linux Hardware Reviews
  1. Trying The Configurable 45 Watt TDP With AMD's A10-7800 / A6-7400K
  2. Sumo's Omni Gets Reloaded
  3. AMD A10-7800 & A6-7400K APUs Run Great On Linux
  4. Radeon Gallium3D Is Running Increasingly Well Against AMD's Catalyst Driver
Latest Linux Articles
  1. Open-Source Radeon Graphics Have Some Improvements On Linux 3.17
  2. CPUFreq Scaling Tests With AMD's Kaveri On Linux 3.16
  3. Enabling HyperZ Is Still An Easy Way For Faster RadeonSI Performance
  4. AMD Kaveri: Catalyst vs. RadeonSI Gallium3D On Linux
Latest Linux News
  1. Khronos Publishes Its Slides About OpenGL-Next
  2. Qt5 Will Now Support LGPLv3 Modules
  3. Proposed: A Tainted Performance State For The Linux Kernel
  4. Systemd 216 Piles On More Features, Aims For New User-Space VT
  5. Mesa 10.2.6 Has Plenty Of OpenGL Driver Bug Fixes
  6. LXQt 0.8 Is Being Released Soon
  7. Linux 3.17 Lands Memfd, A KDBUS Prerequisite
  8. Humble Jumbo Bundle 2 Shafts Linux Gamers
  9. New VM Software Claims To Be 4.5x Faster Than QEMU
  10. Btrfs Gets Talked Up, Googler Encourages You To Try Btrfs
Latest Forum Discussions
  1. Remote gui not accessible in Phoronix Test Suite 5.2
  2. The dangers of Linux kernel development
  3. Dead Island for Linux (?)
  4. Updated and Optimized Ubuntu Free Graphics Drivers
  5. AMD Offers Mantle For OpenGL-Next, Pushes Mantle To Workstations
  6. Next-Gen OpenGL To Be Announced Next Month
  7. OpenGL 4.5 Released With New Features
  8. Updated graphics drivers for Ubuntu 12.04 Precise LTS