Check out my first novel, midnight's simulacra!

Xorg hell: Difference between revisions

From dankwiki
No edit summary
Line 4: Line 4:
* "[http://keithp.com/blogs/Sharpening_the_Intel_Driver_Focus/ Sharpening the Intel Driver Focus]" at Keith Packard's [http://keithp.com/blog/ blog]
* "[http://keithp.com/blogs/Sharpening_the_Intel_Driver_Focus/ Sharpening the Intel Driver Focus]" at Keith Packard's [http://keithp.com/blog/ blog]
* "[http://cworth.org/exa/i965/new_job_old_tricks/ A New Job, but Old Performance Fixes]" at Carl Worth's [http://cworth.org/blog/ blog]
* "[http://cworth.org/exa/i965/new_job_old_tricks/ A New Job, but Old Performance Fixes]" at Carl Worth's [http://cworth.org/blog/ blog]
 
* "[http://www.freesoftwaremagazine.com/columns/the_new_xorg_features The X Window Innovation; Welcome to the New Xorg]" on the Free Software Magazine's [http://www.freesoftwaremagazine.com/taxonomy/term/572 Xorg tags]


== Terminology ==
== Terminology ==

Revision as of 10:48, 3 June 2009

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

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.

Multiple Monitors

  • Xinerama, though venerable, is no longer the preferred methodology; XRandR has your back.
  • 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