Surface Pro 3 - To Do List

1,067 views
Skip to first unread message

Matt Parnell

unread,
Oct 2, 2015, 3:50:24 PM10/2/15
to Android-x86
Feel free to add more if I'm missing any:

  • Screen rotation
  • Auto brightness
  • Stylus
  • Two Finger Scrolling
  • Volume Rockers (fixed already?)
  • ???

I've found on Linux at least, with the SP3 patches, that most of the devices including the accelerometer and light sensors are already exposed. iio-proxy detects them and you can scale the brightness up and down if you just make a little bash script to echo the proper values...

I'm not super adept with Android like I am with Linux, so for fixing these issues, I may require instruction or help from an actual Android dev.

Chih-Wei Huang

unread,
Oct 3, 2015, 12:27:35 PM10/3/15
to Android-x86
2015-10-03 3:50 GMT+08:00 Matt Parnell <mpar...@gmail.com>:
> Feel free to add more if I'm missing any:
>
> Screen rotation

If the driver is ready,
read hardware/libsensors/iio-sensors.cpp
to see how to enable it.

> Auto brightness

Read hardware/liblights/lights.c

> Stylus

https://source.android.com/devices/input/index.html

> Two Finger Scrolling

ditto

> Volume Rockers (fixed already?)

???

> I've found on Linux at least, with the SP3 patches, that most of the devices
> including the accelerometer and light sensors are already exposed. iio-proxy
> detects them and you can scale the brightness up and down if you just make a
> little bash script to echo the proper values...
>
> I'm not super adept with Android like I am with Linux, so for fixing these
> issues, I may require instruction or help from an actual Android dev.

Welcome on board.

Matt Parnell

unread,
Oct 3, 2015, 1:24:58 PM10/3/15
to andro...@googlegroups.com
Thank you for the information, I'll have to see what I can do! Hopefully I won't ask any questions in the future that sound too stupid - either way, I'm glad to be back around.

In all honesty the recent behavior of Micorsoft is enough to push me to work more on Linux and Android, as these are great pieces of hardware, but Windows is a privacy nightmare.


--
You received this message because you are subscribed to a topic in the Google Groups "Android-x86" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/android-x86/6Po4azMN3rc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to android-x86...@googlegroups.com.
To post to this group, send email to andro...@googlegroups.com.
Visit this group at http://groups.google.com/group/android-x86.
For more options, visit https://groups.google.com/d/optout.

Mark Verst

unread,
Nov 18, 2015, 9:52:51 PM11/18/15
to Android-x86
What is the current state of Android on the Surface Pro 3? I have a SP3 with a faulty SSD drive. I can boot Ubuntu from microSD, but I hope I can do the same with Android.

What version should I use? Android-x86 5.1? Or an older version?
And what are the steps I need to take?

Matt Parnell

unread,
Mar 1, 2016, 9:33:44 PM3/1/16
to Android-x86
I think we just spoke? I hope you've managed to boot Android by now? I know it is possible, but I believe you may need to unlock secure boot, and configure the UEFI a bit to boot it. The XDA thread should have a decent-ish guide.

Jon West

unread,
Mar 1, 2016, 9:47:01 PM3/1/16
to Android-x86
That was me. I will use this thread to post what I find in trying to fix the touchscreen issues on the SP3. First on my list is to apply these to our kernel and see what I get. https://github.com/matthewwardrop/linux-surfacepro3/commit/795180bc6c990b052cb1a3fdbeb54e172ff3cfff

Matt Parnell

unread,
Mar 1, 2016, 9:52:40 PM3/1/16
to andro...@googlegroups.com
Nice, let me know how it goes!

On Tue, Mar 1, 2016 at 8:47 PM, Jon West <electr...@gmail.com> wrote:
That was me. I will use this thread to post what I find in trying to fix the touchscreen issues on the SP3. First on my list is to apply these to our kernel and see what I get. https://github.com/matthewwardrop/linux-surfacepro3/commit/795180bc6c990b052cb1a3fdbeb54e172ff3cfff
--
You received this message because you are subscribed to a topic in the Google Groups "Android-x86" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/android-x86/6Po4azMN3rc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to android-x86...@googlegroups.com.
To post to this group, send email to andro...@googlegroups.com.

Henri Koivuneva

unread,
Sep 20, 2016, 9:55:18 AM9/20/16
to Android-x86
Has anyone gotten rotation, cameras and touch properly working?

For me camera works kind of, but it's in the wrong orientation. Rotation works only through apps like Rotation Control that put rotation buttons in the notification list. Touch sometimes stops working.

However, stability etc. has gotten much better lately with the fixes people have done, great!

James Chai

unread,
Sep 20, 2016, 10:50:10 AM9/20/16
to Android-x86
Actually the only thing not working is auto rotation and Wifi.

Gyrometer is connected to I2C and wifi requires a patch in the mwifiex_pcie driver in kernel.

James Chai

unread,
Sep 20, 2016, 10:51:25 AM9/20/16
to Android-x86
And As of Linux kernel 4.8 all those driver will be merged into mainline kernel.


On Friday, October 2, 2015 at 2:50:24 PM UTC-5, Matt Parnell wrote:

Henri Koivuneva

unread,
Sep 20, 2016, 10:53:46 AM9/20/16
to andro...@googlegroups.com

Awesome! Thanks for the heads-up. It'll be interesting to try them out once 4.8 is out and available to us!


--
You received this message because you are subscribed to a topic in the Google Groups "Android-x86" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/android-x86/6Po4azMN3rc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to android-x86+unsubscribe@googlegroups.com.

James Chai

unread,
Sep 20, 2016, 11:00:13 AM9/20/16
to andro...@googlegroups.com

If Android x86 is not going to move to 4.8 kernel, we might need to do a backport.

Matt Parnell

unread,
Sep 20, 2016, 11:23:40 AM9/20/16
to andro...@googlegroups.com
 Isn't auto rotate just modifying a bash script? I know auto brightness is not that difficult (I tested under plain Linux with a dirty script), and I would assume that since Android X86 uses a bash script for rotation that too shouldn't be super hard to configure.

Henri Koivuneva

unread,
Sep 20, 2016, 12:20:44 PM9/20/16
to andro...@googlegroups.com

I found this python script https://github.com/tiggerite/mint-17.3-for-surface-pro-3/blob/master/utils/autorotate

Works well in tiggerite's Linux mint 17.3, I couldn't get it to work on Android (with SL4A and my very limited python knowledge). Any way to convert that to a bash script or otherwise use it? The matrices for rotation are there etc!

I've built 4.8rc5 and rc6 from Mauro Rossi's repo but they unfortunately freeze on the sp3 with 6.0.1r66 &  r68 64-bit (builds here http://goo.gl/VRBjLK ) gotta try rc2, they had used that for Surface 3 so perhaps it's more stable?

Povilas Staniulis

unread,
Sep 20, 2016, 12:27:52 PM9/20/16
to andro...@googlegroups.com
I guess the script is for X which Android does not use.
Android has a sensor HAL which reads data from sensor devices and
interprets in accordingly.
There's already a HAL driver for I2C sensors, not sure if it would work
though.

On 2016.09.20 18:23, Matt Parnell wrote:
> Isn't auto rotate just modifying a bash script? I know auto
> brightness is not that difficult (I tested under plain Linux with a
> dirty script), and I would assume that since Android X86 uses a bash
> script for rotation that too shouldn't be super hard to configure.
>
> On Tue, Sep 20, 2016 at 10:00 AM, James Chai <cth...@gmail.com
> <mailto:cth...@gmail.com>> wrote:
>
> If Android x86 is not going to move to 4.8 kernel, we might need
> to do a backport.
>
>
> On Sep 20, 2016 9:53 AM, "Henri Koivuneva"
> <henri.k...@gmail.com <mailto:henri.k...@gmail.com>> wrote:
>
> Awesome! Thanks for the heads-up. It'll be interesting to try
> them out once 4.8 is out and available to us!
>
>
> 20.9.2016 5.51 ip. "James Chai" <cth...@gmail.com
> <mailto:cth...@gmail.com>> kirjoitti:
>
> And As of Linux kernel 4.8 all those driver will be merged
> into mainline kernel.
>
> On Friday, October 2, 2015 at 2:50:24 PM UTC-5, Matt
> Parnell wrote:
>
> Feel free to add more if I'm missing any:
>
> * Screen rotation
> * Auto brightness
> * Stylus
> * Two Finger Scrolling
> * Volume Rockers (fixed already?)
> * ???
>
>
> I've found on Linux at least, with the SP3 patches,
> that most of the devices including the accelerometer
> and light sensors are already exposed. iio-proxy
> detects them and you can scale the brightness up and
> down if you just make a little bash script to echo the
> proper values...
>
> I'm not super adept with Android like I am with Linux,
> so for fixing these issues, I may require instruction
> or help from an actual Android dev.
>
> --
> You received this message because you are subscribed to a
> topic in the Google Groups "Android-x86" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/android-x86/6Po4azMN3rc/unsubscribe
> <https://groups.google.com/d/topic/android-x86/6Po4azMN3rc/unsubscribe>.
> To unsubscribe from this group and all its topics, send an
> email to android-x86...@googlegroups.com
> <mailto:android-x86...@googlegroups.com>.
> To post to this group, send email to
> andro...@googlegroups.com
> <mailto:andro...@googlegroups.com>.
> <https://groups.google.com/group/android-x86>.
> For more options, visit https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>.
>
> --
> You received this message because you are subscribed to a
> topic in the Google Groups "Android-x86" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/android-x86/6Po4azMN3rc/unsubscribe
> <https://groups.google.com/d/topic/android-x86/6Po4azMN3rc/unsubscribe>.
> To unsubscribe from this group and all its topics, send an
> email to android-x86...@googlegroups.com
> <mailto:android-x86...@googlegroups.com>.
> To post to this group, send email to
> andro...@googlegroups.com
> <mailto:andro...@googlegroups.com>.
> <https://groups.google.com/group/android-x86>.
> For more options, visit https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>.
>
> --
> You received this message because you are subscribed to a topic in
> the Google Groups "Android-x86" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/android-x86/6Po4azMN3rc/unsubscribe
> <https://groups.google.com/d/topic/android-x86/6Po4azMN3rc/unsubscribe>.
> To unsubscribe from this group and all its topics, send an email
> to android-x86...@googlegroups.com
> <mailto:android-x86...@googlegroups.com>.
> To post to this group, send email to andro...@googlegroups.com
> <mailto:andro...@googlegroups.com>.
> <https://groups.google.com/group/android-x86>.
> For more options, visit https://groups.google.com/d/optout
> <https://groups.google.com/d/optout>.
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Android-x86" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to android-x86...@googlegroups.com
> <mailto:android-x86...@googlegroups.com>.
> To post to this group, send email to andro...@googlegroups.com
> <mailto:andro...@googlegroups.com>.

Chih-Wei Huang

unread,
Sep 21, 2016, 11:36:05 PM9/21/16
to Android-x86
2016-09-21 0:20 GMT+08:00 Henri Koivuneva <henri.k...@gmail.com>:
> I found this python script
> https://github.com/tiggerite/mint-17.3-for-surface-pro-3/blob/master/utils/autorotate
>
> Works well in tiggerite's Linux mint 17.3, I couldn't get it to work on
> Android (with SL4A and my very limited python knowledge). Any way to convert
> that to a bash script or otherwise use it? The matrices for rotation are
> there etc!

Do you have /sys/bus/iio/devices/iio:device0 ?

What's the property ro.hardware.sensors ?

James Chai

unread,
Sep 23, 2016, 5:32:45 PM9/23/16
to Android-x86
yes and hsb

Henri Koivuneva

unread,
May 10, 2017, 12:28:10 PM5/10/17
to Android-x86
Hi! Thank you for the help. Here are the logs and stuff, is there anything I could do to help figure it out? Do we need a new driver in drivers/iio/accel? Or what's needed to possibly fix auto rotation on the Surface Pro 3?

Attachments: dmesg, getprop output, logcat, accel-related contents from /sys/bus/iio/devices/iio:device0 in landscape mode. Please tell me if the output in all modes is needed and I'll send!

[ro.hardware.sensors]: [hsb]

[ro.product.manufacturer]: [Microsoft Corporation]
[ro.product.model]: [Surface Pro 3]
[ro.product.name]: [android_x86_64]

Using Mauro Rossi's kernel 4.11 with your newest code from OSDN, with your marshmallow-x86 MESA branch.

Here's the built ISO in case it's needed: goo.gl/oNlXo8

Best wishes,
Henri


torstai 22. syyskuuta 2016 6.36.05 UTC+3 Chih-Wei Huang kirjoitti:
2016-09-21 0:20 GMT+08:00 Henri Koivuneva <henri.k...@gmail.com>:
> I found this python script
dmesg.txt
getprop.txt
logcat.txt
sys-bus-iio-devices-iio_device0.zip

Chih-Wei Huang

unread,
May 10, 2017, 11:43:23 PM5/10/17
to Android-x86
2017-05-11 0:28 GMT+08:00 Henri Koivuneva <henri.k...@gmail.com>:
> Hi! Thank you for the help. Here are the logs and stuff, is there anything I
> could do to help figure it out? Do we need a new driver in
> drivers/iio/accel? Or what's needed to possibly fix auto rotation on the
> Surface Pro 3?

Hmm. This is an old thread.
Please remind what issue it is.

> Attachments: dmesg, getprop output, logcat, accel-related contents from
> /sys/bus/iio/devices/iio:device0 in landscape mode. Please tell me if the
> output in all modes is needed and I'll send!
>
> [ro.hardware.sensors]: [hsb]

I can just say the sensor HAL is set correctly
and the iio nodes seems good.
Everything seems OK.

If it doesn't work, you have to debug
the sensor HAL or driver yourself.

BTW, the Surface 3 (non-pro) has a similar issue.
The driver is loaded but it doesn't generate
correct data on rotating.
Yes, the driver needs to be fixed.
But it's very hard for the linux community since
nobody has the detailed spec of the hardware.
A Red Hat developer has talked to me about that.
They have tried to ask data sheet from Microsoft
but no response as everyone expects.

> [ro.product.manufacturer]: [Microsoft Corporation]
> [ro.product.model]: [Surface Pro 3]
> [ro.product.name]: [android_x86_64]
>
> Using Mauro Rossi's kernel 4.11 with your newest code from OSDN, with your
> marshmallow-x86 MESA branch.
>
> Here's the built ISO in case it's needed: goo.gl/oNlXo8
>
> Best wishes,
> Henri




--
Chih-Wei
Android-x86 project
http://www.android-x86.org

Henri Koivuneva

unread,
May 12, 2017, 9:25:57 AM5/12/17
to Android-x86
Right! Thank you. The issue is that automatic rotation doesn't work. The sensors seem to register changes when turning the device around, but it's not conveyed to the UI(?) to rotate. Thus, using an app like RotationControl by CrapeMyrtle is needed.

I was looking at device/generic/common/init.sh:235 and hardware/libsensors, it seems there are some things for different devices related to rotation...

So I was wondering if it's possible to somehow add similar fixes for the Surface Pro 3, with the available sensor data when rotating? Or is that completely impossible because Microsoft hasn't shared the detailed spec? How about the accel matrix from https://github.com/tiggerite/mint-17.3-for-surface-pro-3/blob/master/utils/autorotate ?

inputnames=[
"Atmel Atmel maXTouch Digitizer",
"NTRG0001:01 1B96:1B05"
]

orientations=[
"normal",
"inverted",
"left",
"right"
]

matrices=[
[1,0,0,0,1,0,0,0,1],
[-1,0,1,0,-1,1,0,0,1],
[0,-1,1,1,0,0,0,0,1],
[0,1,0,-1,0,1,0,0,1]
]

Henri Koivuneva

unread,
May 12, 2017, 9:29:10 AM5/12/17
to Android-x86

Sorry I forgot to attach the picture. It looks like the sensors are going between 0-65536 depending on how I'm holding the device...so the kernel might be recognizing it / works with it?

Chih-Wei Huang

unread,
May 15, 2017, 2:50:29 AM5/15/17
to Android-x86
2017-05-12 21:25 GMT+08:00 Henri Koivuneva <henri.k...@gmail.com>:
> Right! Thank you. The issue is that automatic rotation doesn't work. The
> sensors seem to register changes when turning the device around, but it's
> not conveyed to the UI(?) to rotate. Thus, using an app like RotationControl
> by CrapeMyrtle is needed.
>
> I was looking at device/generic/common/init.sh:235 and hardware/libsensors,
> it seems there are some things for different devices related to rotation...
>
> So I was wondering if it's possible to somehow add similar fixes for the
> Surface Pro 3, with the available sensor data when rotating? Or is that
> completely impossible because Microsoft hasn't shared the detailed spec? How
> about the accel matrix from
> https://github.com/tiggerite/mint-17.3-for-surface-pro-3/blob/master/utils/autorotate
> ?

Looks like the automatic rotation work in normal linux distros.
If so that means the driver is OK.
You just need to fix the HAL.
And since the sensor HAL has been set up (to hsb),
you can use some sensors test apps to check
what data are read.

The Intel's hsb HAL is under hardware/intel/libsensors.
Alternatively, you can set the sensors HAL to iio
to see if it works better.

> inputnames=[
> "Atmel Atmel maXTouch Digitizer",
> "NTRG0001:01 1B96:1B05"
> ]
>
> orientations=[
> "normal",
> "inverted",
> "left",
> "right"
> ]
>
> matrices=[
> [1,0,0,0,1,0,0,0,1],
> [-1,0,1,0,-1,1,0,0,1],
> [0,-1,1,1,0,0,0,0,1],
> [0,1,0,-1,0,1,0,0,1]
> ]



Henri Koivuneva

unread,
May 15, 2017, 3:46:23 AM5/15/17
to andro...@googlegroups.com
Thank you for the tips, this has been very helpful! I'll go through it this weekend and try to find out what's wrong there and what's been done in the Linux distros if they don't just use a script to rotate. 

That tiggerite Linux Mint script seems to be written for X which we don't use.. Interesting. I'll report back if I find anything!

Reply all
Reply to author
Forward
0 new messages