Sony Vaio Pro SVP-1x21

From ArchWiki
Revision as of 15:18, 24 April 2015 by Bahodir (talk | contribs) (Monitor)
Jump to: navigation, search

This document will guide you through the process of installing Arch Linux on the 2013 Sony Vaio Pro Haswell based Ultrabook. 1.1kg for the 13" model


BIOS Configuration

Get into the BIOS by pushing the assist button when the system is shut off and then hitting Start BIOS Setup. Do not try to boot from your usb key using recovery mode, instead change the boot order in the BIOS. Make the following changes:

Intel(R) AT Support System	[Disabled]
Secure Boot			[Disabled]
External Device Boot		[Enabled]
Select 1st Boot Priority	[External Device]

If you want to use the legacy boot (non-EFI), change:

Boot Mode			[Legacy]

Install media

  • When installing via UEFI from USB create an UEFI bootable USB from ISO
  • When booting from USB you might need to append libata.force=noncq to the kernel parameters to avoid problems with the SSD. You may even need to make this a persistent kernel parameter when booting from the SSD after installation.
  • Some users were not able to boot when using the rear USB port labelled with a lightning bolt. so use the other one in that case.

Internet connection

Works as expected as of kernel version 3.11


Picking a bootloader


Inside the chroot UEFI variables might not be available. To make them available for installing the bootloader, run

   mount -t efivarfs efivarfs /sys/firmware/efi/efivars

Some users are unable to run the install.

Note: Grub should install fine if UEFI boot mode is turned on in the BIOS.
Dual-boot Windows 8

Windows 8 fast boot mode overwrites your EFI variables. To keep your bootloader in working order, fast boot needs to be disabled. In cmd.exe as Administrator:

   powercfg /h off

The laptop firmware seems to have a preference to boot Windows even when other bootmanagers are present.

A solution is to move your bootloader to a recognised location such as /EFI/Boot/bootx64.efi [1]

It is important to add the efi entry with the label "Windows Boot Manager" and EFI/Boot/Bootx64.efi as path, else Sony firmware does not load it. Add the efi entry for your bootmanager with: efibootmgr -c -g -d /dev/sda -p 1 -w -L "Windows Boot Manager" -l '\EFI\Boot\Bootx64.efi' Verify that your bootloader is in the first position of the boot order with: efibootmgr -v Reboot and see if your bootloader is loaded. If it does not work you can try to delete the windows boot entries with: efibootmgr -B -b 000X where X is the number of the windows efi entry. If you can't boot anymore to windows with this error message: The boot configuration data for your PC is missing or contains errors. File :\EFI\Microsoft\Boot\BCD Error code: 0xc000000f then follow these repair steps:!prettyPhoto


  • For a faster boot, don't forget to undo these BIOS settings:
External Device Boot		[Disabled]
Select 1st Boot Priority	[Internal Drive]
  • If you want all the power from the Haswell CPU, install a RC of the 3.12 kernel (linux-mainlineAUR).

Hardware support


As the Installation guide suggests, install alsa-utils and follow this guide to get started. Works out of the box, although main sound card may have index 1, making it non-default (index 0 is taken by Intel HDMI). To fix this, edit /usr/share/alsa/alsa.conf (near line 68):

defaults.ctl.card 1
defaults.pcm.card 1


Since the default monitor resolution is 1920x1080, fonts, icons, etc. will look very small. Other auto-detected resolutions don't cover the whole screen and leave blank space on edges. To make everything look bigger you need to create a new resolution say at 75% of the current resolution following these steps: 1. Figure out the desired resolution. I chose 75% and got the following values 1440x810 (=1920*0.75x1080x0.75). 2. Find out the modeline for the desired resolution:

cvt 1440 810

Which will output something like this:

# 1440x810 59.83 Hz (CVT 1.17M9) hsync: 50.32 kHz; pclk: 95.00 MHz
Modeline "1440x810_60.00"   95.00  1440 1520 1664 1888  810 813 818 841 -hsync +vsync

We need the second line (except the word 'Modeline') 3. Create a Xorg configuration file called /etc/X11/xorg.conf.d/10-monitor.conf with the following contents:

Section "Monitor"
   Identifier             "Monitor0"
   Modeline               "1440x810_60.00"   95.00  1440 1520 1664 1888  810 813 818 841 -hsync +vsync
   Option                 "PreferredMode" "1440x810_60.00"
Section "Device"
   Identifier             "Card0"
   Driver                 "intel"
   BusID                  "PCI:0:2:0"
Section "Screen"
   Identifier             "Screen0"
   Device                 "Card0"
   Monitor                "Monitor0"
   DefaultDepth           24
   SubSection             "Display"
       Viewport           0 0
       Depth              24 
       Modes              "1440x810_60.00"
Section "ServerLayout"
   Identifier "ServerLayout0"
   Screen "Screen0"

4. (Optional) If you're using gnome, it will have created the ~/.config/monitor.xml file that uses the default highest resolution. Change the file to look like this:

<monitors version="1">
   <output name="eDP1">

Note that the 59.83 above is take from running 'xrandr -q' and looking at the resolution line that we have created (1440x810_60.00 59.83*+)

5. After a restart you should have a better looking apps and there is no need to increase font sizes or change the scaling factor in gnome settings (which annoyingly doesn't allow non-integer values).

Touch screen

Tapping works out of the box. Multitouch gestures work after installing the driver Multitouch_Displays#eGalax and using touchegg Multitouch_Displays#Gestures.

Note: touchegg is no longer required in Gnome 3.14 for multitouch gestures.

Keyboard backlight

Works out of the box. Enables in low amblient light and a key press, turns off after about 20s. Can be customized by modifying kbd_backlight and kbd_backlight_timeout found in:


A simple shell script for toggling the backlight, bind to a keyboard shortcut for easy use:

if [ $(<$path) -eq 1 ]
echo "$newval" > $path

Make sure that you can write to this file without root privileges:

# chmod 777 /sys/devices/platform/sony-laptop/kbd_backlight

Monitor backlight control

Works out of the box with xorg-xbacklight. By default the backlight is only adjusted by 1% per button press. This can easily be fixed by binding those keys to a xorg-xbacklight command. DM:s like Xfce does take larger steps by default.

With KDE 1% adjustment can be fixed by kernel module parameter video.brightness_switch_enabled=0. This will disable kernel driver 1% adjustment, then KDE PowerDevil correctly adjust brightness by 10% and shows gauge window. There is no need to bind keys.


Works great with the xf86-input-synaptics driver. A good base config can be found here.

Toggle TouchPad via Fn+F1

The hotkey that toggles the TouchPad can be configured using acpid. Create the following two files to do so:

event=button.fnf1 FNF1
action=/etc/acpi/actions/ "%e"
Note: This file must be marked as executable.
#! /bin/sh

# Modern method, for Linux 3.11 or later.
if [ -r "$sys_enable_file" ]; then
  read -r is_currently_enabled < "$sys_enable_file"
  echo > "$sys_enable_file" $((1 - $is_currently_enabled))

# Older method: have the X11 driver do it
  export DISPLAY=:0
  USER=`who | grep ':0' | grep -o '^\w*' | head -n1`

  if [ "$(su "$USER" -c "synclient -l" | grep TouchpadOff | awk '{print $3}')" == "0" ]; then
      su "$USER" -c "synclient TouchpadOff=1"
      su "$USER" -c "synclient TouchpadOff=0"
Note: Restart acpid using systemctl after adding the files.

Fan control

Works well out of the box. It stays quiet during normal load. Change profile by editing thermal_control found in:


Available profiles can be found in thermal_profiles in the same directory.


Set the maximum charge to 50/80/100% by modifying battery_care_limiter found in:


In order for changes to take effect, it may be necessary to execute:

echo 0 | sudo tee /sys/devices/platform/sony-laptop/battery_care_limiter

USB ports

Some users are having issues with the usb port labeled with a lightning bolt not working for anything but charging. This is a known issue for many Sony laptops.