sunnuntai 23. elokuuta 2015

Installing dual boot Ubuntu 15.04 on Surface Pro 3 with Windows 10


This blog post is based on Ubuntu 15.04 version and kernel 3.19.0-26.

Reducing Windows partition size

Before installation, you might want to create some free space for the Ubuntu installation.

  1. Start diskmgmt.msc tool
  2. Try to reduce the size of the Windows partition (I left 50GB for Windows, which should be ok)
  3. In my case, I had to remove Bitlocker from the Windows partition before I was able to reduce the size

Installing Ubuntu


  1. Create Recovery drive for Windows 10 using Windows system tools
  2. Disable fast startup feature in Windows (not sure, but might cause troubles when mounting Windows NTFS drive from Ubuntu)
  3. Disable hibernation (this would probably disable fast startup as well)
  4. Create Ubuntu 15.04 installation media with Startup Disk Creator
  5. Try starting Surface using the new installation media (no installation yet)
    1. Shut down Surface
    2. Start Surface by holding volume down button and then power button
    3.  Ubuntu should start ok, but for example touchpad is not working
  6. Shutdown Surface and restart it by first holding down volume up button and then the power button
  7. Disable secure boot
  8. Configure Alternate System Boot Order: USB -> SSD
  9. Exit setup (Surface boot screen turns red when secure boot is disabled)
  10. If Ubuntu installation media i.e. the USB stick was still connected at this point, the Ubuntu (GRUB) menu will appear
  11. Select Install Ubuntu
  12. Keyboard works, touchpad won't. Also touch screen and pen work
  13. To speed up installation process, do not let installer to access internet
  14. As installation type, choose Something else (the default is Install Ubuntu alongside Windows Boot Manager, which could also work, but I want to do partitioning manually)
  15. Create partitioning
    1. Create primary partition for root (the / mount point). I used 30GB for root. The root partition got device /dev/sda7
    2. Create primary partition for swap area. I used 8GB i.e. 8192MB (the size of memory) for swap. The swap partition got device /dev/sda8
    3.  Create primary for /home. I gave the rest of the available free space for /home. The /home partition got device /dev/sda9
  16. Use the default partition /dev/sda as the Device for boot loader installation.
  17. After installation finishes, click restart now (in my case Surface stopped at red screen and didn't continue anymore. Restarting solved the issue)
  18. You should see GRUB now with options to boot to Ubuntu or Windows. Try booting Windows and Ubuntu
  19. Update Ubuntu to the latest

Enable touchpad

My touchpad didn't work out-of-the-box, so I had to do the following the make it working.

  1. Edit file /usr/share/X11/xorg.conf.d/10-evdev.conf 
  2. Add the following in the end of file

Section "InputClass"
        Identifier "Surface Pro 3 cover"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option "vendor" "045e"
        Option "product" "07dc"
        Option "IgnoreAbsoluteAxes" "True"
EndSection
If you feel that the pointer speed is too slow, you can adjust the speed with xset. I found these settings usable (try to tweak the first number, if you think it's too slow or fast)
xset m 25/12 0

Get better battery life

These commands should help in getting better battery life.
sudo apt-get install powertop
sudo powertop --auto-tune

What works and what doesn't

In this out-of-the-box installation these things work.

  • Pen as mouse
  • Touch screen
  • Keyboard
  • Touchpad (after the modification shown above)
  • Sound
  • Most likely bluetooth works, because the pen works
  • Wifi


Things that do not work.

  • Hardware buttons (sound / power)
  • Pen buttons
  • "Windows" button
  • Cameras
  • Battery status
  • Suspend