Screen resolution and Nvidia drivers
At home I have a two-day old Ubuntu install sitting on my PC. It now has a 1280×1024 resolution, the nvidia drivers (with glx) installed, and Beryl and emerald (more on this later) installed on top of all that.
I can’t get no… res-o-lu-tion…
The 1280×1024 resolution and nvidia driver install were more challenging than I am used to from a modern distribution. I’m used to there being a package that you simply install, and then it’s done. You need to edit xorg.conf, something I’ve become completely comfortable with, and then you have the resolution you like with the driver you want to use. Easy, right?
Apparently not.
The resolution, I’m still not sure about. Like I said, I’m used to editing xorg.conf, and that’s the end of it. For some reason, my edited xorg did not help — not whatsoever. It was as though my changes had no effect. Some quick scouring of the ubuntu forums revealed that you could recreate an xorg.conf by running “dpkg-reconfigure xserver-xorg” — and for some strange reason, that worked just fine. I made sure to explicitly select the horizontal and vertical refresh rate, color depth, and screen resolutions that I wanted, and, Behold! it worked.
(Aside: when you have the horizontal and vertical refresh rates of your monitor memorized, that indicates that you have re-installed Linux way too many times).
Nvidia nightmares
The nvidia driver perplexed me for a long time. I installed it, restarted gdm, and it worked. Then I changed my kernel — Ubuntu’s default is 386, and I figured I might avoid some possible problems by using the k7 (AMD) kernel. However, with the new kernel — the nvidia module was not found. Repeated use of apt-get confirmed that it was installed, but it would not work. Removing the packages and reinstalling did not help at all.
Lest you become impatient, here was the problem — the nvidia drivers depend on another package called linux-restricted-modules. The catch is, when I first installed the nvidia drivers, the accompanying package linux-restricted-modules-386 was added. When I changed kernels, the appropriate “linux-restricted-modules” version was not present. A config file must have been “stuck” somewhere, because even uninstalling and reinstalling nvidia only reinstalled the 386 version of the file.
The solution is to just manually install (apt-get or synaptic, you choose) linux-restricted-modules-k7 or -686, depending on which kernel you switch to. As a result of much tweaking and testing, I’m currently still on 686, though k7 should work just as well now that I know to install the correct additional package.
That’s it for now — later, more on the wonders of Beryl.
FWIW, there is an install script that will modify xorg.conf for you when you install the nvidia drivers.
I suspect the main reason that it’s not simpler is because the Ubuntu guys are still quite reticent about installing proprietary drivers (and software) onto the system – a clash of values vs usability again.
By the by, since I don’t know anything about linux, I’ll submit that Red vs. Blue has posted the first episode of their new season…
@ John: Nice catch. That’s worth a look-see.
@ mrben: Yes, the conflict between free and nonfree (or open and proprietary, or whatever the terms of the week are ;-) ) has probably been a larger barrier than anyone would like. Unless someone reverse-engineered some really excellent drivers (which may not even be totally legal in some cases…), we’re basically waiting for either: (1) vendors (ie, nvidia & others) to open source their drivers, or (2) the GPL to become more accepting of closed source/nonfree binaries.
I don’t think I’ll be placing a large bet on any of those options just yet. Unfortunately, that probably means a really slick Linux desktop will always involve post-installation workarounds for the forseeable future…
I believe that Freespire has ’solved’ the problem, but in a way that is not particularly compatible with the ideals of Ubuntu.