Linux and Surface Pro 3


Recommended Posts

I am trying to get Linux installed on my Surface Pro 3, but keep running into issues. Wanted to check out and see if any members here have any success.

I've tried Ubuntu and Fedora, both LTS, current, and betas. I've tried Kernels 4.10-4.14RC3. The only real issue I am having is with WIFi. Everything else works great. There is a old custom kernel for Fedora and some old Kernels for Ubuntu that were customized to fix some issues, but they are no longer being kept up-to-date.  4.11 is the only Kernel I can use to get Ethernet working. The others, WiFi doesn't work. I can get it to connect, then stops, and I'll have to restart. I've tried disabling power management on wlan0, and it doesn't resolve the issue.

Link to comment
Share on other sites

What number/type is your wireless chip? If it is Broadcom, earlier versions of Linux had a problem with that.

 

Why are you trying earlier versions? You should try the lastest version, Ubuntu 17.04 or Mint 18.2.

Link to comment
Share on other sites

Thanks. I was listing everything I have tried. Right now, I'm on the latest stable Fedora, but on 4.11 Kernel. 4.13, wifi and Ethernet doesn't work at all. The wireless I am using is, Marvell AVASTAR.

Link to comment
Share on other sites

I've had some luck, but @GrayW has the best idea. Visit that reddit page, there is a table that will give you an idea of what kernels work, what parts of the device work and do not work, etc. In the end, a VM was much more convenient for my usage.

 

Here is the guide, https://www.reddit.com/r/SurfaceLinux/comments/6j9hjc/guide_installing_linux_on_surfaceseries_devices/

 

Here is the table detailing what does and what does not work for Surface devices https://www.reddit.com/r/SurfaceLinux/comments/6eau79/current_state_of_surfaces/

 

Quote

Surface Pro 4 (2016):

CPU: Working, all aspects working as expected

 

NVMe PCIe Storage: Working

 

Sleep:

S1 (CPU Stops Executing Instructions): Working

S2 (CPU Powered Off): Working

S3 (Suspend to RAM, what most of you call "Sleep"): Not Working, S3 was replaced by “Connected Standby”, there is some debate about this because I can't find the source for the claim to follow, and I have been linked this so take it with a grain of salt until then. Connected Standby support in Linux would require every distro to near to rewrite every applet they build to support it – If you use it, it results in a device hang, most kernels (like Peter Hunt’s popular “Tiggerite” Kernel) disable S3 entirely.

S4 (Suspend to Disk, what most of you call "Hibernation"): Working: To disable suspend on systemd based systems (almsot all fo them) in favor of hibernate. Credits to /u/alraban for this method: sudo ln -s /usr/lib/systemd/system/hibernate.target /etc/systemd/system/suspend.target && sudo ln -s /usr/lib/systemd/system/systemd-hibernate.service /etc/systemd/system/systemd-suspend.service

 

USB: Working

 

SDXC Slot: Working (albeit detected as USB in most cases, not sure if this is an issue or not)

 

Buttons:

Power: Working

Volume Down: Working

Volume Up: Working

 

Video:

Integrated Intel Card: Working, Hardware Accelerated

 

DisplayPort: Working

 

Touch:

Multi-touch: Not Working – It can be made to work. You can install a custom kernel that includes the experimental IPTS (Touch and Pen for Series 4 devices and above) driver. Here is a link to the Linux Kernel 4.9 repo Intel developed: Link. I've heard user reports that this 4.11 kernel has working touch/pen input on all IPTS devices, though you'll need to clone/build/install it yourself, I may write a guide on building your own kernel/what patches apply to what devices/versions if I get some free time.

Pen: Not Working – It can be made to work. You can install a custom kernel that includes the experimental IPTS (Touch and Pen for Series 4 devices and above) driver. Here is a link to the Linux Kernel 4.9 repo Intel developed: Link. I've heard user reports that this 4.11 kernel has working touch/pen input on all IPTS devices, though you'll need to clone/build/install it yourself, I may write a guide on building your own kernel/what patches apply to what devices/versions if I get some free time.

 

Bluetooth: Working

LE: Not Working in some cases, others it does, largely untested

 

Wi-Fi:

Note: The default driver works fine for some, but not for others, to install the Marvell Driver, follow the instructions here: Link

A/B/G/N: Working

2.4 GHz: Working

5 GHz: Working

Promiscuous Mode: Not Working, Marvell drivers are to blame

 

Cameras:

Rear Camera: Not Working (it is on a PCI bus instead of the typical USB bus as previous devices have had)

Front Camera: Not Working (it is on a PCI bus instead of the typical USB bus as previous devices have had)

 

Sensors:

Ambient light sensor: Partially Working (Many Distros don’t yet have auto-brightness configured, in many cases scripts like those found here are necessary: Link – In my findings the output of the sensors aren’t reliable/configured/accurate, needs additional research

Accelerometer: Partially Working (Many Distros don’t yet have rotation detection configured, in many cases scripts like those found here are necessary: Link – In my findings the output of the sensors aren’t reliable/configured/accurate, needs additional research

Gyroscope: Partially Working (Many Distros don’t yet have rotation detection configured, in many cases scripts like those found here are necessary: Link – In my findings the output of the sensors aren’t reliable/configured/accurate, needs additional research

 

Battery Status: Fully Working

Power Management: Fully Working (but not as optimized as Windows), and gets just as hot as Windows does under a heavy CPU load. There are reports of better battery life in Linux around this sub, though I myself don't experience it.

 

On ‎10‎/‎11‎/‎2017 at 9:32 AM, fusi0n said:

Thanks. I was listing everything I have tried. Right now, I'm on the latest stable Fedora, but on 4.11 Kernel. 4.13, wifi and Ethernet doesn't work at all. The wireless I am using is, Marvell AVASTAR.

What ethernet adapter do you have? If it is the Surface adapter, I dont think it will work. Regarding your Marvell WIFI see this link here for instructions https://pastebin.com/aBLHBFak

 

 

Link to comment
Share on other sites

13 hours ago, Circaflex said:

I've had some luck, but @GrayW has the best idea. Visit that reddit page, there is a table that will give you an idea of what kernels work, what parts of the device work and do not work, etc. In the end, a VM was much more convenient for my usage.

 

Here is the guide, https://www.reddit.com/r/SurfaceLinux/comments/6j9hjc/guide_installing_linux_on_surfaceseries_devices/

 

Here is the table detailing what does and what does not work for Surface devices https://www.reddit.com/r/SurfaceLinux/comments/6eau79/current_state_of_surfaces/

 

 

What ethernet adapter do you have? If it is the Surface adapter, I dont think it will work. Regarding your Marvell WIFI see this link here for instructions https://pastebin.com/aBLHBFak

 

 

Thanks.  The git repo for Marvel is down. I was able to resolve this by,  https://bugzilla.kernel.org/show_bug.cgi?id=109681#c66

 

Yes, a VM would work great, however it's a work issued Surface with only 4GB ram. Since all I do is VDI there, I essentially turned my SP into a thin client. Windows 10 just ran badly with 4GB of ram. 

Link to comment
Share on other sites

On 13/10/2017 at 10:51 AM, fusi0n said:

Thanks.  The git repo for Marvel is down. I was able to resolve this by,  https://bugzilla.kernel.org/show_bug.cgi?id=109681#c66

 

Yes, a VM would work great, however it's a work issued Surface with only 4GB ram. Since all I do is VDI there, I essentially turned my SP into a thin client. Windows 10 just ran badly with 4GB of ram. 

i toyed with the same idea and had some success with a live usb of Mint with a surface 4 pro, just the touch screen didnt work. Didnt have time to take it further, but a fantastic idea.

Link to comment
Share on other sites

1 hour ago, Mando said:

i toyed with the same idea and had some success with a live usb of Mint with a surface 4 pro, just the touch screen didnt work. Didnt have time to take it further, but a fantastic idea.

How long ago? Since the 4.11 kernel was released it has touchscreen support. Since I've gotten wifi to work, it's been solid!

Link to comment
Share on other sites

On 10/12/2017 at 4:22 AM, GrayW said:

Discovered SurfaceLinux on Reddit a few months ago and wondered if I'd ever find a use for it:
 

 

This is what fixed it for me. Thanks

Link to comment
Share on other sites

17 hours ago, fusi0n said:

How long ago? Since the 4.11 kernel was released it has touchscreen support. Since I've gotten wifi to work, it's been solid!

tbh it was probs about 2 years ago, when i took delivery at work of a mid range SP4, i only had it for a few weeks as a test unit, decent enough but kept bricking with every CU from MS, gave up with it and gave it to sales & Marketing dept :p 

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.