Check out my first novel, midnight's simulacra!

Xorg hell: Difference between revisions

From dankwiki
 
No edit summary
 
(10 intermediate revisions by 2 users not shown)
Line 1: Line 1:
[[File:Xkcdx11.png|right|thumb|XKCD weighs in, 2011-10-12]]
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]
* "[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], and also "[http://www.freesoftwaremagazine.com/columns/xorgs_x_window_innovation_its_not_all_about_graphics Xorg's Innovation: It's Not ALL About the Graphics (but there is quite a lot of it)"] from those same tags
==Keyboards==
* Disable NumLock/CapsLock entirely via <tt>xmodmap -e "keycode # = """</tt>.
** Replace # with the scancode (use <tt>xev</tt> and look for <tt>keycode</tt>)


== Terminology ==
== Terminology ==
Line 39: Line 48:


== Multiple Monitors ==
== Multiple Monitors ==
* Xinerama, though venerable, is no longer the preferred methodology; XRandR has your back.
** Ulrich Drepper has [http://udrepper.livejournal.com/20187.html a good article]
* Four modes: clone, span mode, extended desktop, multiseat
* Four modes: clone, span mode, extended desktop, multiseat
** Clone: same image on each monitor (good for presentations etc)
** Clone: same image on each monitor (good for presentations etc)
Line 50: Line 61:
* Most necessary modules are these days automatically loaded or builtin
* Most necessary modules are these days automatically loaded or builtin
* xrandr obsoletes most monitor setup requirements, so long as [[DDC/EDID]] work
* xrandr obsoletes most monitor setup requirements, so long as [[DDC/EDID]] work
==See Also==
* [[GNOME]] page
* [[Intel 965]] page
* [[CUDA]] page
* [[Video Acceleration]] on Linux
[[CATEGORY: Display]]

Latest revision as of 00:08, 28 November 2011

XKCD weighs in, 2011-10-12

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

Keyboards

  • Disable NumLock/CapsLock entirely via xmodmap -e "keycode # = """.
    • Replace # with the scancode (use xev and look for keycode)

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

See Also