Debian/Linux on Sony VAIO Pro 13
I recently wanted to order a new laptop from work, and due to the ignorance of Lenovo I couldn’t get my preferred Thinkpad T41 in time for the end of the financial year. So I went for a Sony VAIO Pro 13 model. Having used a VAIO Z series laptop for quite some time, including maintaining soem extensions of the sony-kernel modules for some time, and implementing rfkill applets for Gnome, I expected a few problems with the new hardware.
Fortunately some other people have already posted various information on how to get the laptop properly running on linux, that helped. At the end it took me about two days to shrink Windows8.1, get linux to boot and run, move about 300Gb of data from the old laptop to the new, carry over all the configuration changes and adaptions, and tweak the behaviour. At the moment the laptop is in decent state with most things working properly, including suspend, wlan, multi-boot, etc.
Original status
As delivered the laptop comes with Windows 8.1, and 6 different partitions:
- partition 1: fat32, EFI system partition, hidden
- partition 2: ntfs, Basic data partition, hidden, diag – contains WindowsRE
- partition 3: fat32, EFI system partition, boot partition
- partition 4: non-allocated, Microsoft reserved partition
- partition 5: ntfs, Windows data
- partition 6: ntfs, hidden, diag – contains the full Sony factory restore data
Step 1: shrinking Windows 8.1
I first tried the internal Windows shrink functionality, but it didn’t allow me to shrink below 230Gb, and I didn’t want to waste so much space for Windows. parted also refused to work with newer ntfs file systems, so I ended up downloading the AOMEI Partition Assistant. Using this one I shrinked the Windows main partition (number 5) to 100Gb and thus freed about 350Gb for Linux.
Step 2: preparing the BIOS
Shut down the computer, turn it off. When turned off, press the Assist button. This brings you into the VAIO Care Recovery Interface – in my case all in Japanese. Select F2 or press the BIOS button to configure the BIOS. In the BIOS the following settings have to be changed:
- disable secure boot
- enable booting from external devices
- enable booting from USB and move it to the top of the list
That are all steps necessary. In case your Windows 8.1 complains by displaying a stupid message in the lower right button of your screen that secure boot is not configured correctly, go to this Microsoft Knowledge Base article, download the update, and run it.
Step 3: installing Linux
For installation one needs a Debian installer that supports UEFI, which seems to be available since about August 2013. Guided by my friend Mattia’s description, I downloaded the daily snapshot netinstaller image (firmware included!), dumped it onto an unused USB stick with
cat firmware-testing-amd64-netinst.iso > /dev/sd
sfdisk -R /dev/sd
(adapting the sd part accordingly!), and booted into the USB stick.
Warning: If you use one of the default installation cd images they may not contain the non-free firmwares necessary to get the Intel chipset running. In this case I recommend having a USB-Ethernet adapter at hand.
Installation then proceeds as ususal, I just selected guided partitioning of the biggest available space and the third partition (sda3) as EFI boot partition.
Important: Before finishing the installation, fixing the boot loader is necessary!
Step 4: Fixing the boot loader
Step 4.1: Fix Grub-Efi locations
I first tried to reboot without further changes, but that threw me straight into Windows, so I followed again Mattia’s advice:
- Before rebooting change to the second console and press to active it
- Go to /target/boot/efi/EFI, there should be three directories:
- Boot/: the original boot loader
- Microsoft/: microsoft chain loader
- debian/: the Grub EFI boot loader
- Do the following freshuffling:
mv Boot Boot.orig
mv debian Boot
cp Boot/grubx64.efi Boot/bootx64.efi
Update 2014-08-27: See this post and this post for more details, but no simple solution.
Step 4.2: Fix linux kernel command line
According to this post, and also in my experience with the newest kernels, it is necessary to add an entry to the linux cmdline. For this, edit /target/etc/default/grub to include
GRUB_CMDLINE_LINUX_DEFAULT="libata.force=noncq quiet"
(the default is only the quiet part). After rebooting once, run update-grub.
After that a reboot brought me into the grub menu, from which I could boot both linux and windows. Yeah, all settled.
Step 5: Update to unstable
After rebooting into linux again, I changed my sources to sid (unstable) and upgraded all packages. The current kernel is 3.13 and that is fine enough as far as I see.
Step 6: Home-made kernel with sony-laptop updates
I cloned the current linux.git and merged Mattia’s sony-laptop branch for_3.15 into it, so that I have the newest support in the sony-laptop kernel module. But this is only for those who fancy building their own kernels. In principle that is:git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd linux
git pull git://git.taihen.jp/linux-sony-2.6.git for_3.15
I used this config file for building the kernel where most features are compiled in, and most other things disabled. This is the kernel I am currently running (as of today 2014-03-30).
Step 7: iwlwifi firmware update
Update 2014-04-11: The following alone is not good enough, one needs also an update to either kernel 3.15 (when it is out) or include the wireless-testing git repository. See the followup article for details.
The iwlwifi firmware/driver seems to have some problems. It took always ages until packets actually went over the link, although the network manager told me it is connected. I downloaded the respective firmware iwlwifi-7260-8.ucode from the linux-firmware git repository with and copied the file into /lib/firmware (overwriting the copy from the package firmware-iwlwifi). This (hopefully) fixed most problems regarding wifi for me.
lspci -k output
00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 09) Subsystem: Sony Corporation Device 90b6 00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09) Subsystem: Sony Corporation Device 90b6 Kernel driver in use: i915 00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 09) Subsystem: Sony Corporation Device 90b6 Kernel driver in use: snd_hda_intel 00:14.0 USB controller: Intel Corporation Lynx Point-LP USB xHCI HC (rev 04) Subsystem: Sony Corporation Device 90b6 Kernel driver in use: xhci_hcd 00:16.0 Communication controller: Intel Corporation Lynx Point-LP HECI #0 (rev 04) Subsystem: Sony Corporation Device 90b6 Kernel driver in use: mei_me 00:1b.0 Audio device: Intel Corporation Lynx Point-LP HD Audio Controller (rev 04) Subsystem: Sony Corporation Device 90b6 Kernel driver in use: snd_hda_intel 00:1c.0 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 3 (rev e4) Kernel driver in use: pcieport 00:1c.3 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 4 (rev e4) Kernel driver in use: pcieport 00:1c.4 PCI bridge: Intel Corporation Lynx Point-LP PCI Express Root Port 6 (rev e4) Kernel driver in use: pcieport 00:1d.0 USB controller: Intel Corporation Lynx Point-LP USB EHCI #1 (rev 04) Subsystem: Sony Corporation Device 90b6 Kernel driver in use: ehci-pci 00:1f.0 ISA bridge: Intel Corporation Lynx Point-LP LPC Controller (rev 04) Subsystem: Sony Corporation Device 90b6 Kernel driver in use: lpc_ich 00:1f.3 SMBus: Intel Corporation Lynx Point-LP SMBus Controller (rev 04) Subsystem: Sony Corporation Device 90b6 01:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b) Subsystem: Intel Corporation Dual Band Wireless-AC 7260 Kernel driver in use: iwlwifi 03:00.0 SATA controller: Samsung Electronics Co Ltd XP941 PCIe SSD (rev 01) Subsystem: Samsung Electronics Co Ltd Device a811 Kernel driver in use: ahci
I will surely have more things to say until this new piece is running properly … but for now it is ok.
Links
- Mattia’s wiki page: http://www.linux.it/~malattia/wiki/index.php/Vaio_Pro_11
- Crunchbang Linux Install Vaio Pro 13: http://www.linuxquestions.org/questions/blog/rearden888-507430/crunchbang-linux-install-vaio-pro-13-35783/
i also use a Sony VAIO and found this very informative. Thank you for sharing hope to hear more soon.
Hi Michael
thanks for your comment. Yes, I am planning to add more information. I realized only after that article that the sd card was not working in my home-brewn kernel, because I forgot a driver. Also the wireless is still painful at times. In the pre 3.15-rc1 phase a lot of changes regarding iwlwifi/iwlmwm have been merged, so I am optimistic that this will improve.
Hi Michael, I have written now two more posts, one about the Wifi issue, and one about the boot loading. I think the one piece open for me is *fixing* the efi loader problem as described here http://www.preining.info/blog/2014/04/sony-vaio-pro-uefi-booting/
Hi Norbert,
Thanks for that great article. Very helpful. I have similiar troubles with that laptop and ubuntu 14.04.
I am a little worried that the computer wouldnt boot after executing the …. part from chapter 4.1. Is it save to do so?
mv Boot Boot.orig
mv debian Boot
cp Boot/grubx64.efi Boot/bootx64.efi
Thanks again.
Cheers, Max
Hi Max,
see my other post on booting http://www.preining.info/blog/2014/04/sony-vaio-pro-uefi-booting/ concerning problems/windows adjusting things etc. In a nutshell, I would run:
efibootmgr -v
and make sure that the grubx64.efi is put into on of the places where the sony firmware searches for.Hi,
may I ask if your shortcut (ctrl+f1) to turn on/off touchpad works?
Mine doesn’t.
Thanks.
Hi Michal,
no, it does not. I guess one has to fix this in the sony-acpi module. I will ask Mattia for that.
You can always easily turn it of with `synclient TouchpadOff=1`
Hi Norbert,
after 2 Vaio Z I now also ended up with a Pro 13 model. Fortunately there are still refurbished models available. Thanks for the head start with this article. I’ll report my installation experiences once it is done. I am still waiting for my 512GB SSD upgrade 🙂
Best,
Eva
Hallo Eva,
what a pleasure after so long time! I remember well how happy I was when you posted the first version of the vaio kernel module – big thanks! Fortunately all features have by now been included by Mattia into the main kernel.
So you, too, are on Pro 13, then maybe you can find a good solution for the boot complications. In the meantime I’ll try to continue my contact with Sony to get this fixed.
Looking forward to your remarks!
Norbert
ok… opensuse 13.1 installation went fine, it contains UEFI support… until reboot. So now I am at “System boots Windows no matter what”. Have you seen this suggestion and maybe even tried it?
You mean the “bcdedit /set {bootmgr} path \EFI\opensuse\shim.efi” thingy? No, I haven’t tried, but I will, after I’m back from my 3 week travel 😉 But my guess is it wont help, since already the bios resets the boot order. But one never knows.
Thank you for that article. It was one of the main reasons to by a vaio pro.
I am now on debian 8.0 jessie and KDE (without any windows partition) and everthing including touch standby sdcard is working. (only disable touchpad via fn f1 not) light dimming, good sound …
kernel 3.14-2-686-pae no parameters needed no special kernel needed
I only remember having a little trouble getting wifi working …
but now i am happy with this lightwight powerfull linux laptop!
Thank you for the article!
Hi Uwe,
thanks for your email. Good to hear that it works out quite well at your side, too. Indeed, Fn-F1 is not working, but it should be easy to get this done. Pressing the button sends an ACPI event:
so one only needs to bind an ACPI action to it. A simple script like the following toggle-touchpad would do the trick:
Hope that helps
thank you for the hint
tryed it with with /etc/acpi/events but i am using meanwhile the synaptic feature “disable touchpad while typing” and that seams to work similar
so if i hit a key touchpad is allways disabled
and it ignores the option with the funtion keys
but its not important
best regards uwe
Hi Uwe,
yes, I used this function at times, but it turned out to be not usable for me, as the delay to reactivate the touchpad is toooooo loooong. I just fall asleep while waiting for it 😉
Hi Uwe,
I have now worked out how to do this via acpi events, see http://www.preining.info/blog/2014/10/sony-vaio-touchpad-toggling/
Hi guys,
I installed Linux Mint 17 on my Sony Vaio SVExxx and I have no problems at all.
Everything is up !
Hi Julien,
thanks for your comments, and good to hear that all works out at your side. Do you have any problems with booting? Do you have a dual boot system?
thanks for the post
seems there should be bios updataes for this laptop or else fan would start makin noises
the updates are available for windows but where can I get them for linux
Hi Mohammad,
BIOS are in most cases not possible to update on Linux – that would require a fully free computer, which are very rare. For updating you need to have Windows, or at least be able to boot from a usb stick and get the updater running.
I know, that is a pain, but there is not much one can do here.
BTW, where there is a firmware update for the fan? I haven’t seen one!
Hello Friend. First of all I apologize, because I do not speak the language so I am using an online translator. I’m Brazilian, I also have this ultrabook vaio. I followed your step by step and managed to install linux (debian stretch), but only linux, I deleted the windows. I have a problem; I can not access the wifi network, only the wired network. Have I tried everything, please help me?
Can you send me the output of lspci? What WLAN device is used?
Good afternoon, thank you for the answer. My ultrabook is just like yours.
00:00.0 Host bridge: Intel Corporation Haswell-ULT DRAM Controller (rev 09)
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 09)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 09)
00:14.0 USB controller: Intel Corporation 8 Series USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 3 (rev e4)
00:1c.3 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 4 (rev e4)
00:1c.4 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 6 (rev e4)
00:1d.0 USB controller: Intel Corporation 8 Series USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation 8 Series LPC Controller (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series SMBus Controller (rev 04)
01:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)
03:00.0 SATA controller: Samsung Electronics Co Ltd XP941 PCIe SSD (rev 01)
The board line wireless…
01:00.0 Network controller: Intel Corporation Wireless 7260 (rev 6b)
The lspci -k output command shows a result exactly the same as the one you posted…
Did you install the nonfree firmware? Without that nothing goes. If you want to continue this discussion, please send me the dmesg output via *email*. Thanks
All right, I’ll send it.