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.

Latest Articles & Reviews
  1. OS X 10.10 vs. Ubuntu 15.04 vs. Fedora 21 Tests: Linux Sweeps The Board
  2. The New Place Where Linux Code Is Constantly Being Benchmarked
  3. 18-GPU NVIDIA/AMD Linux Comparison Of BioShock: Infinite
  4. Phoronix Test Suite 5.6 Adds New Phoromatic Enterprise Benchmarking Features
  5. OpenGL Threaded Optimizations Responsible For NVIDIA's Faster Performance?
  6. Big Graphics Card Comparison Of Metro Redux Games On Linux
Latest Linux News
  1. Git 2.4.0-rc0 Does A Ton Of Polishing
  2. The Most Common, Annoying Issue When Benchmarking Ubuntu On Many Systems
  3. Mesa Is At Nearly 1,500 Commits This Year
  4. Gestures & Other GTK3 Features For LibreOffice
  5. It's Now Easier To Try PHP 7 On Fedora & RHEL
  6. BQ Is Cleaning Up Their Aquaris E4.5 Ubuntu Kernel
  7. Allwinner Continues Jerking Around The Open-Source Community
  8. NVIDIA Linux 349.12 Beta Has Improved G-SYNC & VDPAU Features
  9. Canonical Just Made It Even Easier To Benchmark Ubuntu Linux In The Cloud
  10. NVIDIA GeForce GTX TITAN X Linux Testing Time
Most Viewed News This Week
  1. Introducing The Library Operating System For Linux
  2. AMD Is Hiring Two More Open-Source Linux GPU Driver Developers
  3. New SecureBoot Concerns Arise With Windows 10
  4. Allwinner Caught Obfuscating Their Improperly Licensed Code
  5. Latest OpenSSL Vulnerabilities Revealed; LibreSSL In Better Shape
  6. GNU Nano 2.4.0 Brings Complete Undo System, Linter Support & More
  7. GNOME Shell & Mutter 3.16.0 Released
  8. Microsoft Open-Sources MSBuild Engine