From Fedora Project Wiki
(New page: {{admon/important | Comments and Explanations | The page source contains comments providing guidance to fill out each section. They are invisible when viewing this page. To read it, choo...)
 
m (add to virt category)
 
(22 intermediate revisions by 4 users not shown)
Line 1: Line 1:
{{admon/important | Comments and Explanations | The page source contains comments providing guidance to fill out each section.  They are invisible when viewing this page.  To read it, choose the "edit" link.<br/> '''Copy the source to a ''new page'' before making changes!  DO NOT EDIT THIS TEMPLATE FOR YOUR FEATURE.'''}}
<!-- All fields on this form are required to be accepted by FESCo.
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 -->
= Improved graphical console for virtual guests =
= Improved graphical console for virtual guests =


Line 12: Line 5:


== Owner ==
== Owner ==
* Name: [[User:DanielBerrange| DanielBerrange]]
* Name: [[User:DanielBerrange| DanielBerrange]]
<!-- 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: berrange@fedoraproject.org
* email: berrange@fedoraproject.org


== Current status ==
== Current status ==
* Targeted release: [[Releases/11 | 11 ]]  
* Targeted release: [[Releases/11 | Fedora 11 ]]  
* Last updated: 2009-02-26
* Last updated: 2009-02-27
* Percentage of completion: 50%
* Percentage of completion: 100%
 


== Detailed Description ==
== Detailed Description ==
Line 31: Line 20:


== 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?-->
For the screen resolution change:
* Enhance KVM/QEMU to identify its Cirrus card with the Red Hat  PCI vendor ID
* Enhance X cirrus driver to look for Red Hat PCI vendor ID, and thus enable 1024x768 resolution
 
For mouse pointer changes:
* Add HAL FDI rules to identify the USB tablet and assign it a 'evdev' driver
* Make virt-install/virt-manager enable a USB tablet for all F11 guest installs


== How To Test ==
== How To Test ==
<!-- This does not need to be a full-fledged document.  Describe the dimensions of tests that this feature is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate them.  The more specific you can be, the better the community testing can be.
# Install a new guest using virt-install or virt-manager, being sure to select 'Linux + Fedora 11' as the OS type + variant
 
# Observe installer starting in 1024x768 screen resolution
Remember that you are writing this how to for interested testers to use to check out your feature - documenting what you do for testing is OK, but it's much better to document what *I* can do to test your feature.
# Using virt-viewer or virt-manager as a VNC client, the mouse pointer in the guest should track 1-to-1 with the local desktop mouse, and not require any pointer grab
 
# Complete install and boot new system.
A good "how to test" should answer these four questions:
# X should come up in 1024x768 resolution again, and mouse pointer should still be tracking 1-to-1 and not require pointer grab


0. What special hardware / data / etc. is needed (if any)?
For added bonus, look in /var/log/Xorg.0.log and verify that it enabled 'QEMU USB Tablet' device with evdev.
1. How do I prepare my system to test this feature? What packages
need to be installed, config files edited, etc.?
2. What specific actions do I perform to check that the feature is
working like it's supposed to?
3. What are the expected results of those actions?
-->


== User Experience ==
== User Experience ==
<!-- If this feature is noticeable by its target audience, how will their experiences change as a result?  Describe what they will see or notice. -->
The user will have larger screen real estate for the guest console, and a more pleasant mouse pointer


== Dependencies ==
== Dependencies ==
<!-- What other packages (RPMs) depend on this package? Are there changes outside the developers' control on which completion of this feature depends? In other words, completion of another feature owned by someone else and might cause you to not be able to finish on time or that you would need to coordinate? Other upstream projects like the kernel (if this is not a kernel feature)? -->
This impacts
* hal for FDI rules for USB tablet [COMPLETED] https://bugzilla.redhat.com/show_bug.cgi?id=487025
* xorg-x11-drv-cirrus for larger screen resolution [COMPLETED] https://bugzilla.redhat.com/show_bug.cgi?id=251264
* kvm/qemu for PCI vendor ID on cirrus card [COMPLETED] https://bugzilla.redhat.com/show_bug.cgi?id=487118
* virt-install for default USB tablet in F11 guests [COMPLETED] https://bugzilla.redhat.com/show_bug.cgi?id=487028


== Contingency Plan ==
== Contingency Plan ==
<!-- If you cannot complete your feature by the final development freeze, what is the backup plan?  This might be as simple as "None necessary, revert to previous release behaviour."  Or it might not.  If you feature is not completed in time we want to assure others that other parts of Fedora will not be in jeopardy.  -->
If screen resolution changes can't be completed, guests will continue to use current 800x600 resolution
 
If mouse pointer changes can't be completed, guest will continue to use PS/2 mouse


== Documentation ==
== Documentation ==
<!-- Is there upstream documentation on this feature, or notes you have written yourself?  Link to that material here so other interested developers can get involved. -->
* There should be no documentation required, since the core point of the feature is that everything should 'just work' without any configuration required by the user.
*


== Release Notes ==
== Release Notes ==
<!-- The Fedora Release Notes inform end-users about what is new in the release. Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
Previous Fedora virtual guest consoles were limited to a screen
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns.  If there are any such changes involved in this feature, indicate them here.  You can also link to upstream documentation if it satisfies this need. This information forms the basis of the release notes edited by the documentation team and shipped with the release. -->
resolution of 800x600, and the <code>PS2</code> mouse pointer operated in
*
relative coordinate mode. This prevented the guest pointer from tracking
the local client pointer one for one.
 
Fedora 11 provides more accurate mouse pointer positioning and higher
screen resolutions for virtual machine consoles.  
Fedora 11 guests default to a screen resolution of at least 1024x768,
and are provided with a <code>USB</code> tablet in absolute coordinate
mode. This results in a mouse pointer which tracks the local client pointer one
for one.


== Comments and Discussion ==
== Comments and Discussion ==
* See [[Talk:Features/YourFeatureName]] <!-- 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/VirtImprovedConsole]]
 


[[Category:FeaturePageIncomplete]]
[[Category:FeatureAcceptedF11]]
[[Category:F11_Virt_Features|VirtImprovedConsole]]
[[Category:Virtualization|VirtImprovedConsole]]
<!-- When your feature page is completed and ready for review -->
<!-- When your feature page is completed and ready for review -->
<!-- remove Category:FeaturePageIncomplete and change it to Category:FeatureReadyForWrangler -->
<!-- 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-->
<!-- 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 -->
<!-- A pretty picture of the page category usage is at: https://fedoraproject.org/wiki/Features/Policy/Process -->

Latest revision as of 10:50, 19 March 2009

Improved graphical console for virtual guests

Summary

This feature aims to improve the user experiance for virtual guests' graphical console, by providing an accurate mouse pointer and higher screen resolution, without requiring manual configuration.

Owner

Current status

  • Targeted release: Fedora 11
  • Last updated: 2009-02-27
  • Percentage of completion: 100%

Detailed Description

In Fedora 10 and earlier the virtual guest console is limited to a screen resolution of 800x600. The PS2 mouse pointer operates in relative coordinate mode, meaning the guest pointer does not track the local client pointer 1-for-1. In Fedora 11 the goal is to have the screen default to at least 1024x768 resolution out of the box. New installs of F11 will also be provided with a USB tablet and X in the guest will automatically detect & configure this in absolute coordinate mode out of the box. This will result in a mouse pointer which tracks the local client pointer 1-for-1.

Benefit to Fedora

Increased screen real-estate of 1024x768 will improve usability of programs in the guest, in particular anaconda and firstboot which struggle to fit their whole UI into the current 800x600 real estate. Users of virt-manager and virt-viewer will have a mouse pointer which works without requiring a pointer grab

Scope

For the screen resolution change:

  • Enhance KVM/QEMU to identify its Cirrus card with the Red Hat PCI vendor ID
  • Enhance X cirrus driver to look for Red Hat PCI vendor ID, and thus enable 1024x768 resolution

For mouse pointer changes:

  • Add HAL FDI rules to identify the USB tablet and assign it a 'evdev' driver
  • Make virt-install/virt-manager enable a USB tablet for all F11 guest installs

How To Test

  1. Install a new guest using virt-install or virt-manager, being sure to select 'Linux + Fedora 11' as the OS type + variant
  2. Observe installer starting in 1024x768 screen resolution
  3. Using virt-viewer or virt-manager as a VNC client, the mouse pointer in the guest should track 1-to-1 with the local desktop mouse, and not require any pointer grab
  4. Complete install and boot new system.
  5. X should come up in 1024x768 resolution again, and mouse pointer should still be tracking 1-to-1 and not require pointer grab

For added bonus, look in /var/log/Xorg.0.log and verify that it enabled 'QEMU USB Tablet' device with evdev.

User Experience

The user will have larger screen real estate for the guest console, and a more pleasant mouse pointer

Dependencies

This impacts

Contingency Plan

If screen resolution changes can't be completed, guests will continue to use current 800x600 resolution

If mouse pointer changes can't be completed, guest will continue to use PS/2 mouse

Documentation

  • There should be no documentation required, since the core point of the feature is that everything should 'just work' without any configuration required by the user.

Release Notes

Previous Fedora virtual guest consoles were limited to a screen resolution of 800x600, and the PS2 mouse pointer operated in relative coordinate mode. This prevented the guest pointer from tracking the local client pointer one for one.

Fedora 11 provides more accurate mouse pointer positioning and higher screen resolutions for virtual machine consoles. Fedora 11 guests default to a screen resolution of at least 1024x768, and are provided with a USB tablet in absolute coordinate mode. This results in a mouse pointer which tracks the local client pointer one for one.

Comments and Discussion