Linux + Vista on Sony Vaio VGN-SZ4MN
Sections

Introduction

What Works and What doesn't

Before starting

Loading Linux

Modem

Suspending

Stamina

External display

Graphic card

Pre-installed software

Other

Introduction

This Vaio is a nice machine: Light and robust (carbon fiber shell), fast (Intel dual core), featuring long battery life (stamina mode), and - why not - elegant.  I must say, however, that Sony and M$ are saving on strange things: The user manual is not printed (it has to be downloaded from Sony's web site), and no recovery disks are supplied (you have to burn your own).

When I told my system administrator that I was going to install Linux on a Vaio, he warned me: "Vaio = guaio" (i.e. "trouble" in Italian).  On the contrary, I got an almost satisfactory installation of Kubuntu 6.10 i386.  Open issues concern (i) suspending, (ii) stamina mode. Everything else works well, more or less out of the box.  Old problems with the microphone have been fixed. With the help of live CDs it has been easy to test other distributions (SUSE, Knoppix) and architectures (amd64).  (K)ubuntu currently outperforms the others.


What Works and What Doesn't
Detailed infos on this laptop can be found here, and here is the result of lspci:

00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS/940GML and 945GT Express PCI Express Root Port (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.0 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 (rev 02)
00:1c.1 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 (rev 02)
00:1c.2 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 3 (rev 02)
00:1c.3 PCI bridge: Intel Corporation 82801G (ICH7 Family) PCI Express Port 4 (rev 02)
00:1d.0 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #1 (rev 02)
00:1d.1 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #2 (rev 02)
00:1d.2 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #3 (rev 02)
00:1d.3 USB Controller: Intel Corporation 82801G (ICH7 Family) USB UHCI #4 (rev 02)
00:1d.7 USB Controller: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller (rev 02)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev e2)
00:1f.0 ISA bridge: Intel Corporation 82801GBM (ICH7-M) LPC Interface Bridge (rev 02)
00:1f.1 IDE interface: Intel Corporation 82801G (ICH7 Family) IDE Controller (rev 02)
00:1f.2 IDE interface: Intel Corporation 82801GBM/GHM (ICH7 Family) Serial ATA Storage Controller IDE (rev 02)
00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
01:00.0 VGA compatible controller: nVidia Corporation Unknown device 01d8 (rev a1)
06:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02)
07:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8036 PCI-E Fast Ethernet Controller (rev 16)
09:04.0 CardBus bridge: Texas Instruments Unknown device 8039
09:04.1 FireWire (IEEE 1394): Texas Instruments Unknown device 803a
09:04.2 Mass storage controller: Texas Instruments Unknown device 803b

Results using Kubuntu 6.10 i386:

The kernel is now 2.6.17-11-generic.

2 processors Yes Note: with the generic kernel only
Ethernet, Wireless OK  
Bluetooth Detected Not tried
Modem ~OK Using driver from www.linuxant.com; can't check for dial tone
Sound OK  
Microphone OK
Graphic card OK Using NVIDIA drivers
External display 1/2 OK Rudimentary support
Touchpad ~OK Tapping and vertical scrolling; no horizontal scrolling
USB devices OK Flash disk, camera
Fn-Fx Keys ~OK Volume and brightness work; no screen switch
Stamina mode NO  
Sleep NO  
Hibernate to disk OK Broken by an update

Before starting
Be sure to prepare Vista recovery disks first!  If you don't, then in case of trouble you may have to pay for restoring the system.  Recovery disks can be made with the Sony Recovery Kit, see the backup and restore manual (this one is printed and included in the package).

Second, shrink Vista's main partition (there may be a second, smaller partition for restoring the system in a faster way - when possible) using whatever utilities M$ and Sony give you.  If you shrink the main Vista partition with a Linux partitioner, Vista will not boot anymore.

I didn't know this when I started, so I had to restore Vista using the restore disks.  At the first attempt it did not work - the Sony restoring utility did not start.  Only after formatting the main Vista partition with a Linux live disk the boot procedure recognized that the recovery procedure had to be selected.  From that point on, everything matched the description on the recovery manual.

During the recovery procedure I could resize Vista's partition and create another partition that later I filled in with Linux partitions.

Loading Linux
Live DVDs are available for all the distributions mentioned in this report.

Modem (thanks to linmodem.org for their support)

The internal modem is a Conexant soft modem.  The driver can be downloaded from www.linuxant.com.  Click on the drivers tab and choose Conexant, then click on the download link placed on the left column under the HSF section.  After accepting the agreement, choose the cnxtinstall.run method and follow the instructions - the installation script will do everything for you. After installation the system should be rebooted.  The free driver works at a limited speed; if you want full speed then you should buy a product key.

If you have a static address for your wired network, then you may want to tune network settings because the ppp daemon does not override the default gateway of the wired interface. There are several possible ways of getting the right gateway, but none of them is very elegant for a "common user" (unfortunately knetworkmanager - that would be an ideal tool for changing interfaces - does not automatically detect wired networks and modems in Ubuntu). Since I'm using the modem more frequently than Ethernet, my choice is preventing eth0 (the wired interface) from being enabled when the system boots (you can do this from start menu -> System settings -> Network settings by entering the administration mode, double clicking on eth0 and toggling a flag).  When I need Ethernet I enable it manually (from the same control panel, or simply with a command sudo ifup eth0).

So far I have not been able to make the modem recognize dial tones.  Some combinations of +GCI (the command for setting the country) and X2-X4 (the commands that usually force the modem to wait for a dial tone) yield an error; some others never recognize the dial tone; others simply ignore the dial tone.  One should probably look for specific Conexant commands.

Suspending
Suspend to RAM (sleep) causes the system to freeze.  On the contrary, the hibernate modality (suspend to disk) works perfectly. Same for hibernate, since the last update.

Stamina mode (power saving)
It is supposed to increase battery life significantly (quite good for intercontinental flights).  If the system is booted with the powersaving switch on "stamina" position, the system freezes.  If the switch is moved to "stamina" at run time, apparently nothing happens (the system stays in "speed" mode).

External display (projector)
None of the Fn-Fx combinations changes video mode (internal, external, both).  The nv driver included in the distribution has the external display constantly on.  One can see the desktop but the image is noisy (I tried a projector).  

The NVIDIA driver (see below) produces a clear image.  In the standard configuration, the driver activates only one display.  To activate the external display one can (i) change screen resolution, and (ii) restart the X server (e.g. brutally with Ctl-Alt-Backspace).  Afterward only the external display will be selected.

There may be a better way of switching displays, and possibly activating them both.  I have not yet tried configuring the external display in xorg.conf, possibly from the control panel.

Graphic card (NVIDIA GeForce Go 7400 GPU)
To get graphic acceleration one needs the NVIDIA driver, which is not part of the standard release because it is distributed with a different licence (it is free, anyway).  Here is a simple sequence of commands to download, install, and configure it.
  • sudo apt-get update
  • sudo apt-get install nvidia-glx
  • sudo dpkg-reconfigure xserver-xorg
During the reconfiguration procedure, I selected the standard values with the following exceptions:
  • driver: "nvidia"
  • keyboard layout: "it" (I have an italian keyboard)
  • I added 1280x800 to pre-selected monitor resolutions.
Then restart the X server to activate the new driver.  As a test, you may type "glxinfo | grep direct", that should output "direct rendering: yes".

Pre-installed software
The software coming with the distribution is oriented to an office workstation + multimedia.  Several packages we commonly use (Emacs, LaTeX, web page editing,  development packages, etc.) are missing but can be easily downloaded, installed and configured with Adept or apt commands.

Other distros & architectures
A brief report on the other live distributions I tried:
  • Knoppix 5.1.0:  freezed during system boot 
  • SUSE 10.2: wireless card not recognized, no Fn-Fx keys, wrong screen resolution autodetection; not further explored.
  • Kubuntu 6.10 AMD64: no brightness keys, problems with graphics (the login screen immediately after system boot is unreadable - wrong configuration? - and the X server may have to be restarted several times to get proper settings); some packages are not available for 64 bits architectures.
  • Kubuntu 7.04 (Feisty Fawn): times are not mature.  The automatic upgrade fails for some dependency problem. The system installed from scratch is not yet completely stable. The NVIDIA drivers (nvidia-glx and nvidia-glx-new) do not work (the window manager does not start).  The microphone does not yet work.  Moreover, the new partitioner forces a change to partition size in some cases.

Piero A. Bonatti

Last update: June 1, 2007 - Microphone problem fixed by recend update

Previous update: May 7, 2007 - Hibernate broken by update

Previous update: Apr 26, 2007 - Kubuntu 7.04 Feisty Fawn

Previous update: Apr 25, 2007 - Now the modem works