Windows started to get a little sketchy on me over the last couple weeks, so yesterday I sat down with some coffee and wiped it clean. A little prep goes a long way. Everytime I download a setup file I think to myself, “Am I going to need this when Windows dies?” and if I reply with a yes then the file gets stashed in my Installs directory outside of the Windows install. Right now the core group of files include Logitech drivers, Nvidia drivers, WMC codec packages, an anti-virus (currently MS Security Essentials), Chrome, Pidgin, uTorrent. It’s nice having all those driver installs and apps at your fingertips after an fresh Windows setup, especially when they’re designed to update themselves with little intervention. Hell, Chrome even syncs your bookmarks/preferences (soon extensions too) across multiple systems out of the box. So as soon as I fed the new install my username/password, all that came right back.
Moving all my documents/movies/pictures/everything into their own directories outside the C: drive made things infinitely easier too. In Win7, you can right click (for example, it works with any folder in your Home directory) My Documents, pick Properties. Up top there’s a new tab for Location. Click that, click Move and pick a new spot. It’ll helpfully ask you if you want to move all your existing stuff into the target directory. Since it was a fresh install, I skipped it. Very cool stuff though. It made getting my personal preferences back stupidly simple. I even transferred out my Desktop and Saved Games directories too, just for shits n’ giggles.
Then I got to poking around with dual monitors: a TV attached via 30′ HDMI the other being the monitor on my desk. Windows 7′s Media Centre is awesome and I highly recommend it to everyone (as long as they install the Shark007 codecs with it) but I tire of software easily and decided to give Ubuntu a stab at my home system again. After a little trouble with a leftover Windows Boot Manager on a different drive taking priority, things got sorted and installed without much of a hitch. Nvidia drivers installed fine, the dual monitor and video settings config went much more easily than it did even on Windows. The folks at Canonical seem to be trimming out a lot of the Linux fat and slimming down the number of controls significantly. Their effort is much appreciated.
The first (and so far only) snag came with sound over HDMI. Not only did it require the ALSA sound system but it also needed to be a very specific version that had to be compiled from source. This is something I refuse to do with ALSA. That’s one setup that can go sideways much to easily. I like my blood pressure where it is. Luckily, someone on the Ubuntu forums wrote a handy script that downloads all of the prereqs, configs, compiles and installs the whole job. When that finished, all I had to do was set a Profile type in Sound Preferences (in Gnome: System menu > Preferences > Sound; the Hardware tab) by picking my device then picking the setup I wanted. Digital Stereo (IEC958) Output + Analog Stereo Input in this case. I think most people in my situation would be looking for this same option.
After a little trial and error, I found this setup to work best:
- Nvidia: Used Separate X Screens instead of TwinView.
- TwinView takes your two desktops and stitches them together for form one BIG desktop. That means your resolution stops being two screens at 1920×1080 and starts being 3840×1080 or 1920×2160. This really dicks with a lot of apps. XBMC in particular can’t go to a reasonable fullscreen in this mode. Separate X Screens takes a reboot to put into practice but trust me, it’ll be worth saving you the headaches later.
- XMBC: Scripted to work with a package called wmctrl.
- Even with Separate X Screens, XBMC still has some issues with fullscreen on dual monitor setups. Namely, it likes to trap all input so your mouse/kb can’t be used outside XBMC when its in full screen. wmctrl (install via apt-get) lets you control a lot of little window manager settings. Below is a script I use to launch then fullscreen XBMC to my TV.
$ cat .xbmc-fs
#!/bin/bash
# Launches XBMC then uses wmctrl to full-screen it without taking away control
# Display:0.1 == my TV
# Display:0.0 == my Monitor
DISPLAY=:0.1
# start XBMC and continue script when ready
xbmc &
# wait for it...
status=0
while [ $status -eq 0 ]; do
sleep 1
status=`wmctrl -x -l | grep "XBMC Media Center" | wc -l | awk '{print $1}'`
done
# enable pseudo fullscreen
wmctrl -x -r XBMC Media Center.XBMC Media Center -b toggle,fullscreen
Anyways, got GNOME-Do, Chrome, Pidgin and Transmission installed. Remapped most of my home directory links to the right spots on my hard drives. It’s 100% usable now. All down to the nice-to-haves now: Steam, Skype, Office and possibly KDE4.