Sony Vaio VPC


Notes on getting a Sony Vaio VPC-F12S1E in working condition with Ubuntu 10.04, compiled by Ari Sundholm.

Should also readily apply to Sony Vaio VPC-F12M1E and Sony Vaio VPC-F12Z1E, which have only minor differences to this model. The processor is an Intel i5 on the former and the Blu-Ray drive can write Blu-Ray discs on the latter. The amount of RAM also varies.


Display: 16.4” Full HD (1920×1080) 16:9 VAIO Display Premium
Processor: Intel Core i7-740QM 1.73 GHz
RAM: 6 GB (2x3GB) DDR3-1333, max. 8 GB
Hard disk: 500 GB SATA 7200 rpm
Optical drive: Blu-ray Disc ROM drive and SuperMulti-DVD
Graphics adapter: nVidia GeForce GT 330M 1GB
Networking: Gigabit Ethernet, 802.11a/b/g WLAN, Bluetooth 2.1 + EDR
Connectors: 2 x USB 2.0, 1 x eSATA/USB, HDMI, VGA, headphones, microphone, RJ45, i.LINK (IEEE1394), optical audio, ExpressCard/34
Other: Motion Eye webcam, card reader (MS/SD), multitouch touchpad
Battery: Sony VGP-BPS21A Li-Ion battery, lasts about 2.5 h
Weight: approx. 3.1 kg

Linux Compatibility

VideoWorksSee notes
SoundPartialSee notes
TouchpadPartialSee notes
EthernetNot Tested
BluetoothWorksSeems to work. Having problems maintaining long data transfers with my Nokia 6630, but that may as well be the phone's fault.
FireWireNot Tested
ExpressCardNot Tested
HDMINot Tested
VGANot Tested
Optical DriveWorksSeems to work normally. For the models with Blu-Ray support, please note that neither mastering nor watching Blu-Ray movies on Linux is, AFAIK, not possible at the moment.
Card ReaderPartial See notes
WebcamWorks Was able to open /dev/video0 with VLC and watch myself doing funny faces.



Nouveau works out of the box beautifully, but there's no 3D. Some 3D attainable by installing Gallium.

The proprietary NVIDIA driver seems to require the following to find any screens:
The EDID is here: /proc/acpi/video/NGFX/LCD/EDID. We need to get the driver to use it.

First of all, a “Monitor” section should be generated and added to xorg.conf using the EDID using parse-edid:
parse-edid < /proc/acpi/video/NGFX/LCD/EDID » /etc/X11/xorg.conf
(if you run this command as-is, remember to do it as root as you need write access to xorg.conf!)

Add the following row in the “Device” section in xorg.conf:

      Option  "CustomEDID"    "DFP-0: /proc/acpi/video/NGFX/LCD/EDID"

The following line may also be necessary in the “Device” section:

      Option  "ConnectedMonitor"      "DFP-0"

Some have reported that just adding the “CustomEDID” (and possibly “ConnectedMonitor”) line should be enough, but in my experience adding the generated “Monitor” section did the trick. Thus, I'm not sure if the “CustomEDID” line is necessary at all, but I sure as hell won't be touching the beast anymore after getting it working after all the trouble I went through!

With the proprietary driver the Ubuntu startup sequence and virtual terminals are not pretty: low resolution. They should try and learn from the Nouveau guys regarding the 2D experience. NVIDIA seems to only do the 3D part well - with my hardware, Nouveau is in my experience far superior in most other aspects - better integrated with the other parts of the system, high-resolution frame buffer, fast reliable VT switches, at least sufficient 2D acceleration and no need to fight the driver to get it working in the first place. And although I'm an FOSS guy, I'm not saying this as one. Nouveau truly provides the superior 2D experience on this hardware.

Anyway, I hear the low-resolution framebuffer issue can be superficially fixed by installing uvesafb. See the details here:
(the page also contains most of what's been said in this section)


This is not really specific to this machine, but as I ended up doing this, why not document it.

For the optimal experience, do use VPDAU decoding.

Install the VDPAU libraries and Smplayer (an excellent player) here:

Install a fresh mplayer here:

The Medibuntu repositories might also be of some help with codecs etc. However, most of the stuff seems to be non-free software:

Video suffers from tearing both with GPU-assisted decoding and software decoding and both with VDPAU and Xv. This is Compiz's fault.

The way to fix this is described here:

In short:
sudo apt-get install compizconfig-settings-manager
Go to System→Preferences→CompizConfig Settings Manager
Go to General→General Options→Display Settings (within CompizConfig Settings Manager)
Select the refresh rate so that it is at least as great as the display's refresh rate. (The automatical refresh rate detection may work OK, so you may not actually need to touch this but just tick the Detect Refresh Rate option)
Tick the Sync To VBlank option.

The new settings take effect immediately.

Now there should be no tearing anymore. Now that this has been taken care of, let's test with a 720p or 1080p h.264 file in mplayer:

mplayer -vo vdpau -vc ffh264vdpau file.mp4 # use VDPAU and GPU-assisted decoding
mplayer -vo vdpau -vc ffh264 file.mp4 # use VDPAU and software decoding
mplayer -vo xv -vc ffh264 file.mp4 # use Xv and software decoding

None of the above should have any discernible tearing. The first one should also use very little CPU.
If only the last one works at all, there's still something wrong with your VDPAU setup.

If you decided to try Smplayer, start it and select Options→Preferences, General→Video and set the output driver to vdpau. Then try the file(s) you tested above. The videos should work and watching them should use very little CPU.


Does not work out of the box, but easily fixable with newer ALSA modules.

Follow the instructions here:

In short, if you're running Ubuntu, enable the backports repository, install linux-backports-modules-alsa-generic, linux-backports-modules-alsa-preempt or linux-backports-modules-alsa-rt depending on which kernel you use and reboot. You should have sound.

Microphone, however, requires something more and I'm personally not interested in getting it working anytime soon.


Recognized, but no events are received. This is not a “not supported” scenario: something strange happens that makes this supported piece of hardware misbehave.

Seems to be fixed by adding the following line to /etc/default/grub:

You will soon notice that there is no obvious way of disabling the touchpad. The laptop doesn't have a built-in key combination for this. However, the good people of the vaio-f11-linux Google Code project have found out a way to accomplish this in the discussion at

The touchpad can be toggled using the following commands:

# Disable
xinput --set-prop "ImPS/2 Generic Wheel Mouse" "Device Enabled" 0
# Enable
xinput --set-prop "ImPS/2 Generic Wheel Mouse" "Device Enabled" 1

As a bonus, here's a script to toggle the current state of the touchpad:
DEVICE="ImPS/2 Generic Wheel Mouse"

devenabled=`xinput --list-props "$DEVICE" | grep "Device Enabled" | cut -d ":" -f2 | cut -f2`
if [ $devenabled -eq 1 ]
	xinput --set-prop "$DEVICE" "Device Enabled" 0
	echo "Disabled touchpad"
	xinput --set-prop "$DEVICE" "Device Enabled" 1
	echo "Enabled touchpad"


SD card reader works out of the box.
MS card reader does not work. Perhaps the code at or helps?

Sites Used and/or Useful

“vaio-f11-linux - Sony Vaio F Series on Linux” (much of the stuff applies for F12 as well):

“Make Compiz Run Smoothly and Without Tearing”:

“If you have a problem with VDPAU and/or MPlayer/VDPAU, PLEASE read this first - nV News Forums”:

If you see that I've used information without attribution, please do yell at me. This document was an afterthought and I've already lost some sources I've used to get my own box running.


Enter your comment. Wiki syntax is allowed:
If you can't read the letters on the image, download this .wav file to get them read to you.
sony_vaio_vpc.txt · Last modified: 2010/10/15 19:52 by
Contact Us Sister Sites Privacy Policy Terms of Use
Copyright © 2006-2013 and other authors