Jump to content

[Guide] 10.10 On the Surface Pro 3


LonelyTV
 Share

341 posts in this topic

Recommended Posts

As I suspected, it is an i2c device but not i2c-hid. Windows probably has its own HID wrapper for this device. The linux kernel drivers for this device are here: http://lxr.free-electrons.com/source/drivers/input/touchscreen/goodix.c. The good news is that those drivers wouldn't be too difficult to port but that's something you'd probably have to do yourself. I wouldn't recommend getting this tablet if you plan on using OS X on it (not to mention the WiFi card probably won't work either).

 

Thanks for the assessment and for sharing the kernel drivers. In terms of wifi, the tablet actually has a replaceable 3G PCIe card, which I should be able to swap out for a compatible Mac card.

 

As for the touch drivers, can you recommend a starting point for me in learning about porting them to OS X? I'm pretty confident in my development abilities, though I've only done significant work in python and javascript.

 

Unfortunately, I don't know the first thing about driver development, but I'm willing to attempt the challenge and I'd love to contribute to this community. 

Link to comment
Share on other sites

  • 3 weeks later...

I suspect you'll have to recreate the DSDT for the Surface Pro 4.  It may work, but I don't think anyone has tested it yet.

That would probably need moderate skill in scripting and c++ or something right? Cause i know squat of scripting and such.

Link to comment
Share on other sites

  • 3 weeks later...

Will this also work on the surface pro 4 with i5, 8GB ram and 256GB ssd? Going to dualboot it with windows.

 

 

I was able to get El Capitan (10.11.2) working natively on my SP4 (i5 8gb) last night! It took a few days, since I'm new at this and it's different hardware than the SP3. I ended up hacking together a working/usable model. The good news? It looks like the WIFI adapter is an Intel based chip now instead of a Marvell, the vendor-id is 8086, so it is probably supported. I just need to go to Intel and see if I can download a driver I suppose.

 

EDIT: My mistake. It's still a Marvell. I was looking at the wrong thing in IORegistryExplorer. :-(  vendor-id: 0x11ab device-id: 2b38

 

The graphics has artifacts, so I'm trying to figure that out. But it does automagically recognize the Intel HD 520 graphics chip, without the need to force anything or mask anything. It also comes in at native 5k resolution. Which, is ridiculously SMALL since OSX isn't designed to scale the menu bar or fonts. So, I ended up switching the resolution down to 1600x1000 or something like that which makes it alot easier on my old eyes. I used the Skylake clover patch from Pike to get the CPUs working properly. I was not able to get it to install or even see the internal SSD. The SSD is an NVMe, and it looks like everyone is waiting on a patch for that to work. I tried hacking my DSDT to change the class of the SSD to apple's specific (0x01800200), along with a FakePCIID to make the vendor-id and device-id the same as the 256gb Apple SSD. And so I was able to make the internal SSD come through to OSX looking like it should, but it still didn't work. (When I looked at the info in IORegistryExplorer, it looked fine to me).

 

I ended up doing the install to a Sandisk USB stick and rebooted and it works.

 

I have screenshots I can add later. Or I can start a new thread with all of the specific files and config changes I did to make it work. I'm excited to test out the touch screen driver that is being worked on. Hopefully that will work for the SP4. :-)

 

Thanks to everyone who has been digging around for tweaks and patches, I couldn't have done it without all of that previous work. 

 

 

(*I also got El Capitan working in a VM by using a video tutorial I found on youtube. I can share the link if anyone is interested in that piece. I just hated having windows being my "base" OS, and wasting memory and cpu on that just to get OSX running. Although, the touchscreen and network passes through vmware without modifications. lol )

 

-Tim

  • Like 2
Link to comment
Share on other sites

maj1es2tic - good work!!

 

please keep us updated on what you find.  let me know if there is anything we can do too help.  I just got my SP4 so ill be checking in here a lot

 

Thanks again

 

 

I'll go ahead and create a new thread. I don't want to hijack this one. :-

 

http://www.insanelymac.com/forum/topic/309890-guide-1011-el-capitan-on-the-surface-pro-4/

Link to comment
Share on other sites

FYI: I just booted up into LinuxMint, live cd on my SP4. my keyboard/mouse doesn't work, but WIFI appears to work. It popped up and told me networks were available. That means there's a linux driver in there that 'could' be ported to OSX. ;-) If I were a better programmer... 

Link to comment
Share on other sites

FYI: I just booted up into LinuxMint, live cd on my SP4. my keyboard/mouse doesn't work, but WIFI appears to work. It popped up and told me networks were available. That means there's a linux driver in there that 'could' be ported to OSX. ;-) If I were a better programmer... 

 

You're already doing a splendid job by atlest getting the OS to boot on the surface pro :)

Link to comment
Share on other sites

  • 3 weeks later...

After selecting "Boot Mac OS X with Injected Kexts" it appears the installer tries to run, but after awhile my sp3 just ends up rebooting. This has happened 5+ times. Is this the "Several times I had the installer "finish" and reboot, but it wasn't complete. If you don't see your OS X drive in Clover after the installer reboot, re-run the installer and it will continue on it's own."? And does anyone have any tips for getting past this?

Link to comment
Share on other sites

  • 3 weeks later...

Hi guys, glad to read your comments and thank you so much for the tutorial :)

I would like to know if exist any upgrade about the tutorial. Internal Bluetooth and wifi or touchscreen for example.

If somebody is interested to use the smartphone as modem wifi through wire or bluetooth i use the aplication HoRNDIs.

I think it's specially interesting because you can use the mobile connection and wifi hotspots at the same time :D

Here is the page of the autor and the instructions:

 

http://joshuawise.com/horndis

 

Good Job Guys, The surface Pro 3 really works fine with Yosemite! :)

Link to comment
Share on other sites

  • 4 weeks later...

Small update for those waiting for SP3 touchscreen drivers. There hasn't been any new code contributions but someone was finally able to test a contribution from a couple of months back that gives proper input without the need for that HIDSample app (those who were alpha testing know what I'm referring to). The kext linked below can be loaded with "sudo kextload VoodooI2C.kext" and you should get basic mouse-like input. This includes navigating, left/right clicking and dragging. Keep in mind that these drivers are still experimental so I don't suggest you install them to /s/l/e. Furthermore, these drivers do not support power saving so it is highly likely that if you put the machine to sleep, it will crash. 

 

https://www.dropbox.com/s/cdnnfgh80fcoprw/VoodooI2C%20SP3%20alpha.zip?dl=0

  • Like 1
Link to comment
Share on other sites

Small update for those waiting for SP3 touchscreen drivers. There hasn't been any new code contributions but someone was finally able to test a contribution from a couple of months back that gives proper input without the need for that HIDSample app (those who were alpha testing know what I'm referring to). The kext linked below can be loaded with "sudo kextload VoodooI2C.kext" and you should get basic mouse-like input. This includes navigating, left/right clicking and dragging. Keep in mind that these drivers are still experimental so I don't suggest you install them to /s/l/e. Furthermore, these drivers do not support power saving so it is highly likely that if you put the machine to sleep, it will crash. 

 

https://www.dropbox.com/s/cdnnfgh80fcoprw/VoodooI2C%20SP3%20alpha.zip?dl=0

 

Alex - Thanks. I know how tough & busy Grad School can be. Why not put this as a project on Git, open source and get all SP3/ SP4 users {quite a many techies} to contribute. 

Link to comment
Share on other sites

Alex - Thanks. I know how tough & busy Grad School can be. Why not put this as a project on Git, open source and get all SP3/ SP4 users {quite a many techies} to contribute. 

 

Project is already on github: http://www.github.com/alexandred/VoodooI2C :) Would be great to have more contributors. Unfortunately, SP4 doesn't seem to use I2C for touchscreen so I don't think these drivers will be suitable.

  • Like 1
Link to comment
Share on other sites

Project is already on github: http://www.github.com/alexandred/VoodooI2C :) Would be great to have more contributors. Unfortunately, SP4 doesn't seem to use I2C for touchscreen so I don't think these drivers will be suitable.

 

I hope the SP3 & SP4 forks both get due attention and contribution :) I used to code ages back but dont code anymore, but still understand stuff.. How can I help? 

Link to comment
Share on other sites

Small update for those waiting for SP3 touchscreen drivers. There hasn't been any new code contributions but someone was finally able to test a contribution from a couple of months back that gives proper input without the need for that HIDSample app (those who were alpha testing know what I'm referring to). The kext linked below can be loaded with "sudo kextload VoodooI2C.kext" and you should get basic mouse-like input. This includes navigating, left/right clicking and dragging. Keep in mind that these drivers are still experimental so I don't suggest you install them to /s/l/e. Furthermore, these drivers do not support power saving so it is highly likely that if you put the machine to sleep, it will crash. 

 

https://www.dropbox.com/s/cdnnfgh80fcoprw/VoodooI2C%20SP3%20alpha.zip?dl=0

 

My system (SP3 - 10.10.5) completely restarts when I kextload this :(

Link to comment
Share on other sites

Small update for those waiting for SP3 touchscreen drivers. There hasn't been any new code contributions but someone was finally able to test a contribution from a couple of months back that gives proper input without the need for that HIDSample app (those who were alpha testing know what I'm referring to). The kext linked below can be loaded with "sudo kextload VoodooI2C.kext" and you should get basic mouse-like input. This includes navigating, left/right clicking and dragging. Keep in mind that these drivers are still experimental so I don't suggest you install them to /s/l/e. Furthermore, these drivers do not support power saving so it is highly likely that if you put the machine to sleep, it will crash. 

 

https://www.dropbox.com/s/cdnnfgh80fcoprw/VoodooI2C%20SP3%20alpha.zip?dl=0

 

I am unable to load this kext... i am getting this message:

sudo kextload VoodooI2C.kext

/System/Library/Extensions/VoodooI2C.kext failed to load - (libkern/kext) not loadable (reason unspecified); check the system/kernel logs for errors or try kextutil(8).

Link to comment
Share on other sites

  • 2 weeks later...

For those who downloaded the previous kext I posted, please ignore it. Turns out the person who compiled it didn't fully understand what I was asking him to test. If there are people here who are definitely familiar with XCode, please come to the gitter chat: http://gitter.im/alexandred/VoodooI2C. I can instruct you on how to compile a working kext for the SP3.

Link to comment
Share on other sites

hi i have a problem with usb installer when i use the surface pro 3 driver pack.zip i can't start installer i think there is a problem in config .plist....

i have surface pro 3 i7 8gb ram 256gb


hi i have a problem with usb installer when i use the surface pro 3 driver pack.zip i can't start installer i think there is a problem in config .plist....

i have surface pro 3 i7 8gb ram 256gb


hi i have a problem with usb installer when i use the surface pro 3 driver pack.zip i can't start installer i think there is a problem in config .plist....

i have surface pro 3 i7 8gb ram 256gb

Link to comment
Share on other sites

 Share

×
×
  • Create New...