Ubuntu on surface pro 3 or Linux at all?
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.
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).