Surface – Installing Ubuntu on Surface Pro 3 or Any Linux Distribution

surface

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

I opened:

/usr/share/X11/xorg.conf.d/10-evdev.conf

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"
EndSection 

I did it restarted and wolla the touch pad is working! 😀 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

Best Answer

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

Run:

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.

Related Question