Check out my first novel, midnight's simulacra!
Xorg hell
From dankwiki
Ahhh, XFree86/Xorg. What a steaming pile of FUBAR it's been. Things are rapidly getting better, though (unfortunately, the framebuffer kernel layer now seems to be rotting slightly -- there's no intention, from what I can tell, to support Intel 965 for instance). I use Intel 965 video extensively, and have for some time -- info within might only be applicable to that card, and of course all of this may vary based on your Debian setup.
Good links
- "Sharpening the Intel Driver Focus" at Keith Packard's blog
- "A New Job, but Old Performance Fixes" at Carl Worth's blog
- "The X Window Innovation; Welcome to the New Xorg" on the Free Software Magazine's Xorg tags
Terminology
- Display: An X server, made up of one or more screens
- Screen: A display area for an X server, made up of one or more outputs, having the name hostname:displaynumber.screennumber
- hostname should be left blank for local displays
- Monitor: An output/port to a physical display device, having a resolution and a position within a screen
- LVDS: Integrated LCD (digital, differential signaling)
- TMDS: DVI, HDMI (digital, differential signaling)
- VGA: HD-15 (3-row DE-15) (analog)
- S-Video: Mini-DIN 4 (analog)
- crtc? pipe?
Diagnostics/Control
- xdpyinfo(1) - X server information
- Use the -ext extensionName option for extension-specific info (-ext all for all)
- xvinfo(1) - X-Video extension information
- glxinfo(1) - OpenGL implementation information (via GLX)
- glewinfo(1) - OpenGL extension information
- visualinfo(1) - OpenGL visual info
- xrandr(1) RandR (X Resize, Rotate and Reflect) extension information and control (operates on Monitors)
- xprop(1) Window and font property information (select window with mouseclick, -id or -name)
- fbset(1) Framebuffer information and control (use -i to get more (basic) info)
- xdriinfo(1) DRI (Direct Rendering Infrastructure) driver information for all screens
- xdriinfo nscreens for screen count, xdriinfo driver screenno for drivers
- xdriinfo option drivername/screenno for detailed configuration (as set using driconf(1))
- xbacklight(1) device backlight information and control
- xprop(1), xwininfo(1) display information about X objects specified via command line or mouse click
Sample Output
All output is from an i965 on a 64-bit Core 2 Duo machine.
- xdpyinfo output
- XVInfo output
- GLXInfo output
- glewinfo output
- visualinfo output
- xrandr output
- xdriinfo output
Multiple Monitors
- Xinerama, though venerable, is no longer the preferred methodology; XRandR has your back.
- Ulrich Drepper has a good article
- Four modes: clone, span mode, extended desktop, multiseat
- Clone: same image on each monitor (good for presentations etc)
- Span mode: Stretch desktop of resolution 2M+N across two monitors of resolutions M and N
- Extended desktop: Disjoint desktops of resolution M and N on monitors of resolutions M and N
- Multiseat: Two distinct displays/inputs/users
- http://wiki.debian.org/XStrikeForce/HowToRandR12 seems up-to-date and useful
Configuration
- These days, the less in your xorg.conf, the (likely, almost certain) better
- Most necessary modules are these days automatically loaded or builtin
- xrandr obsoletes most monitor setup requirements, so long as DDC/EDID work