Since October 2007, I have a Sony Vaio VGN-TX5MN notebook. Since the manufacturer does not specify whether
Linux works well on it, I summarize my experiences. I am using
Ubuntu 8.04 “Hardy
Heron” Ubuntu 9.04 “Jaunty Jackalope”. I chose this distribution because I am
used to the Debian system and because Ubuntu is said to work well on notebooks.
This page is listed on TuxMobil and on Linux on Laptops.
The Vaio is a nice machine, and there is not a lot I can complain about. Maybe the USB connectors should not be both on the left side — at least not if you want to use a mouse with your right hand. And I’d prefer the power cable on the right hand side.
I have bought also the 70 W AC/DC power adapter from Kensington. It has approximately the same weight as the original power adapter, but can handle not only AC (from 110 V to 230 V), but also DC — in a car as well as in an airplane (EmPower connector).
Battery: The default battery (Sony VGP-BPS5, 7800 mAh) lasts almost 7 h if the CPU load is low. This decreases over time, but after one year the capacity has not suffered much (whereas the battery of my old notebook was completely dead after 3 years), which seems to me quite good. But after 20 months the battery suddenly died — it did not seem to charge even when connected to AC power, and after a reboot the capacity was much lower, maybe down to one third. Since then, the battery becomes quite hot at one end, so I assumed a short circuit and have ordered a new one.
The Ubuntu (actually Xubuntu) installation did not make any problems.
WLAN (driver: iwl3945 or before ipw3945)
Ethernet (integrated in chipset)
Sound (integrated in chipset: Intel 82801G), and hardware mute button
Graphics card (hardware: Intel 945GM/GMS chipset; driver: intel)
Hotkeys for screen backlight
SD card reader
PC card slot
Touchpad (driver: synaptics; configured in /etc/X11/xorg.conf)
Energy saving functions
Memory stick reader (should work, since it shares its controller with the SD reader)
The backlight is always set to maximal intensity after screen blanking or changing from text mode back to the X server. I’ve found a solution for suspend to RAM, see below; the screen brightness is saved to a variable and restored afterwards. But I don’t know how to do it in all the other cases — are there scripts that are called when changing back to X or re-enabling the backlight?
Jaunty Jackalope: If changing the backlight intensity does not work, it helps to restart the ACPI daemon: /etc/init.d/acpid restart
Hibernation after inactivity (Hardy Heron): The notebook hibernates after a certain time of inactivity when running on battery. Often, I don’t like that; the battery lasts long enough, so it’s not necessary to send the computer to sleep during inactivity. Actually, this behavior should be controlled by sleepd; you can tell this daemon not to send the computer to sleep mode with the command sleepctl off. However, this does not work reliably. Sometimes, it seems to ignore sleepctl. (This seems to be fixed in Jaunty Jackalope.)
WLAN: Sometimes, the wireless driver does not find any network or cannot connect. This can sometimes be fixed by using the WLAN hardware switch, or by removing and re-inserting the module (rmmod iwl3945; modprobe iwl3945).
WLAN LED (Hardy Heron): The current WLAN driver iwl3945 does not have support for the WLAN LED. (In Jaunty Jackalope this is fixed.)
Power management: With the upgrade from Ubuntu 7.10 to 8.04, problems with the CPU power control arose. Sometimes, the CPU overheated and the notebook crashed. This problem may be caused by powernowd; it should probably be deinstalled. See this thread. However, it still happens (yet less often) after deinstalling it. I guess there is a problem somewhere in the power management, maybe a race condition, that crashes the kernel in certain situations, e.g. when the lid is closed and something else happens.
Graphics driver (varies between versions):
Ubuntu Hardy Heron: Google Earth crashed the X server. This problem is gone now; presumably due to an updated graphics driver.
Ubuntu Jaunty Jackalope: The X server freezes after a certain time of running. This seems to be due to an incompatibility between a new Linux kernel and a new graphics driver. The only solutions seems to be to revert the graphics driver to a previous version, as explained here and here.
DVD keys (below the screen): I don’t need them, so it does not matter. To eject the DVD, you can press the tiny button on the drive, or enter “eject” in the shell.
External monitor: The unusual aspect ratio of the wide screen is often a problem; projectors often offer video modes that have a higher horizontal resolution than their physical resolution, and then shrink the picture in horizontal direction. With the tool xrandr one can set the resolution directly:
$ xrandr --output VGA --mode 1024x768
To reset the resolution afterwards, use:
$ xrandr --auto
Projectors have often a resolution of 1024×768. Since the virtual screen resolution is that of the laptop display, only the left 1024 pixels are visible. This is a problem e.g. for the Acrobat Reader which centers the PDF on the virtual screen; that means, there is a grey border on the left hand side, and the right part of the PDF is cut off. Thus, one has to shift the area of the external screen to the center. Since the width difference is 1366 −1024 = 342 pixels, one has to shift the picture by 342 / 2 = 171 pixels:
$ xrandr --output VGA --mode 1024x768 --pos 171x0
Furthermore, it is a good idea to turn off the screensaver during a presentation:
$ xset s off
Suspend to RAM: This does not work out of the box; the notebook falls asleep, but when it wakes up, the display does not display anything sensible. But it works with the following script (inspired by this article):
#!/bin/sh # switch to virtual terminal 1 to avoid graphics corruption in X chvt 1 # write all unwritten data (just in case) sync # save screen brightness into variable, since it will be set to the maximum value when changing back to virtual terminal 7 BRIGHTNESS=$(cat /sys/class/backlight/sony/brightness) # suspend echo -n mem > /sys/power/state # restore the X graphics xrefresh # switch back to virtual terminal 7 (running X); doing this after xrefresh avoids a locked mouse chvt 7 # wait a little, then restore the original screen brightness sleep 1 echo $BRIGHTNESS > /sys/class/backlight/sony/brightness
Update: Now, also pm-suspend works.
Suspend after inactivity: As mentioned above, sleepd can send the computer to sleep after a certain period of inactivity. By default, the program hibernate is called. I prefer the suspend mode; this can be achieved with the following line in /etc/default/sleepd:
Suspend after closing the lid: It is very convenient if the laptop goes to sleep when the lid is closed. This is governed by ACPI; just add a pm-suspend command in /etc/acpi/lid.sh.
Hardy Heron: It happened that the touchpad is not correctly initialized after resuming the notebook from sleep mode — the scrolling feature did not work, and tapping on the touchpad created mouse clicks (which I don’t like and had disabled in /etc/X11/xorg.conf). This was obviously due to an ambiguous entry in /etc/X11/xorg.conf — there were both the Synaptics touchpad and a PS/2 mouse defined, and since the touchpad can also act as a PS/2 mouse, it picked one of the two entries. This strange behavior is gone since I have commented out the PS/2 entry; the Synaptics entry looks like this:
Section "InputDevice" Identifier "Synaptics Touchpad" Driver "synaptics" Option "SendCoreEvents" "true" Option "Device" "/dev/psaux" Option "Protocol" "auto-dev" Option "HorizEdgeScroll" "0" Option "SHMConfig" "true" Option "FingerHigh" "25" Option "TapButton1" "0" Option "TapButton2" "1" Option "TapButton3" "2" EndSection
Jaunty Jackalope: Here, the mouse is not configured in xorg.conf, but either by using syndaemon (to disable the mouse during typing, use syndaemon -i 2 -d -t) – which crashes after waking up from suspend mode – or by using a configuration file, see here or here.
Volume control keys (next to the mute button): They do not work by default; and they seem to send the same keycode, so it’s not easy to map different tasks to both buttons. But there is another solution, according to this website, which redefines the DVD keys for the volume control and eject:
up to Hardy Heron
enter in /etc/lineakkb.def the following lines:
[SONY] brandname = "Sony" modelname = "tx5mn" [KEYS] VolUp = 159 Play = 162 Stop = 164 Forward = 153 Backward = 144 [END KEYS] [END SONY]
enter in $HOME/.lineak/lineakd.conf the following lines:
KeyboardType = SONY Forward = amixer -q set PCM 5%+ Backward = amixer -q set PCM 5%- Stop = eject
$ lineakd &
Jaunty Jackalope: Here, the solution from above does not work, but one can use xbindkeys:
Find out the necessary key codes with xbindkeys -k
Create a configuration file using: xbindkeys -d > ~/.xbindkeysrc
Enter the volume control commands into this file:
"amixer -q set Master 5%-" XF86AudioPrev "amixer -q set Master 5%+" XF86AudioNext
To increase battery life: use powertop, which tells you what you can do to save energy (e.g. switch off DVD drive, Bluetooth etc.). And have a look at the powertop website; there are some tricks how to tame energy-consuming programs and drivers.
Protective cover: There are lots of notebook covers available, but most of them are for larger notebooks — and there is almost no hard case; most are just soft covers to avoid scratches. But a file box (made from cardboard) is a decent and cheap cover; I put the laptop into the thin foam envelope from the original packing, and put this into the file box. When I go by bike, I put the whole thing into a bubble wrap pocket — just to be on the safe side.
Window manager: I decided to use ion3, which is completely keyboard-controlled and has
non-overlapping windows (either tiled or distributed over different workspaces). The default key
bindings collide sometimes with the keys of certain applications — these can be reached by
pressing additionally the Windows key (AFAIK the only useful application for this key under Linux). Some
key bindings for beginners:
<F2>: open terminal
<F3>: start program
<F9>: change or create workspace
<Alt>-<C>: delete/close window or workspace
<Alt>-<.>: go to next workspace
<Alt>-<,>: go to previous workspace
<Alt>-<K>-<n>: go to the n-th object (frame in the workspace, or workspace if there is only one frame); it is useful on the wide screen of the Vaio to have two terminal windows side by side