Check out my first novel, midnight's simulacra!

Xorg hell: Difference between revisions

From dankwiki
No edit summary
Line 1: Line 1:
Ahhh, XFree86/Xorg. What a steaming pile of FUBAR it's been. Things are rapidly getting better, though (unfortunately, the [[Linux framebuffer|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.
Ahhh, XFree86/Xorg. What a steaming pile of FUBAR it's been. Things are rapidly getting better, though (unfortunately, the [[Linux framebuffer|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==
* "[http://keithp.com/blogs/Sharpening_the_Intel_Driver_Focus/ Sharpening the Intel Driver Focus]" at Keith Packard's [http://keithp.com/blog/ blog]


== Terminology ==
== Terminology ==

Revision as of 10:46, 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