On a really old website I had. I was switching from Gentoo Linux 2004.2 to FreeBSD, because the laptop was crashing all the time with Savage DRI turned on. I found out 1 year later that it wasn’t actually the DRI, and in fact it was the CPU frequency throttling feature of the VIA C3 that caused it to lock up, not just on Linux, but in Win2K as well. VIA C3 sucks ass.
Memento: My Gentoo Linux 2004.2 install (9th May 2005)
Having played around with Linux since the days of Mandrake 9.0, 9.1 and Fedora Core 2, I thought I had it down pat, except for the installing software stuff. Seriously, installing software was really hard on those Linux distributions…. I didn’t know about those built-in RPM managers then, I scoured the internet long and hard for RPMs of the specific distribution and version that I wanted. Let’s say that you wanted to install Mozilla-Firebird 0.8 (yes, I’ve been using that for a long time too)
1. Fire up browser:
2. Found SuSe-8.1-Professional-Phoenix-0.7.i386.rpm. What? wrong version! Wrong distro! (I have SuSe 9 on a CD, that wouldn’t work either) And I want it for my i586 CPU! (i386 works, but it’s slower compared to i586).So I looked long and hard for some Linux distro that made software installation a breeze. And I found Gentoo. With the user friendly rc-update scripts, entire Gentoo Linux Handbook, and even a dedicated Gentoo-Wiki dedicated to it, not to mention the promise of doing long geeky stuff such as “compiling” that would enhance the performance of my puny VIA C3 CPU and use it to its best abilities, it was a no-brainer over Arch Linux (only did i686s), or, say, Ubuntu.
Sadly, the Gentoo era is gone. It takes many many days to get a Gentoo install up and working, but since I don’t really use my laptop for anything (800×600 makes everything look awful, especially webpages), I decided on switching around with. Here are the few OSes I tried:
Solaris 10 x86 (wouldn’t install from USB CDROM)
Ubuntu Linux (had a user friendly install, but it wouldn’t work from a USB CDROM)
QNX Neutrino 6.3 (now we’re getting interesting…. still won’t install from USB CDROM)
BeOS 5 Developer’s Edition (crashed. I think it’s a processor problem too)
So there you have it. I settled on Gentoo, and I made many posts on it (search my blog). Together, we went through the endless hours of compiling, emerge –sync-ing, and, of course, the Direct Rendering Debacle. I spent so many hours trying to get Direct Rendering to work. Direct Rendering, for you Windows folks, is 3D Acceleration. I have a ProSavage DDR chipset, and damn if the DRI driver for that chip isn’t the hardest thing to obtain (and make it work). However, this page is about my exploits in Gentoo, not that darn problem.
A lot of stuff depended on the kernel. One thing that made me pull my hair out on why DRI wasn’t working was because AGP support had to be compiled as a module, but I compiled it into the kernel. Then, when I got DRI working, I had a corrupted X display. This led to my investigation of the problem, and my “abandon ship!” call… to install FreeBSD 5.3.
My problem was that the console framebuffer support in the kernel was interfering with the 3D accelerated X server’s framebuffer. The console framebuffer allows you to see graphics in the console, so that it’s not just some scrolling text on black. You can even set a custom background, and change fonts and resolutions with the console framebuffer. Or even view images in a web browser without starting X11. Obviously this was a lot to give up just for the sake of getting 3D acceleration working, especially when most of what you do in Linux is in the console. I tried a lot, disabling the VESA framebuffer, the Savage framebuffer acceleration, but they all resulted in an unstable configuration. Eventually, I just lost interest, and now here I am, watching the FreeBSD install extracting stuff into the root directory.
Here are a few screenshots I took before nuking the install:
fsv, the 3D file system browser, in X11 running fluxbox. This very program was featured in Jurassic Park, where the girl hopped onto a SGI workstation and went “oh this is Unix! I know this!” yeah right.
Just to show off my music collection…
The Transgaming Drive had Grim Fandango in it… I managed to get it running under Cedega, also pictured here. zsnes/ is the source for ZSNES, the Super Nintendo emulator. Those blokes at board.zsnes.com have considerable patience with me and my “ZSNES is slow!” posts. Then, the savage-*.tar.bz2s are the DRI snapshots. WINSOCKXPFIX.EXE exists because my main computer somehow had its Winsock files nuked (to access the internet, you need Winsock). xc/ is the CVS X11 source. It takes a day to download from the CVS server, which is why I backed it up.
Say your last words, Gentoo – I am uploading these pictures to the FTP folder on my main computer.
ls, the same as dir on Windows, can get real technical when you ask it to.
Here, fortune displays a fortune cookie. A whole database of funny quotes can be downloaded and used in fortune… dead cow program not included.
Figured you guys might be tired of the console, even though it’s in its framebuffer goodness 🙂 Gnome 2.8, wallpaper from my main computer. Nothing’s running because the thing likes to crash when there are too many programs on.
I almost forgot to mention: this is Enlightenment DR17. The eye candy in this Window Manager is overflowing… it has even more eye candy than Mac OS X. Sadly, after I messed around with DRI, something in DirectFB broke, and Enlightenment DR17 CVS has never been the same since.
glxgears, the definitive program for finding out whether your DRI is enabled or not. In this case, it’s enabled, it’s just that a lot of programs are running, which makes it slow down. DRI is fast, but it’s not the “awesome performance enhancer wow your gfx will jump around all the time” thing that the website will have you think. With a 3D chipset from S3, what would you expect?
So much time spent just to get this one successful line (and the “junkers” memory mapping lines above). What a waste.
Shinichi tries to configure the Linux Kernel sources, and gets a slap on the hand by the machine.
root tries “make menuconfig”, with reproducible success.
How did I get all those pictures from the console? Duh…. fbgrab! writes everything to PNG format. Unfortunately, it doesn’t work without framebuffer, so I can’t show you all how ugly sans-framebuffer is.
Why didn’t I just get rid of DRI and be happy without 3D acceleration? Well… I run Gentoo. That pretty much explains it… Gentoo is all about making the most of your system. If that doesn’t work… too bad, but I’m not living with it. It’s not Gentoo’s fault. It’s those damn guys writing the Savage DRI driver, although they have done a good job with it, considering what information was given to them about the chip (none). VIA’s release of the source code to their Savage chipsets has done no good at all, if Slashdot is to be trusted. Credit and blame goes solely to the Savage driver authors – hope they continue and get it stable.
There you have it. These are all the pictures I have on my Gentoo install. FreeBSD install is extracting stuff into my /usr/src directory. Given it’s reputation for stability and maturity, I expect much stability out of it…. even with framebuffer support. Hopefully DRI, although… I can’t say I’m looking forward to setting it up.