Test Day:2009-03-12 Intel KMS
|Thu March 12, 2009||From 12:00 to 00:00 UTC (7am -> 7pm ET)||#fedora-qa)|
What to test?
Today's instalment of Fedora Test Day will focus on the Intel graphics card driver. F11 brings a big update to intel graphics for everything in the graphics stack. We're shipping the new kernel memory manager, GEM, kernel modesetting, DRI2, graphical boot (plymouth) integrating with X, screen hotplugging, GLX1.4 and GL framebuffer objects, better fast user switching (multiple X servers can use DRI). There's a lot of new code and it's all turned on by default, so theres a lot of detail and integration work that needs to be done.
Related fature pages:
If you come to this page after the test day is completed, your testing is still valuable, and you can use the information on this page to test with your graphics card and provide feedback.
The following cast of characters will be available for testing, workarounds, bug fixes, and general discussion ...
What's needed to test
- An Intel graphics adapter (i810 or later, except GMA 500 / Poulsbo)
- Rawhide (tips on installing Rawhide below)
- FAS Account - you can create an account in 3 minutes if you don't have one
- Your hardware profile uploaded to Smolt according to these instructions
- Make sure to back up your existing xorg.conf file, if you have one, so you can recover if the testing causes you trouble
How to test?
Update your machine
See the instructions on the Rawhide page on the various ways in which you can install or update to Rawhide.
Things to test, roughly in dependency order:
When booting, the system should jump into graphics mode as soon as the initrd loads, that is, a few seconds after the bios messages stop. KMS should generally pick the native resolution for your monitor, if it doesn't, that's a bug. A minimal test that modesetting is working is to remove rhgb from the command line and add 3 to boot into text mode. If KMS works, you should have a text mode with a lot more character cells than the standard 80x25 and it will be a little slower. If KMS doesn't work, it can be disabled by passing nomodeset on the kernel command line.
When booting, there should be a blinky text cursor for a few seconds after the bios messages finish and then we should jump into KMS graphics mode. Plymouth will then take over and draw a progress animations, which should last until the X server and GDM starts up. GDM should cross fade in from the boot graphics. Specifically, there should be no modesetting flicker of blackout, unless you have an second/external monitor connected, in which case X may change the mode. Plymouth on dualhead gives interesting results, typically black borders on one or both displays. Plymouth cheat-codes: Ctrl-T goes to text mode, Ctrl-V enables verbose mode.
xrandr, external monitors, hotplug
There's a couple of things to test in this area. First of all, since we're using KMS, all modesetting goes through the kernel. While the kernel code is just the X code ported to the kernel, it is more or less a brand new code path and it as such it will have new bugs and the integration between X and kernel is also fairly new code. So even if KMS and plymouth comes up, X may still fail to start or come up in a different resolution than plymouth. Verify that the monitor fades down and does DPMS off correctly for the screensaver. Second, we now (finally) can resize the framebuffer when a new monitor is plugged in. You should no longer need the Virtual line in the xorg.conf, in fact, if it's there it may crash X. For i965 and up hardware, the limit is 8192x8192 pixels, for everything older it's 2048x2048. The gnome-display-properties tool is our recommended tool for configuring the connected monitors and works fairly well at this point. It may be necessary to fall back to the xrandr command line tool though. If you're using the gnome-display-properties tool, you probably want to uncheck the "Mirror screens" check box to be able to put the screen side-by-side. After un-mirroring, click the monitors icons to adjust the resolution individually. Gotchas: TV outputs are disabled because they otherwise always show up, some chipsets may detect non-existing monitors. Panels and other desktop items may bounce around unexpectedly or fail to adjust to the new screen size; that's also a bug, but outside the scope of this exercise.
This enables GLXPixmaps, GLXPbuffers, GL framebuffer objects and other GL/GLX features. It's a little hard to test since not many apps use these features. What is testable is GLX under a compositing manager, which comes down to: run a compositing manager, then run glxgears (from glx-utils) or another GL application (blender, tuxracer, uh, other stuff). Then verify that the GL applications behave as any other window, that is, that they stack correctly below other windows, wobble, spin on the cube (if your compositing manager provides a spinning cube).
Support for X video under KMS. Quick test is to launch gstreamer-properties, go to the video tab, pick the Xv plugin, run the test and confirm the test pattern comes up. Bigger test case: watch a movie with totem or other movie player, make sure it's using Xv. Test that video works correctly with a compositing manger as described for GLX above.
Fast user switching
This is essentially testing running two X servers at the same time. Create a test user if you don't already have one, click your username in the top right corner to get the switch user menu, select "Switch User", at the GDM screen login as the other user, then do the same thing to switch back to the first user. Verify that GLX and Xv (as above) works on both X servers.
Testing that we can switch back to a KMS console and login and then back. Press Ctrl-Alt-F2 (X is on VT1) to get a text mode login, verify that that works, then jump back to X with Alt-F1.
Suspend, verify that the system comes back up on resume. Combine with playing movies/GLX as aboe for extra LOLZ.
Smoke'em if you got'em.
Report your results
Once you have completed the tests, add your results to the Results table below, following the example results from Adam Williamson as a template. The first column should be your name with a link to your User page in the Wiki if you have one, and the second should be a link to your Smolt hardware profile (see above for a link with instructions on submitting your hardware profile to Smolt). For each test case, if your system worked correctly, simply enter the word PASS. If you had trouble, enter the word FAIL, as a link to the bug report for the failure. In the comments column, you can enter the model name and PCI device ID (vendor ID is usually 10DE) of your card, if you know it - you can usually find this information in the output of the command lspci -nn.
|User||Smolt Profile||Mode setting||No mode setting||Comments|
|Sample user||HW||PASS||PASS||i945 (0641)|