Dual boot Gnome Ubuntu 15.04 on a Surface Pro 3

update 6: I have rolled a new kernel surface-pro-3-linux-kernel-4.2.0-34.40

Good news everyone! the latest version of Ubuntu 15.04 works really good with the Surface Pro 3

Things that immediately work

The TypeCover Keyboard
The TypeCover backlight can be adjusted by pressing F1 and F2
The mute button in the TypeCover F3 works
The WiFi is stable now
The Touch Screen works – with gnome you have similar gestures as windows 8 like pulling from the left , etc.
No need to disable the secure boot

Things that don’t work

The touch pad needs some minor set up
The battery is not recognized
Volume buttons don’t work
buttons in the pen still not working

What you need

A USB Flash drive with at leas 2Gigs of space
A copy of ubuntu 15.04 I used Gnome Ubuntu you can get it here http://ubuntugnome.org/download/
Universal USB Installer http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/

Before the install

First we need to disable hibernation, for that open a command prompt window as administrator and run

powercfg -hibernate off

Next we need to make room for ubuntu by:

  1. Open the Disk Management utility 
  2. Find Windows C: and Right-click and select Shrink Volume 
  3. In the next dialog window shrink the partition by at least 20 GB. If you have the larger SSD then give it more space

Create a bootable USB Driver by following these instructions

http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/

Installing Ubuntu

The set up is quite simple

Boot to the USB Drive

  1. Swipe from the right to display the charms bar
  2. Press Settings
  3. At the bottom press Change PC settings
  4. Go to Update and recovery
  5. Go to Recovery
  6. Click Restart now
  7. A blue screen will display some boot options, choose “Use a device”

Installing Ubuntu

remember that the touch pad doesn’t work but the touch screen does. Use the touch screen to click on the screen.

  1. You should be greeted by the grub menu
  2. Select “Install Ubuntu alongside windows boot manager” and click install
  3. the installer will automatically detect the space you created and automatically create the main and swap partitions
  4. click continue
  5. follow the installer instructions and you are done!

Installing the touchpad

  1. in ubuntu open the terminal
  2. edit the following file with sudo privileges for example
    sudo nano /usr/share/X11/xorg.conf.d/10-evdev.conf
  3. Add this to the end of the 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 
  4. Restart

You should be now greeted by the grub menu with ubuntu and windows entries

 

Annoying things

  • Some times the computer hangs on the “Surface” screen. Just doing a  Ctrl+Alt+Del will make things work again
  • When booting on ubuntu after using windows will cause the touchpad to stop working. just restart one more time and it should work again

 

update: I took these setting from running_ubuntu_1404_on_surface_pro_1_full_time

Adding Proper Power Management through TLP. It will default to battery setting when no power source is identified. This is useful since the battery is not properly detected

  • sudo add-apt-repository ppa:linrunner/tlp
  • sudo apt-get update
  • sudo apt-get install tlp tlp-rdw
  • sudo apt-get install ethtool
  • open /etc/default/tlp and change the following:
    • CPU_SCALING_GOVERNOR_ON_AC=performance
    • CPU_SCALING_GOVERNOR_ON_BAT=powersave
  • sudo tlp start
  • you can monitor power consumption using powertop

update 2: for those brave enough to try it, you can build your own kernel and patch it to add support for hardware buttons and track pad multi touch, battery display and sleep
Just follow the instructions here https://github.com/neoreeps/surface-pro-3

update 3: I built a custom kernel for the surface and it works fantastic. I could not be happier. I followed the instruction here but used the patches from here. I got everything working except for the trackpad multitouch.  All hardware buttons work. Sleep works. battery indicator works. both cameras work. it is fantastic.

update 4: I have written a post explaining how to build and install your own kernel
Building and installing a patched ubuntu kernel for the surface pro 3

update 5: I have uploaded a kernel with all the patches already applied surface-pro-3-linux-kernel-3.19.0-27.29

update 6: I have rolled a new kernel surface-pro-3-linux-kernel-4.2.0-34.40

  1. A coworker stored production assets in Dropbox. Chaos ensued.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.