From Fedora Project Wiki

QXL/Spice KMS Driver

Summary

Currently the QXL driver is X.org only, a KMS driver is required to move forward with projects like spice 3D, and also to allow more features to be show in virt environments like plymouth.

Owner

  • Email: <alevy@redhat.com>

Current status

  • Targeted release: Fedora 19
  • Last updated: 2013-05-15
  • Percentage of completion: 100% (Complete)

History

  • First proposed for F18.
  • Missed alpha. Alpha (14th of August) will not have a testable version.
  • Planned for beta. I plan to have it testable at the next milestone - beta, 18th of September.
  • Postponed to F19
  • kernel-3.9.0-2.rc2.git0.3 contains qxl ko, moving to 80% (Testable).

No other features are dependent on it, and the fallback is to continue using the existing user space driver.

Detailed Description

The current spice GPU driver for Linux guests is an X.org only driver. A kernel modesetting driver needs to be developed along with a new X.org driver that runs on top of it. Additionally the kernel driver will allow it to work with the modesetting DDX driver. The new ioctl interface the driver will expose will allow updating the qxl DDX driver to work on it. The new driver needs to support all revisions of the qxl device.

Benefit to Fedora

Fedora acts closer to native hardware inside spice VMs. First step for OpenGL support via QXL and not via software rendering.

Scope

  • Develop a basic modesetting driver for QXL GPU
    • partially done
  • Develop an acceleration/memory management interface for QXL GPU.
    • partially done
  • Develop a new X.org driver on top of the new interfaces.
    • partially done

How To Test

  • Test inside a virtual machine with QXL support, via virt-manager: create a new vm with qxl video (default of 64MiB) and spice.
    • plymouth should show up along with smooth booting.
    • X should work as usual.

User Experience

  • There should be no regressions from the non kms driver experience.
  • If the qxl module isn't loaded (compiled out or forced not to load via kernel command line) driver should work as usual without kms.
  • Older drivers will not be supported when kms module is loaded. Fedora will update the kernel side by side with xf86-video-qxl so this won't be a problem.

Dependencies

  • kernel changes - drivers/gpu/drm/qxl
  • X.org changes - updated xf86-video-qxl (xorg-x11-drv-qxl)

Contingency Plan

Do nothing, stay as we are now, keep using the current xorg-x11-drv-qxl that doesn't require/use the kernel drm layer.

Documentation

See spice-space

Release Notes

Fedora 19 now ships a new qxl kernel mode setting driver.

Comments and Discussion