QXL/Spice KMS Driver
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.
- Name: Alon Levy
- Email: <email@example.com>
- Targeted release: Fedora 19
- Last updated: 9-15-2012
- Percentage of completion: 70%
- 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
No other features are dependent on it, and the fallback is to continue using the existing user space driver.
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. This will allow it to work with the modesetting DDX driver and will require a new ioctl interface to update the qxl DDX driver to work on it. The driver needs to support all revisions of the qxl device.
Benefit to Fedora
Fedora acts closer to native hardware inside spice VMs.
- 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.
- needs work
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.
- 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.
- kernel changes - drivers/gpu/drm/qxl
- X.org changes - updated xf86-video-qxl
Do nothing, stay as we are now.
Fedora 18 now ships a new qxl kernel driver that supports kernel mode setting.