linuxbios + xf86-video-unichrome: no VGA BIOS needed.

Fredrik Ohrstrom oehrstroem at
Sat Mar 17 03:44:29 PDT 2007

Ubercool! This is exactly what I myself intended to do, and you
have already done it! My next goal is to initialize the display
already in LinuxBios. I want it to go into a nice picture/or solid color
within less a second after press the ON button. Then, later as the
X-server takes over the control, it will know that the display is
and can take over without blinking the display.... :-)

Do you think it is possible?


2007/3/16, Luc Verhaegen <libv at>:
> Yes, you read that correctly.
> You can run X on your CLE266 based EPIA without having to depend on any
> non-free software whatsoever.
> No non-free drivers. No non-free BIOS. And now no VGA BIOS :)
> If you have an EPIA-M, then things are very easy. Well, relatively easy.
> Well easier than trying to include a VGA ROM in linuxbios anyway :)
> X bit:
> ------
> My X driver has been able to run as a non-Primary VGA device for years.
> All it needed was to become (bios-initialised) scratch register
> independant, which is something i did late last year, early this year.
> There was a single, highly trivial bug in the way, and it was something
> i broke late last year, but now it's just fine.
> So just get my driver from git:
> git-clone git://
> * Build it; there's a README in there for manual builds (it's backwards
> compatible all the way to debian sarge's xfree86-4.3.0), or if you're
> on debian or ubuntu (with a modular X) then you can just
> dpkg-buildpackage it.
> * Install it.
> * Test it.
> Caveats:
> * You do want to test X and verify that it's the latest version. The
> log echoes the git SHA-ID. grep for "SHA-ID" and match it with your
> git tree.
> * You do want X to start automatically, or you will have to have some
> other means of logging in (serial, network).
> * Don't depend on X as your only way in. The driver was written only
> with "bail out cleanly if something fails" in mind. If it fails, it
> will restore the console cleanly. But the snag there is that we didn't
> have a console to begin with (but hang on, i'll get you one ASAP). :)
> * The driver will complain when trying to parse the scratch registers.
> But all the necessary ones are handled properly now, and the rest are
> configurable. So the driver is just whining, nothing more.
> BIOS bit (for original 256kB rom):
> ----------------------------------
> Linuxbios already had all the bits necessary to get this working.
> There's no more voodoo involved anywhere.
> * Just use whatever payload you require (normal use will probably be
> filo), but make sure that this is solid.
> * Just buildtarget via/epia-m with the standard config, which should
> only be adjusted for your payload.
> * flash your rom with the created linuxbios.rom, but do store the old
> image first, as that takes only a few seconds.
> Do not bother with any of the VGA things, as, for X only, they are not
> necessary, and most of the documentation out there is outdated anyway :)
> Caveats:
> * you do want serial (test this before rebooting), as you don't get a
> VGA console. If you, for instance, want to touch what filo is booting
> for you, then you do need serial.
> * you probably do want to be able to ssh in, this means that you
> pretty much need to get to the end of the booting process already.
> I have deliberately kept the above guide short. Read through the
> documentation of what you're doing, this will help ensure that you don't
> get an unbootable machine. But this is not rocket science, there is no
> voodoo involved.
> If you're careful, and spend a bit of time and thought on setting up
> the payload and linuxbios, then the chance of bricking your EPIA-M is
> small. But if you do brick it, you will have to find a way to flash your
> rom from another board (hotswapping) or with a prommer. Nothing lethal,
> but a rather major inconvenience if you're not prepared for it.
> For absolute peace of mind, you might just want to get a PLCC extractor
> (~5-10EUR) and a 5V PLCC rom (~5EUR) and keep the original rom as is. If
> you then bugger up, you can just insert the old rom again, edit your
> BIOS config (CMOS got incompatible changes now), and it'll boot up just
> fine.
> ----
> Now, if both bits have been done, do some ritual of your own choosing
> and reboot.
> You do want to powercycle to get rid of the original VGA BIOS that's
> still loaded at 0x000C0000, which doesn't get run at all but just sits
> there. Also, if you don't powercycle, console will also just keep on
> existing as if nothing happened, as no registers from the unichrome will
> get touched in a significant way.
> After a short while, X should come up as if nothing's changed :)
> And that's it. You've rid yourself of all non-free software. Now you get
> to trump pretty much everybody who claims to be all free software :)
> There is of course no warranty that all of this will not brick your
> motherboard. If it does, then i'm sorry, but then you've probably done
> something wrong, as it's all pretty happy here. But it's nothing lethal
> anyway, just inconvenient :)
> The only time i did brick it here is when i did try to run a VGA BIOS
> (at a wrong, hardcoded offset), so don't worry too much, just be very
> careful :)
> Oh well, true free software geekdom is only for the brave.
> Luc Verhaegen.
> _______________________________________________
> xorg mailing list
> xorg at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the xorg mailing list