2006-03-05

Ultra 20, NVIDIA, Ubuntu, and Java 6

For a long time I said I wouldn't have a Linux box at home until it got to the point that you just plug in a display, boot, and it works. All the way to an X11 desktop. Somehow, though, I ended up spending this evening playing with xorg.conf and restarting the X11 server.

I have two problems, you see, with the default Ubuntu installation on my Ultra 20 with its NVIDIA Quadro NVS 280. (Xorg claims it's an FX 330. lspci(1) says it's an unknown device.) The first problem is that I'm stuck using a loaned CRT because it can't drive my 23" Apple Cinema Display. The second problem is that Java 6 is pretty much unusable because certain Swing GTK LAF operations (like changing tabs in a JTabbedPane) take 4 s.

Seriously. 4 s. To change tab.

I submitted Sun bug 6381475 about a month ago, after giving up expecting that it would be fixed in the next build, which I'd been doing for months.

So, anyway, I'm increasingly keen to get an LCD to replace the CRT the Ultra's connected to, so I thought I'd have another go at driving the Apple display. A quick Google turned up HOWTO: Get Apple Cinema 23" Display working using Nvidia drivers on an Ubuntu web site, which seemed like a good place to start. That in turn linked to HOWTO: Latest NVIDIA drivers on the same site.

I followed the instructions on the latter page, copied the Modeline from the former page, restarted gdm(1), and plugged the Apple display in instead of the CRT. I didn't get the 1920x1200 I'd have preferred, but I did get 1280x800, which was better than a kick in the plums. Feeling lucky, I tried rebooting, but ended up pulling the plug and re-connecting the CRT. So no real joy there.

What I have found, though, is that life on the CRT is now much better than before. The binary NVIDIA drivers make a huge difference to OpenGL, and Java 6 is now as usable as Java 5. (I don't really do anything sufficiently graphically intensive on that machine to see any benefit over Java 5.)

So now I could actually consider doing some development on the Ultra, using Edit and Terminator as I do everywhere else.

(Other things I learned during this evening's numerous reboots are that you can edit /etc/gdm/gdm.conf to get a 24-hour clock on the gdm(1) login screen, but you can't get an ISO date, and that F2 at the Sun logo gets you into the BIOS setup screen, where you can turn off the Sun logo.)