Running Gentoo GNU/Linux on a Vaio TZ

I have summarized all my previous posts about running Gentoo on a Sony Vaio TZ laptop, and added some more tips & tricks. You can find the article at my website.


Perfect «Suspense» (with a Vaio TZ11MN/N)

Maybe you already know about my trip throught all the oddities with the suspend to RAM feature with GNU/Linux running on my Vaio TZ11 notebook… yesterday I was able of workaround one of the things which was annoying me in the last weeks: the X11 Intel video driver was frozen after coming back from suspend! This happens when using the uvesafb framebuffer driver, but not in plain-old VGA text mode (which is way too ugly: you cannot see the penguins when the system boots!).

First I tried using the intelfb driver in the framebuffer, but I got exhasperated because it does not know how to set-up video modes (at least with my hardware), so you need to pass vga=some-mode in the kernel command line… Unfortunately, trying to set the VESA mode this way before the driver is initialized makes some interesting effects: the framebuffer can flicker horribly, the machine can refuse continue booting after setting video mode, the image on the panel can be totally screwed… depending on which video mode you are trying to set.

The final solution was using the old (but still trusty) vesafb driver. I had to try different kernel command lines until it worked. After some rebuilds, I got a working kernel configuration with the VESA framebuffer driver. The following is needed in the kernel command line: video=vesafb:1366x768-32,ywrap,nomtrr vga=0x362.

Maybe you already suspect that: 0x362 is a nonstandard video mode (1366×768, 32bpp). I had to boot using the uvesafb driver and read the mode list from /sys/devices/platform/uvesafb.0/vbe_modes, and then re-build the kernel to put back vesafb

I spent two hours of testing until it worked, so I am sharing the information here: you know, I don’t want ohers to waste their time as I do 😀

Virtualization extensions with a Vaio TZ11MN/N

For some bizarre reason the silly people working at Sony decided to disable the Intel VT extensions by default. But hackers are always smarter than stupid salesmen making decisions in some random department of a Enormous Big Company™: there is a way to re-enable VT extensions.

Big FAT warning: I have only checked this with a Vaio VGN-TZ11MN/N with a Phoenix BIOS version R0052N7. Following the instructions detailed here may render your computer totally unusable, and I decline all responsiblity on the correctness of this method. It worked for me, however.

Fortunately, the code needed to enable the virtualization extensions is still in the BIOS, but there is no menu which allows for easy configuration, so we need to modify the setting using a somewhat “manual” method.

  1. Get yourself a bootable DOS system. You can boot from hard-disk, a floppy, a USB flash stick or whatever. I used one of the FreeDOS boot floppy images I used a some time ago to play old computer games in an old Pentium 120 I own. In order to write the image to an USB floppy drive I had to use the following command:
      # dd if=fdosfloppy.img of=/dev/sda
  2. Copy a DOS text editor into the bootable device. I used the tiny “T” editor.
  3. Get yourself a copy of the symcmos.exe utility and copy it to the bootable device. This tool allows modifying the configuration values stored in the CMOS which by dumping current contents and loading new values from a text file.
  4. Boot the DOS system from the device we have prepared so far.
  5. Run symcmos -v2 -lsettings.txt, if everything goes as expected now the settings.txt file will contain one setting per line, in a (address)[value] fashion.
  6. Scroll down to address 0363 and modify the value from 0000 to 0001. Save the file.
  7. Load the new values into the CMOS by running symcmos -v2 -usettings.txt
  8. Last, but not least, power down the computer (a warm reboot will not work). If everything went well, now you can boot your favourite GNU/Linux distro, load the kernel module and install KVM:
      # modprobe kvm-intel
      # emerge kvm

For KVM I am using the ebuilds from the sabayon overlay. Also, if there is an error when trying to load the KVM kernel module, maybe you did not follow the procedure correctly: double-check your steps, and remember that using dmesg|tail you can check whether VT is still disabled by the BIOS.

For the intrepidous people trying this, I hope you will have good luck (as I did :D), but remember that I can only say that this works for a VGN-TZ11MN/N with a Phoenix BIOS version R0052N7.

Update on Gentoo r5u870 packaging

This is a small update on where to find the driver for the Ricoh r5u870 webcam properly packaged for Gentoo GNU/Linux. This driver is needed in order to use the webcam present in some HP Pavillion and Sony Vaio (including my TZ11) laptops.

If you have read my previous post, you already know it: the hard drive of my iBook (which was being used as home server) died last week, so with a little help from my friends™ I have moved the overlay to a new place. We also splitted the overlay in two, so please be sure to use the contrib overlay, which is where the media-video/r5u870 belongs.

I hope this change will make things better, so have a nice time using your camera and remember to thank the driver authors (thanks Alex & Sam!) and report packaging bugs if you encounter any problem 😉

I hate hard disks

The hard disk of my old (but working) iBook G3 has died yesterday. This means all the stuff which was hanging on, including my Gentoo overlay, some photo albums and other random stuff will not be available in a while. This also includes mailing lists at Sorry for the inconvenience, and expect updates as soon as I can fix up things. Fortunately I have a fairly complete backup…

ACPI S2 vs. Gentoo vs. Vaio TZ11

Yes, yes, yes! The thing started working reliably today, at last! The software combo which makes the thing work is as follows:

  • sys-kernel/gentoo-sources-2.6.24-r3. I believe that any kernel version in the 2.6.24 series will do the thing. The ALSA code included in newer releases also fixes the problem with the built-in speakers and they will no longer be disabled on bootup.
  • I am using uvesafb for the framebuffer, because intelfb and the i810 driver cannot be used together (yet).
  • Video card driver is x11-drivers/xf86-video-i810-2.1.1. Versions above 2.2.x will not work.
  • Gentoo has now split packages for HAL, I have installed sys-apps/hal-0.5.10 and app-misc/hal-info-20071030. HAL is needed for Gnome Power Manager to work. Be sure of setting the acpi and laptop USE-flags.
  • Last, but not least, gnome-extra/gnome-power-manager-2.20.2, which I am using from the Gnome panel to suspend gracefully. You may have guessed it: I still haven’t figured out how to suspend without having the X-Window system running.

Just a final note: if Gnome Power Manager thinks you have two batteries take a look at this FAQ entry, the kernel is reporting the existence of your battery using two different subsystems! I had to disable CONFIG_ACPI_BATTERY because CONFIG_POWER_SUPPLY could not be disabled with my set of kernel options.

Now I am really happy with my slim 11-inch laptop 😀

Get the women!

Excerpt from eutils.eclass, as included in the official Gentoo package tree:

  # Make a desktop file !
  # Great for making those icons in kde/gnome startmenu !
  # Amaze your friends !  Get the women !  Join today !
  # make_desktop_entry(, [name], [icon], [type], [path])

This is not the first joke I find while surfing Gentoo-related websites (their bugtracker has some funny tickets) or system-specific code. Humor is definetely good, especially when you are striving to improve some code and find hilarious comments like that. So please, please keep smiling, Gentoo folks!