Features/VirtImprovedConsole

= 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

 * Name: DanielBerrange
 * email: berrange@fedoraproject.org

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
 * 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
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  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  tablet in absolute coordinate mode. This results in a mouse pointer which tracks the local client pointer one for one.

Comments and Discussion

 * See Talk:Features/VirtImprovedConsole