Tuesday, January 25, 2011

Xinerama and RANDR incompatibilities

There's a serious problem in the contention between Xinerama and RANDR in the realm of Linux monitor support since at least the last 5 years. I'm reading about it on the web without reaching any conclusions.

While I've been vaguely aware of this myself for a few years, what motivates my present interest are the two, following unsettling situations.

First, when I go to tailor monitor settings on Maverick Meerkat (System -> Preferences -> Monitors), I cannot. I get an alert to the effect that Linux...
Could not get screen information
RANDR extension is not present

And every time I launch gvim (and also gedit) from the command line, I get (the warning):
Xlib: extension "RANDR" missing on display ":0.0".

Fortunately, my favorite program editor and text processor still works, but I have to admit that the warning has grown old and very annoying.

I've seen these (well, the second example, anyway) before on other systems, perhaps on openSuSE back in the day and I had to ignore them without ever figuring out what to do.

Xinerama and RANDR
What I gather from reading the mostly speculative discussions is that these two are incompatible. Some say to disable Xinerama, but if you're using NVIDIA drivers, you're stuck because without it, it would appear, you cannot configure multiple monitor support in the way I like it: mapping two edge-to-edge for maximum real estate.
russ@russ-elite-book:/etc/X11> fgrep inerama xorg.conf
# Removed Option "Xinerama" "0"
Option "Xinerama" "1"
Option "TwinViewXineramaInfoOrder" "CRT-0"

What I think is happening in the second example is that an application that opens a GUI appeals to X11 for something that it cannot provide because to have Xinerama enabled is to have RANDR blocked. I've checked with the Synaptic Package Manager to see that both are present on my host. Indeed, both appear to be there:
russ@russ-elite-book:~> ll /usr/lib/libXrandr*
lrwxrwxrwx [...] /usr/lib/libXrandr.so.2 -> libXrandr.so.2.2.0
-rw-r--r-- [...] /usr/lib/libXrandr.so.2.2.0

After so many years, you'd think those who actually know what's going on would, if not in a position in the Linux development ranks or the driver suppliers, simply issue a wiki or other form of explanation as to what's going on and clearly state the choices of action and consequences of adopting each choice.

Well, it's what I'd do. But then, my goal is always to fan away the smoke that encircles those people and technologies waving magic wands and crowned with pointy, black hats emblazoned with moons and stars.


  1. Well-said, from one with no stars (yet) on my pointy black hat. I have probably searched the web 15 times in the last 2 years, in the few minutes between embedded ARM compilations, for answers to the RANDR message. Your post definitely cleared away some of the smoke. Thanks-- from a fellow-cougar (rise n shout !) Jim

  2. Me too! Drives me bonkers. I have multiple nvidia gpu's, that I paid large bucks for, and I wish to use them. Randr will not work. So, should Linux users be relegated to the asshat heap with sub par display systems? Well, I'm not running a TRS-80 here, I merely want to use my hardware without some huge depend on something that buggers all. Or, are we tied to a bunch of leftist political wanks who think that one GPU should be sufficient for anyone? It's a wonder the OP isn't swearing a blue streak.