When my HP-mini 110, running Ubuntu, began to show its age, I determined that the Surface Pro 3 was the best replacement. Even though its capabilities running Ubuntu were originally more limited than I had hoped, I think I chose wisely.
I have been frustrated trying to find an effective place to lay out the ways in which Linux (or at least Ubuntu) has not been able to take full advantage of the hardware's features. So I thank Ethan for giving us this Google Group.
I am not familiar with the differences between the older Surface products and SP3; nor do I know what new quirks the Surface 3, announced this week, will have. To avoid confusion I strongly recommend that everyone clearly identify the hardware, distribution, and kernel being discussed in each post.
I have been building my own kernels using the latest release candidate from Linux Kernel Archives and patching as needed. I believe the same thing could be done starting with the latest mainline kernel from Ubuntu.
I'm going to try to list the various ways in which Linux software handles the various features of the SP3 less well than Windows 8.1. If I know of any any fixes, work being done, or simply discussions of the situation elsewhere, I will add that information. Please feel free to update my list with your own newer information. [Does anybody know if a Google group can share a document?]
-- Issues that are resolved on my computer
* The type cover's keyboard does not work
** Kernels 3.18 and above have resolved this. You can also find a patch in
http://blog.davidelner.com/dual-booting-ubuntu-14-10-on-the-surface-pro-3/ that will fix it in 3.16.
** Note that the type cover's touch pad works as a mouse--not a multi-touch device--with or without this patch.
* The battery is not detected
**
https://dl.dropboxusercontent.com/u/4080500/patch/battery.patch (which needs to be compiled into the kernel) fully solves the problem. According to
https://bugzilla.kernel.org/show_bug.cgi?id=90161#c18 this patch is on its way to the kernel.
* The two cameras are not found
**
https://dl.dropboxusercontent.com/u/4080500/patch/cam.patch (also a kernel patch) provides the kernel a connection to the two cameras.
* The wifi and bluetooth are not reliable
** Installing the latest version of mwifiex solves this problem. This is also discussed in the David Elner blog mentioned above.
-- Issues that have been partially resolved on my computer
* The SP3's hardware buttons are not detected
**
https://dl.dropboxusercontent.com/u/4080500/patch/button1.patch and
https://dl.dropboxusercontent.com/u/4080500/patch/button2.patch resolve this for the power button, the two volume buttons, and the "home" button under the Windows logo.
** There is another "button," the lid switch, that is not fixed by this patch. It has a very interesting and frustrating problem: the state at power up and the first closing event are detected and then never any other state changes. One of the odd effects of this behavior, is that closing the cover prevents seeing both the the main display and a secondary display at the same time. This problem is discussed in
https://bugzilla.kernel.org/show_bug.cgi?id=84651 (which was the impetus for the button patches and also this Google group) and I think there are other places where it is mentioned.
* The type cover's touchpad does not handle multi-touch.
**
https://dl.dropboxusercontent.com/u/4080500/patch/gistfile1.diff provides a partial solution.
https://bugzilla.kernel.org/show_bug.cgi?id=84651#c97 and
https://bugzilla.kernel.org/show_bug.cgi?id=84651#c99 seem to promise some improvement but I haven't figured them out yet.
-- Issues that I think people are working on but are not satisfactorily resolved on my computer
* Suspend
** This is the biggest issue with the SP3 in my opinion.
** I have not found a kernel in which the suspended state lasts for more than a few seconds before the computer comes back to life.
**
https://launchpadlibrarian.net/191971365/freeze.patch provides a simple extension to ./usr/lib/pm-utils/pm-functions that improves this behavior. However, it is not reliable even then. See
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1436620 for a bug report that attempts to get to the heart of the problem.
* Autorotate is not working.
**
https://github.com/AykoPoel/surface3-scripts promises a fix that I haven't looked into.
-- Issues that I haven't heard are being looked into
* None of the symbols on top-row keys of the SP3 type cover are connected to anything in Linux except the one on the F3 key that mutes and unmutes the speaker.
* The lower button the pen doesn't do anything. This is quite frustrating since you can use the upper one to simulate the middle mouse button (#2) but you can't right-click (#3) with the pen.
* The pen's position is misunderstood when there is a secondary display attached. The system maps the point that is touched to the entire rectangle of the two side-by side displays rather than just the main display. Note that your finger on the same place on the screen is correctly understood.
Thanks, let's all help each other get these things fixed.