Features/QXLKMSSupport

From FedoraProject

< Features(Difference between revisions)
Jump to: navigation, search
(Documentation)
(updating status to testable - it is in kernel-3.9.0-0.rc2.git0.3)
(17 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<!-- All fields on this form are required to be accepted by FESCo.
+
= QXL/Spice KMS Driver =
We also request that you maintain the same order of sections so that all of the feature pages are uniform.  -->
+
 
+
<!-- The actual name of your feature page should look something like: Features/YourFeatureName.  This keeps all features in the same namespace -->
+
 
+
= QXL/Spice KMS Driver <!-- The name of your feature --> =
+
  
 
== Summary ==
 
== Summary ==
Line 10: Line 5:
  
 
== Owner ==
 
== Owner ==
<!--This should link to your home wiki page so we know who you are-->
+
* Name: [[User:alon| Alon Levy]]
* Name: [[User:airlied| Dave Airlie]]
+
  
<!-- Include you email address that you can be reached should people want to contact you about helping with your feature, status is requested, or  technical issues need to be resolved-->
+
* Email: <alevy@redhat.com>
* Email: <airlied@redhat.com>
+
  
 
== Current status ==
 
== Current status ==
* Targeted release: [[Releases/17 | Fedora 17 ]]  
+
* Targeted release: [[Releases/19 | Fedora 19 ]]  
* Last updated: (DATE)
+
* Last updated: 2012-09-15
* Percentage of completion: 5%
+
* Percentage of completion: 80% (Testable)
  
<!-- CHANGE THE "FedoraVersion" TEMPLATES ABOVE TO PLAIN NUMBERS WHEN YOU COMPLETE YOUR PAGE. -->
+
=== 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 ==
 
== 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.
+
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 ==
 
== Benefit to Fedora ==
Fedora acts closer to native hardware inside spice VMs.
+
Fedora acts closer to native hardware inside spice VMs. First step for OpenGL support via QXL and not via software rendering.
  
 
== Scope ==
 
== Scope ==
<!-- What work do the developers have to accomplish to complete the feature in time for release?  Is it a large change affecting many parts of the distribution or is it a very isolated change? What are those changes?-->
+
* Develop a basic modesetting driver for QXL GPU
Develop a basic modesetting driver for QXL GPU
+
** partially done
Develop an acceleration/memory management interface for QXL GPU.
+
* Develop an acceleration/memory management interface for QXL GPU.
Develop a new X.org driver on top of the new interfaces.
+
** partially done
 +
* Develop a new X.org driver on top of the new interfaces.
 +
** partially done
  
 
== How To Test ==
 
== How To Test ==
  
Test inside a virtual machine with QXL support. plymouth should show up along with smooth booting.
+
* 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 ==
 
== 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 ==
 
== Dependencies ==
kernel changes.
+
* kernel changes - drivers/gpu/drm/qxl
X.org changes.
+
* X.org changes - updated xf86-video-qxl (xorg-x11-drv-qxl)
  
 
== Contingency Plan ==
 
== Contingency Plan ==
Do nothing, stay as we are now.
+
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 ==
 
== Documentation ==
Line 53: Line 59:
  
 
== Release Notes ==
 
== Release Notes ==
 
+
Fedora 19 now ships a new qxl kernel mode setting driver.
  
 
== Comments and Discussion ==
 
== Comments and Discussion ==
* See [[Talk:Features/QXLKMSSupport]] <!-- This adds a link to the "discussion" tab associated with your page.  This provides the ability to have ongoing comments or conversation without bogging down the main feature page -->
+
* See [[Talk:Features/QXLKMSSupport]]
 
+
* git: [http://cgit.freedesktop.org/~alon/linux/log/?h=qxl kernel], [http://cgit.freedesktop.org/~alon/drm/log/?h=qxl drm], [http://cgit.freedesktop.org/~alon/xf86-video-qxl/log/?h=kms xf86-video-qxl]
  
[[Category:FeaturePageIncomplete]]
+
[[Category:FeatureAcceptedF19]]
<!-- When your feature page is completed and ready for review -->
+
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
+
<!-- After review, the feature wrangler will move your page to Category:FeatureReadyForFesco... if it still needs more work it will move back to Category:FeaturePageIncomplete-->
+
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->
+

Revision as of 12:16, 18 March 2013

Contents

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: 2012-09-15
  • Percentage of completion: 80% (Testable)

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