What I found out for now is that I can use ubuntu 15.04 touch but no scrolling.

I opened:


And added:

Section "InputClass"  
    Identifier "Surface Pro 3 cover"
    MatchIsPointer "on"
    MatchDevicePath "/dev/input/event*"
    Driver "evdev"
    Option "vendor" "045e"
    Option "product" "07dc"
    Option "IgnoreAbsoluteAxes" "True"

I did it restarted and wolla the touch pad is working! :D happy!

now im stuck with the rest of theese things can someone help me?

  1. power button + volume button
  2. close lid
  3. scroll with 2 fingers
  4. scroll on touch
  • 1
    I've read that the newest kernel (not in 15.04) adds a lot of support for the Surface 3. You might try Fedora 22 (now in beta and being released in about 3 wks) which uses kernel v.4.0, but I'm not sure if the improvements are in that kernel yet either. – chaskes May 7 '15 at 19:57
  • 1
    I am running ubuntu/archlinux on my surface pro 3. You just have to compile your own kernel and apply some patches to it. I'll post an answer soon how you can do that, its pretty easy. – Pabi May 7 '15 at 20:13

I have a Surface pro 3 running ubuntu and archlinux.
Everything works fine, but for the things you want you have to compile your own Kernel, which sounds harder than it is.

Download 4.0.1 Kernel sources from here and the patches from here.
Extract both files to a new directory.

tar xvf archive.tar.gz /folder

Install tools with

sudo apt-get install libncurses5-dev kernel-package` 

Apply all the patches with

patch -p1 -i xxx.patch

Copy the current config with:

cp /boot/config-`uname -r` .config


make menuconfig

then press ESCESC to save and exit.

Start the compiling with:

make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-surface-pro-3 kernel_image kernel_headers

Compiling can take 1-2 hours, depending on your pc. If you have a dualcore you can add -j 2 after make-kpkg, -j 4 if you have a quadcore.
Make will then use the number of cores you specify.

Once it is done you will have two .deb files.
Install them with sudo dpkg -i linux-image*.deb linux-headers*.deb

Reboot your system and select the newly compiled Kernel while booting.

  • I have newer patched before so im a little stuck.. sry. how can i patch? dont understand it. I type: patch -p1 -i battery.patch And the output is: can't find file to patch at input line 5 Perhaps you used the wrong -p or --strip option? The text leading up to this was: -------------------------- |kernel-patches/buttons.patch0000644000175000000330000001542312511071473015672 0ustar patricksudodiff --git a/drivers/platform/x86/Kconfig b/drivers/platform/x86/Kconfig |index 9752761..0205201 100644 |--- a/drivers/platform/x86/Kconfig |+++ b/drivers/platform/x86/Kconfig -------------------------- – user232447 May 8 '15 at 9:08
  • Please edit the error message into your question for better readability. The Kernel source files and patch files are in the same directory? – Pabi May 8 '15 at 9:41
  • sorry for the missunderstanding. no the kernel patch and source was in different folder.... followd what you said and compiling now! :D cant wait to test this out. – user232447 May 8 '15 at 11:00
  • ok now i have installed it and rebooting. but no option to choose the newly compield kernel while booting? – user232447 May 8 '15 at 11:23
  • You have to choose Advanced options for Ubuntu. – Pabi May 8 '15 at 11:24

I run ubuntu only on my sp3 (no dualbooting) with everything working, battery, cameras, all buttons, etc. I recompiled kernel with all archlinux patches, and they got patches to make everything work. If you still got problems with buttons or other things I can try to find that download link again for their patches.

EDIT: Found it - https://github.com/matthewwardrop/linux-surfacepro3

The only thing I am not happy with is that there is no split-keyboard in linux. Don't see how tablets could be a goal to support with no working keyboard for touchscreens above 7". For that I had to make one my self. Using python and gtk3 to make a clone of the win8.1 keyboards split-layout. Few buttons missing which I need to add and then I will be happy :)

Tip: sudo apt-get install powertop sudo powertop --auto-tune

This will fix a lot of battery-hungry settings to be adjust for laptopmode, makes the tablets battery last just as long, and even a little longer, than on windows. without it the battery drain faster. It has to be ran after every boot (so put it in /etc/rc.local without sudo), and after every waking up from suspend/hibernate (can be scripted too).

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.