Running Ubuntu on the Sony VAIO SZ2XP

After I left my previous job I was in the market for a new laptop, so after a bit of searching I purchased a Sony VAIO SZ2XP. I’m very happy with it, although every now and then I get some doubts over whether I should have bought the TX model instead. Either way, it’s a beautiful machine, very lightweight (1.65kg) but it feels sturdier than most laptops I’m familiar with (not including those 17”, 4kg desktop replacement beasts). Very good specs, and it’s pretty much the only laptop I could find with both a PCMCIA and a PC-Express slot, which was an important criterion for me.

What’s particularly impressive about it is the beautiful high-contrast screen. It really is a pleasure to look at. I was initially not such a fan of ‘glossy’ laptop screens, because of fears of how it would hold up in bad light conditions, but I’m completely over that now. Glossy screens all the way! Sure, if you turn the brightness too low to conserve batteries you will see your reflection in it, but even then you can still work on it without any problems. Whereas with a classic ‘anti-glare’ screen, any ambient light will be spread out all over the screen and you can’t see a thing anymore, even if you turn the brightness all the way up.

Naturally, on the day I bought it, after briefly booting Windows to check that the hardware was working and the screen was undamaged, I installed Linux on it. First Ubuntu Edgy, and a few days ago I upgraded to RC4 of Feisty. The upgrade worked flawlessly and was just a matter of pointing Synaptic at the new repositories
(sudo sed -i.bak -e 's/edgy/feisty/' /etc/apt/sources.list) and doing a refresh.

The VAIO is not known to be the easiest machine to get Linux running on, but in my research I had not found any showstoppers, so I decided to risk it. And I must say, I was pleasantly surprised by how smoothly everything went. All of the basics were recognized out of the box: video, sound, network, both processor cores, Intel Speedstep support, most of the power management stuff, etc.

The SZ series actually has two video cards: an NVidia for cool 3D stuff, and a less manly but also less power-hungry Intel card. Both are supported out of the box, but of course they need different drivers so you can’t just switch between them on the fly (same is true under Windows: the switch takes effect after you reboot). And of course, you need to install the proprietary binary drivers from NVidia to get the most out it 3D-wise. Beryl works great, after installing the latest NVidia drivers and doing some minor tweaking. I have to admit, I really get a kick out of showing off the eye candy to people who’ve just installed Vista. :–)

The wifi card is an Intel ipw3945, which is supported by an open-source driver although it’s relegated to Ubuntu’s “restricted” ghetto because it’s one of those binary blob drivers. It works, but wpa_supplicant complains about not being able to enable WPA on the driver. That’s supposedly an Ubuntu problem rather than something inherent in the device or the driver, but it’s still not solved in Feisty RC4. I haven’t yet gotten around to recompiling the driver.

The webcam is supported (broken link) since about a week, thanks to Sam Revitch who reverse-engineered the Windows driver and succesfully wrote a video4linux driver. As with most of those built-in webcams, image quality is decent with good light, but in less perfect light conditions there’s a lot of noise in the picture, especially in high resolution (640x480).

Supposedly, there’s some work going on to support the fingerprint reader as well, although frankly the most useful thing I can think of doing with it is to use it as a third mouse button.

Unexpectedly, the biggest problem is the network card. As I said, it works out of the box, but it’s rather unreliable. The sky2 driver has a long history of problems: crashing under heavy load, hanging when coming out of hibernation, etc. It’s being worked on, but even with 2.6.20 it still hangs occasionally. Supposedly, a different driver from Sysconnect can be used as an alternative, but I haven’t tried that yet.

Lots more info here: