Circa 2001 I built a nice computer. Big white-box case, 750MHz athlon, 512MB memory, 80G hard drive. That thing was sweet! Of course, time passes, and in late 2008 it was showing its age. So, now that I'm older and lazier, I bought a suitably customized Dell XPS 630. Other than the stupid case (has this ridiculous jaunty angle, and LEDs bright enough to read by), it's awesome.
Of course, I put Linux on it. That was a pain, but worth it. Here's what was necessary:
Install Ubuntu from DVD
I was a long-time Debian user, decided to jump ship after one too many head-banging moments due to their overzealous free/nonfree policies. The Ubuntu install was a breeze and I loved the fact that the DVD was also 'live' so I could play with it and if I ever need to, recover with it.
Get Connected
I needed to do a hard reboot of cable modem before my machine could get network access. The modem or something upstream is doing single-MAC whitelisting. New computer wouldn't connect to the network until I hard rebooted it with just the new computer attached; now the old one won't connect.
I also needed these non-default packages:
- ssh (server): Can't live without remote access.
- vnc4server, xvnc4viewer: Remote GUI access, even.
- ez-ipupdate: So I can get into the box remotely, even with a dynamic IP
Get Video/DVD Playing Working
Much of the time I spend at my computer these days is watching DVDs. That was my first priority after getting the network up. The video card is an "(Asus) 512MB Radeon ATI HD 3870", branded "FireGL" which is new and shiny enough the drivers are still a little wack. You can use either the fglrx driver (xorg-driver-fglrx package) or the radeon driver (xserver-xorg-video-ati package). The RadeonHD driver doesn't support this card.
FGLRX driver
You get logs that show you this:
(--) PCI:*(1:0:0) ATI Technologies Inc unknown chipset (0x9501) rev 0, Mem @ 0xd0000000/28, 0xefde0000/16, I/O @ 0xde00/8
(--) fglrx(0): Chipset: "ATI Radeon HD 3870" (Chipset = 0x9501)
(--) fglrx(0): (PciSubVendor = 0x1028, PciSubDevice = 0x2542)
(--) fglrx(0): board vendor info: third party graphics adapter - NOT original ATI
(II) fglrx(0): Using adapter: 1:0.0.
(--) fglrx(0): VideoRAM: 262144 kByte, Type: DDR4
(II) fglrx(0): PCIE card detected
(--) fglrx(0): Using per-process page tables (PPPT) as GART.
(WW) fglrx(0): board is an unknown third party board, chipset is supported
But then, if you do VideoOverlay you get a hard kernel lock and need the Big Red Button. I also played with this command: aticonfig --overlay-type=Xv to no great luck.
Radon driver
You get logs that show you this:
(WW) RADEON(0): Direct rendering disabled
(EE) RADEON(0): Acceleration initialization failed
(--) RADEON(0): Chipset: "ATI Radeon HD3870" (ChipID = 0x9501)
(WW) RADEON(0): R600 support is mostly incomplete and very experimental
It annoyingly lacks a functional XV extension, but it doesn't lock my machine. For such a beefy card, it sucks to be doing software rendering. Hopefully the drivers stabilize a bit and I can get this working better in the future.
Mplayer configuration
For DVDs you'll want these packages: ubuntu-restricted-extras,w32codecs,libdvdcss,medibuntu-keyring: this pulls in non-free extras, required to play DVDs and MP3s. The really annoying thing here is that without the decss package, mplayer will happily try to play the DVDs without decrypting them, giving you awesome garbage and unrelated error messages. That took a while to figure out; I thought something was wrong with the drive itself.
Since the XV extension isn't working, you need to pass -zoom on the command line, or add it to your ~/.mplayer/config. Occassionally the software zoom shows visual artifacts.
If you install any KDE packages, like filelight, mplayer will hang for several seconds every time you try and play a video. It's trying to kill kde screensavers. (See this bug. Just add 'stop-xscreensaver=0' to ~/.mplayer/config and it won't be stupid any more; however you'll need to manually kill any screensavers you have running with e.g. xscreensaver-command -exit to watch movies.
Get all the other bits working
Install non-default packages to actually be able to use lots of helpful stuff:
- vim: The one true editor.
- subversion: I keep swaths of my home dir under version control.
- filelight: To manage space (won't need to for a while, hello huge disk!
- rhythmbox, amarok: I miss XMMS. Enough so I kind of want to become a package maintainer... this is dumb.
- pwgen: for stupid web passwords.
- dselect: Real package management.
- xscreensaver: So the massive number of strangers wandering through my livingroom when I'm away can't access my data.
- gphoto2, python-extractor, inkscape, imagemagick, ffmpeg: Make pretty pictures/movies, download from camera.
- bittornado-gui: For downloading legally shared stuff.
- gnucash: Finance management.
- sgt-puzzles: Fun management.
- uvccapture,luvcview: Try out webcams. It works.
- gnumeric: Spreadsheets are handy.
- xautomation: So is forging X input. Yay cheating at flash games.
- mutt: Ocassionaly you need a real mail reader.
- festival festvox-kdlpc16k: And sometimes somebody to read your mail to you.
There were also a couple last configuration bits to be done:
- Set up new ssh keys/authorized keys file.
- sudo update-alternatives –config editor: Vim.
- Add a firewalling script.
WTF is going on with my keyboard?
This one pissed me off; the mouse I've been using for years, a shiny logitech number that automatically turns the LED into a lower-power mode when not in use, doesn't work with this new kernel. It feels the need to reset the device when it does that, which locks up the bus for a few seconds. If you happen to have a key pressed on the keyboard when that happens, you get stuck keys (and text that looks liiiiiiiike thisssssss). Very annoying; this happens every three seconds you're not using the mouse. I ended up switching to the dinky dell mouse that came with the computer, which doesn't have this behavior, but I miss my old one.
You see this message filling dmesg logs every time it happens
[12339.536428] usb 1-3: reset low speed USB device using ohci_hcd and address 3
[12342.800250] usb 1-3: reset low speed USB device using ohci_hcd and address 3
[12355.696772] usb 1-3: reset low speed USB device using ohci_hcd and address 3
Summary
A new linux box with new hardware is always wonderful and annoying. More wonderful than annoying these days, and Ubuntu is very cool. I'm a fan. It pretty much just worked at a basic level out of the box. After tweaking only two things are suboptimal: the video card's not fully supported (no super-fast rendering, but I'm not really gaming with it now, so I don't care that much) and I can't turn off the case LEDs. LibSMBios (dellLEDCtl, getSystemId) is two years out of date and doesn't support this model.