Wednesday, February 16, 2011

video: installing drivers and tweaking DPI

With the new kernel, the nVidia drivers can be installed. I didn't have luck with the free nouveau drivers, so went with the proprietary nVidia setup. Download it, then:

aptitude install gcc make binutils linux-headers-2.6.37-trunk-686
sh ./NVIDIA-Linux-x86-260.19.36.run

It worked! But... fonts are way too large. At the login page the "user" and "password" fields have letters so big they overflow the space. Terminal windows are unusable. It looks terrible.

I'd already seen this and had found a fix. The Samsung TV lies like a rug to the computer about how big it is. So, on the Linux side just ignore the TV's boasts and set the DPI manually.

File /etc/X11/xorg.conf, add text in bold:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GT 430"
# JM:
    Option         "UseEdidDpi" "FALSE"
    Option         "DPI" "100 x 100"
EndSection

Restart X to see the changes. For my system, this was:

service gdm stop ; service gdm start

video: nVidia GT 430 on Debian, upgrading the kernel

For my new media computer, I chose a nVidia GT 430. It's cheap at $80, small, and doesn't require big power connectors used by my older gamer card. It's also another nVidia card, which has some level of support for Linux.

Debian Squeeze runs Linux 2.6.32, but the 430 is new enough that it requires newer drivers to work well. I wasn't looking forward to dicking with the kernel and/or X settings just to be able to use my computer. It's easy to spend hours or days tweaking things that might help, or might not.

For additional challenge, the video card takes over the audio. The nVidia card can transmit both video and audio over the same HDMI cable to the TV. This is cool because I can control computer audio via the TV remote. However this means I'd switch from my nice Mackie studio monitors to the little speakers inside the TV.

So, under normal Debian with the new GT 430, graphics are old VESA style: low resolution and sluggish. And, no audio at all -- not through the HDMI connector, nor through the motherboard's audio port. But the video is usable.

To verify Debian with new kernel would work with the 430, I found a derivative: PureOS. Installing to a USB flash drive didn't work very well, but it gave me enough confidence to redo the kernel in my main Debian hard drive. http://pureos.org/index.php?lang=english

Upgrading the kernel turned out to be rather easy and not risky. It's in two steps:

1a) "pin" the system so it sees both stable and unstable packages. It'll use stable most of the time, but the newer files are available if needed.

File /etc/apt/preferences, add the text in bold:

Package: *
Pin: release a=statler
Pin-Priority: 1001

Package: *
Pin: release a=squeeze
Pin-Priority: 100

# JM:
Package: *
Pin: release a=experimental
Pin-Priority: 69

1b) tell the system where unstable packages are located

File /etc/apt/sources.list, add text to the end:

# JM:
deb http://ftp.debian.org/debian/ experimental main contrib non-free
deb-src http://ftp.debian.org/debian/ experimental main contrib non-free
2) install the new kernel. It automatically adjusts the boot manager so that you can use either the new or old kernel when the computer boots.
aptitude update
aptitude install linux-image-2.6.37-trunk-686
reboot

With our system running Debian with an upgraded kernel, we're now ready to install the nVidia drivers, thus making our video card happy

new media computer

My old computer is a bit of a mess. Over three years it's accumulated a few hard drives, with cables strewn about. A new computer isn't in my budget, but I'm tired of looking at the full-size computer case in my living room.

Thus, my media PC project. I bought a case small enough to fit in the media cabinet under my 46" tv/monitor, which will contain the guts of the old computer. Then the old case will vanish, and my living room will look great! No more cables multiplying like rabits, languidly lazing about, collecting dust and tripping my Roomba.

This project is in several steps:

1) find the right case. This was rather harder than I'd expected.

2) replace video card. My old gamer video card is too big and
power-hungry.

3) rearrange hard drives. New case only has room for two.

4) move motherboard from old case to new, without a hammer.

5) what the hell, let's change operating systems.