Installing Debian on a Sony laptop

I had some issues installing the latest Ubuntu (11.04) on a Sony Vaio Z (VPC-Z13M9E). I’ll report some of them here, give the fixes, and explain how I reduced the ACPI power consumption to a reasonable 9W.

Bootloader

The bootloader setup is the only thing that did not work at install time: with the default partitioning options, it failed and locked the installer. The byroad here is to specify the correct install location for grub through manual partitioning: on my machine, it was /dev/mapper/isw_chachbaahf_Volume0 Linux (striped).

No TTY & the Graphic Cards issue

With the default install TTYs don’t work, probably an issue with the graphics drivers. The VPC-Z13M9E has indeed two graphic cards: a low-performance low-consuming Intel chip for the STAMINA mode, and a greedy high-performance nVidia card for serious purposes. By default, Linux powers up both cards, leading excessive energy consumption altogether with bad graphic performance, the Intel chip prevailing over the nVidia. You can check wether the nVidia ship is powered with lspsci:

$ lspsci | grep -i nv

If something shows up, then your nVidia is alive. There are at least two solutions here:

  • Install the sony-vaioz kernel module for Linux, or
  • Try Bumblebee, which is the Linux equivalent for Optimus, or
  • Bumblebee being now deprecated, try its new incarnation IronHide and its notable fork which is called... Bumblebee (thanks for the confusion!); anyway, last time I checked both were ongoing work (meaning unstable / partially working…)

The first one worked for me, follow the link to its website for a detailed how-to. Anyway, this module is getting utterly outdated, so for 10.10 you’d better check the other options.

ACPI Boot Option

Among the multiple things to do in order to get the correct graphic card powered up at boot time, one is to set up the correct argument for the acpi_osi option. For this, open the grub configuration file:

$ gksudo gedit /etc/default/grub

Spot the line GRUB_CMDLINE_LINUX="" and replace it with

$ GRUB_CMDLINE_LINUX="acpi_osi="""

I found various other options online, this is the one that worked for me. Also note that this is a cold switch: you won’t (at least with the sony-vaioz module) be able to switch graphic cards once your system is started.

Powering down wireless chips

Wireless chips, and especially the 3G modem, are greedy and powering them down saves up to several Watts on energy consumption. To manage them, one can use the rfkill script, starting with the list option to show their status:

$ rfkill list
0: sony-wifi: Wireless LAN
    Soft blocked: no
    Hard blocked: no
1: sony-bluetooth: Bluetooth
    Soft blocked: yes
    Hard blocked: no
2: sony-wwan: Wireless WAN
    Soft blocked: yes
    Hard blocked: no
3: phy0: Wireless LAN
    Soft blocked: no
    Hard blocked: no

To “block” (means “power down”) a chip, use the block/unblock option followed by the name of the chip (bluetooth, wifi, wwan), e.g. rfkill block bluetooth or rfkill unblock wwan. To power them down by default at startup, you can put these lines into your /etc/rc.local too.

Other Power Consumers

Here are a couple of other tricks that help reduce power consumption:

  • Configure the gwibber-service so that it does not start automatically / run as a background service: it causes a lot of CPU wake-ups.
  • Disable the Flash plugin in Firefox (same reason).

Conclusion and further readings

I only mentioned here the problems I couldn’t solve through a straight google search, so this page is still pretty sparse. Here are other links that were of some help to me:

And don’t forget the most useful command to monitor power consumption:

$ sudo powertop
© Stéphane Caron — All content on this website is licensed under the CC BY 4.0 license.
π