Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Given a Linux live CD in an environment where enough RAM is assumed to be available, what configuration maximizes the compatibility of the X window system?

I have a Linux Live CD based off of SliTaz 4, and I need to make it the top priority, above anything else whatsoever, that it always boot to an X11 environment. So I'm looking for an Xorg configuration that will be compatible with just about any graphics card or embedded graphics chipset released in the past 10 years. I do not care if it sacrifices performance, disables hardware acceleration, is limited to a certain resolution - all I want is to pretty much guarantee that it'll load on (virtually) any PC anywhere.

What Xorg configuration should I have, what modules do I need to compile/install, etc. etc. to pull this off? Preferably without having to recompile the kernel with certain extensions or statically-linked modules.

share|improve this question
add comment

1 Answer

up vote 0 down vote accepted

After weeks of research, development, and field testing, the conclusion is that Xorg simply has no 100% compatible modes, drivers, or settings. Xorg's Vesa driver kinda works but is a very far cry from being a guaranteed fit (~70% success rate across the board w/out any configuration).

Xorg has a framebuffer-based driver, Xfbdev, which is guaranteed to almost always work (~95-99% of the time) but provides terrible performance and is basically under-developed, under-documented, under-researched, and generally unused. It must use a framebuffer set at boot time, which means the resolution is fixed and cannot be changed once booted into Linux. Given that there is no compatible way to disable output scaling, this means the display will be stretched for at least some percentage of users to an incorrect aspect ratio, and will almost always never match the correct, native display resolution.

Xvesa, though no longer developed or maintained (for shame, for shame!) is the best solution. It is 100% guaranteed to show your UI as it'll grab any settings or hacks from the BIOS so if you can see the BIOS splash screen, you can see an Xvesa display. It has (broken, unreliable) resolution auto-detection, but the real gem is that the resolution can be changed after booting into Linux (and after starting Xvesa as well). There are different hacks possible to detect the native resolution that can bring up the native resolution. I found parsing the output of --display-modes to actually be a fairly good solution perhaps 95% of the time, though I don't understand why the autodetection fails for me in 100% of the test cases I ran given that the --display-modes output is actually correct.

At the end of the day, the closest Linux came to an autoconfigurable display settings X environment was Xvesa and X11, with any of its drivers, does not come close. Obviously X11 offers many features and advantages over Xvesa, however for many people (esp. companies making live CDs) these features are useless if they, in a default boot environment, throw the user to a console half the time.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.