balopez83 / Surface-Pro-7-Hackintosh

This project aims to provide continued support running macOS on the Surface Pro 7
51 stars 6 forks source link

What is working or not working #1

Closed bilaleminturker06 closed 3 months ago

bilaleminturker06 commented 12 months ago

USB-C video out (NOT WORKING, CAUSE TO REBOOT) Dual Boot with Windows (WORKING) Dual Boot with Linux (Not Tested) Dual Boot with chromeOS (Not Tested) FileVault (Not Tested) SD card (NOT WORKING. I THHINK RELEATED WITH USBMAP) Volume Buttons (WORKING) Power Button (WORKING) Sleep/Hibernation (Not Tested) Recovery (Not Tested) Battery Status (WORKING) Deep Sleep (macOS Hibernation 'Hibernatemode=25') (Not Tested) Surface Dock (Not Tested) Sound (Not working. Working with alcid=35)

balopez83 commented 11 months ago

@bilaleminturker06 Sorry it has been so long since I have posted another release. The SP7 has a couple key issues that are going to be challenging to resolve. I have made a few adjustments to fix a few of the items not working though and will post a new release soon.

It looks like Sleep/Hibernation is not working and won't currently work. I believe this is directly related to the Thunderbolt (USB-C) port. While USB-C is supported Thunderbolt is notoriously problematic on hackintoshes. I will do what I can but it is possible that this won't be able to be solved unfortunately. This also is currently the reason why video out via USB-C is also not currently working.

balopez83 commented 11 months ago

@bilaleminturker06 I have to correct myself. Apparently the SP7 does not have thunderbolt officially though the issue is still caused by the way graphics is assigned to the USB-c port. Basically, that port is not being driven properly despite what I believe is proper USB mapping. I will try a dig into it though expect this one may not be resolvable. The official Microsoft documentation states it doesn't have TB however from what I can tell it technically does have it though probably not certified TB. Either way macOS won't detect it but it does appear to be showing up as TB. This likely is the root of the last two major issues; video failure out of the USB-c and failure to hibernate.

balopez83 commented 11 months ago

@bilaleminturker06 posted release 1.0.4 which should be fairly reliable but still does have issues. USB-c video out still won't work and sleep/hibernation is still broken as well. It may take some time but I will try to resolve it.

bilaleminturker06 commented 11 months ago

@bilaleminturker06 I have to correct myself. Apparently the SP7 does not have thunderbolt officially though the issue is still caused by the way graphics is assigned to the USB-c port. Basically, that port is not being driven properly despite what I believe is proper USB mapping. I will try a dig into it though expect this one may not be resolvable. The official Microsoft documentation states it doesn't have TB however from what I can tell it technically does have it though probably not certified TB. Either way macOS won't detect it but it does appear to be showing up as TB. This likely is the root of the last two major issues; video failure out of the USB-c and failure to hibernate.

Thanks for your replies. In Badstorm repo (https://github.com/badstorm/surface-pro-7-opencore) USB-C port video out is working. I think its releated with framebuffer patch. I will injector Badstorm's framebufferpatch to your EFI, Then i will test it. I will feedback you about this issue

bilaleminturker06 commented 11 months ago

@bilaleminturker06 I have to correct myself. Apparently the SP7 does not have thunderbolt officially though the issue is still caused by the way graphics is assigned to the USB-c port. Basically, that port is not being driven properly despite what I believe is proper USB mapping. I will try a dig into it though expect this one may not be resolvable. The official Microsoft documentation states it doesn't have TB however from what I can tell it technically does have it though probably not certified TB. Either way macOS won't detect it but it does appear to be showing up as TB. This likely is the root of the last two major issues; video failure out of the USB-c and failure to hibernate.

Thanks for your replies. In Badstorm repo (https://github.com/badstorm/surface-pro-7-opencore) USB-C port video out is working. I think its releated with framebuffer patch. I will injector Badstorm's framebufferpatch to your EFI, Then i will test it. I will feedback you about this issue

It is not releated with Framebufferpatch

balopez83 commented 11 months ago

@bilaleminturker06 I'll look into it. Did you boot with badstorms EFI? If it boots can you try it and let me know if the USB-c video out works and if it does, does it have to be plugged in at boot (not after booted) or if it can be hot plugged?

I have limited time at the moment to test but if you can test it will narrow the things I need to look at to fix the issue.

Badstorms framebuffer settings are very similar to mine depending on i7 or i5 so would have been surprised if it worked but there are other things it could be and so just need to look and see. I suspect that Badstorms EFI only works if plugged in at startup and probably won't hot plug after the system is booted but would be glad to be wrong.

balopez83 commented 11 months ago

I am actually thinking it could be a boot arg that is needed or might need more stolenmem in the framebuffer patching.

bilaleminturker06 commented 11 months ago

EFI.zip here is the badstorm EFI(without airportitlmw kext because of file size) . I update its OC to 0.9.6, I updated kexts to lastest version. I replaced USBmap kext with yours, and i changed my SMBIOS infos. Now it work for me (i5 CPU). USB-C port video out is working with cold boot. I test in cold boot and normal boot. It is working. If i re-plug USB-C port video out is working too. Also it is working hot plug after the system is booted. Sorry my bad English.

balopez83 commented 10 months ago

@bilaleminturker06 Just wanted to let you know I still plan on updating this. Had so me significant things going on right now and so have had no time to look into this.

I took a quick glance and it's not immediately clear why it would work with your EFI though I suspect removing some of the extra stuff in my EFI might just resolve it. I also suspect the XOSI.ssdt and related patch may be the issue as well. I tend to avoid the XOSI ssdt since it causes issues with windows but can look into this later

bilaleminturker06 commented 10 months ago

@balopez83 Thank you very much for your message. I was worried about you when you didn't answer. Your well-being is more important than anything else. Even though I don't understand coding, I'm trying to solve it by trying other config files. However, I have not yet achieved success. My biggest problem is deep sleep. This problem causes excessive battery consumption. I'm trying on it right now. Thank you.

balopez83 commented 10 months ago

@bilaleminturker06 Well I have been struggling to figure out why my EFI won't support video out. I am throwing my hands up and throwing out my EFI to start over.

I suspect that it's possible that whatever was preventing the video out and causing the kernel panic may also be the same issue that is causing the kernel panic and failure to go to deep sleep.

I have a little time to look into this so I'll try to get this resolved or at least a little closer to being resolved if I can.

balopez83 commented 10 months ago

@bilaleminturker06 so it does not appear to be possible to get the Surface Pro 7 to hibernate or sleep with macOS. I have tried everything to get it working but it always fails. Worse, it seems that for at least the i7 variant, the screen won't even wake after the screen goes dark unless you plug in power.

If you can find an example of someone successfully getting a Surface Pro 7 to sleep I can try to add that into this repo and get a really well working and clean EFI. As of now though it seems the 10th gen with AOC is ridiculously problematic for hackintoshes from what I am seeing.

For now though, I added a new EFI release that does have additional fixes beyond what Badstorm had and now with USB-C video out working. Let me know if you find other issues or if you find some additional possible sleep fixes.

For reference I did find a few fixes on various sites below for various computers and attempted to design a fix for the SP7: https://github.com/meghan06/DellAOAC-Hotpatch https://github.com/meghan06/XPS13-73902in1#enabling-s3-sleep https://github.com/m0d16l14n1/icelake-hackintosh?tab=readme-ov-file https://github.com/grvsh02/A-guide-to-completely-fix-sleep-wake-issues-on-hackintosh-laptops https://dortania.github.io/OpenCore-Post-Install/usb/misc/instant-wake.html https://github.com/alkindivv/OC-Little-English/tree/main/OC-Little-English/01-About%20AOAC%20

For now though, I don't think I have the expertise to resolve this.

theroboben commented 10 months ago

anything you can do to get iServices working on Sonoma? allegedly you can get iServices working again by bridging the WiFi to Ethernet on a vlan but something prevents the WiFi interface from showing up on the list of bridgeable interfaces. https://github.com/chris1111/Wireless-USB-Big-Sur-Adapter/blob/master/Fix_Apple_Services.md

balopez83 commented 10 months ago

@theroboben It should work as soon as you go through the process of creating your own valid serial information. If you use the EFI as is you risk locking out your Apple account.

There are links from my readme that should get you pointed in the right direction to get a valid serial.

balopez83 commented 10 months ago

@theroboben You should not need to do anything to bridge WiFi to Ethernet. That's why I have the nulethernet kext as it resolves the Ethernet problem with iservices.

balopez83 commented 10 months ago

@theroboben Just realized my guides link to a dead page now. Try the following link to generate a valid serial and enter it into your config.plist.

You can use Propertree to add the serial. Do not use OpenCore configurator as the latest version of the app will break this EFI as this EFI is based on an older version of OpenCore.

https://www.tonymacx86.com/threads/an-idiots-guide-to-imessage.196827/

theroboben commented 10 months ago

i already generated smbios awhile back and have been copying the values from my personal efi file to yours. does the change in values defining the i7 render my config invalid to apple/do I need to regen smbios? I downgraded back from sonoma to ventura to get it to activate initially, going to try clear configs and run new serials

balopez83 commented 10 months ago

@theroboben I'll look at the EFI but I can't imagine many reasons why you would be able to activate iservices in Ventura but not Sonoma on the same i7 configuration. I left the SMBIOS section the same except for the processor type which has no relevance on iservices.

It's possible I missed something and so I'll look.

I just want to confirm that you were able to activate iservices in Ventura using the same config with no changes but not in Sonoma?

balopez83 commented 9 months ago

@theroboben I just wanted to confirm that your config that you started with was using the same computer model MacBookPro16,2? If you are using a config from another repo its possible they used a different computer model which would cause your issues with your serial information.

The latest version also turns off "Spoof Vendor" which may or may not be your issue. Try checking "Spoof Vendor" and enable it and see if that resolves your issue.

I will update another release with "Spoof Vendor" enabled which might fix your issue. This has caused some issues for some people in the past which is why its an option in OpenCore.

bad1dea commented 8 months ago

Having same issue with iServices, can sign in but iMessage and FaceTime refuse to work. Based on OpenCore post install guide it’s due to En0 missing

balopez83 commented 8 months ago

@bad1dea Did you make sure you created valid serial information and also generated a valid MAC address? Despite what it says in the guide you don't need to worry about having en0 for Ethernet as it's not relevant anymore with the patching and kexts included in this EFI.

In my experience it usually has to do with not specifying a correct MAC address and leaving it as 11:22:33:44:55:66 and/or an invalid (I.e used or reserved) serial information.

bad1dea commented 8 months ago

@balopez83 appreciate the response.

Yes I’ve generated and valid invalid serial and other things in the generic with the gensmbios tool, checked online and was good to use.

I did notice the 11:22 Ethernet adapter in the settings, I checked the plist I don’t see anywhere to set it. Could you point me in the right direction where one would edit that? I already set the "ROM" value to a valid mac (the same as the WIFI module on the SF7)

It's only iMessage/Facetime FYI - all other iCloud things work i.e Photos, Sync, KeyChain, etc.

balopez83 commented 8 months ago

@bad1dea So ROM is the right spot. It might actually help to use an Apple approved MAC. I believe the first 4 or 6 digits should be programmed as a matching Apple approved MAC and the remaining can be random. This isn't always needed though.

So my next question is, did you make any changes to ROM or any other SMBIOS information after you were already signed in? If so that's likely why it didn't fix it. Every time you make a change to any of the SMBIOS data you must make sure you completely sign out of iCloud and ensure you delete all the iCloud files in the library folders (I think I might have a guide linked from the main page but if not, google for the guide on tonymacx called something like dummies guide to iMessage or something and it works every time).

If that doesn't work it's possible there is something else weird going on. I know this EFI is still a bit of a work in progress and so it might not work perfectly with all features. Because sleep is still horribly broken on this device it's taken a little bit of a back seat to other devices and work.

I don't have the computer in front of me to check, but make sure that both nullethernet.kext and ssdt-rmne.aml active in the EFI config. They are needed to ensure that iservices work properly.

balopez83 commented 8 months ago

@bad1dea It actually occurs to me that you might be able to disable the nullethernet and ssdt-rmne and try that too but only if the previous stuff doesn't work.

I don't have a ton of time to test this device but may be able to look into this a little over the next few weeks.

balopez83 commented 8 months ago

oh see here: https://gitlab.com/wireshark/wireshark/-/raw/master/manuf

for the apple MAC addresses. This worked for me.

From the Dortania guide you referenced starting at Choose a MAC address through the section called Derive the corresponding ROM Value. This is far more reliable than using the computers actual MAC address.

Make sure you sign out of all iServices and delete all the iService files too and then reboot.

balopez83 commented 8 months ago

Didn't see this before but the information you need to "Clean out old attempts" is also on the Dortania guide and so no need to find that other guide I mentioned.

balopez83 commented 8 months ago

@bad1dea @theroboben It looks like I should not have included the nullethernet.kext and ssdt-rmne.aml kexts and ACPI patching. I also modified the PCI device as well to ensure it is built in.

Make sure you use release 1.0.7 which will be posted in a few minutes. Also you MUST run the following in terminal: sudo rm /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist and sudo rm /Library/Preferences/SystemConfiguration/preferences.plist as well as add back your SMBIOS data including your ROM. You can try using your actual MAC address though I still suggest using the Apple device MAC ID where the first 6 digits are Apple specific and the remaining are random and chosen by you.

Once this is done and you have saved your config, make sure you sign out of all iServices and completed the "Clean out old attempts" from the Dortania "fixing iMessage..." guide.

Now with all of that completed, reboot your computer.

You should be able to sign in now and have working iMessage. Good luck

bad1dea commented 8 months ago

@balopez83

Thanks again for looking into it, I've wiped and made another installer (14.3.1) with 1.0.7 OC-SF.

Set up SMBIOS (With Invalid Valid MacBookPro16,2) Serial + ROM/MAC with an Apple OUI (GenSMBIOS does this automatically).

Installed using the above on the following...

image

Copied EFI off USB to EFI on Boot Disk (Rebooted).

Signed into iCloud with settings..

image

KeyChain, Photos, Contacts, etc all sync.

However.. iMessage refuses to sign in, with just unknown error.

I did notice that wifi shows up as en0 now..

image

image

bad1dea commented 8 months ago

I didn't try anything from the PostInstall/OC Fixing iMessage stuff since this was a wipe and fresh install.

I also did this on an Optiplex 3060 and was able to get iMessage working on this, similar procedure.. obviously different OC setup and different serial.

Not sure what I'm doing wrong.

balopez83 commented 8 months ago

@bad1dea @theroboben Well I discovered the issue. It is the Intel Wireless kext. The Alpha version included in this release and possibly the most recent version does not support iMessage and FaceTime. I am going to download the most recent and see if the issue has been fixed.

bad1dea commented 8 months ago

@balopez83 I'm seeing it now in the issues there, looks like the older kext + heliport is the right path.

I plugged my iPhone in, disabled the built in WiFI on the SF7, and tethered the iPhone, and iMessage worked.. instantly.

Hopefully you manage to fix it with the other kexts and app, other than that, and the insane amount of heat the hackintosh makes for the SF7.. it'll be stellar.

balopez83 commented 8 months ago

@bad1dea the latest alpha kext for Sonoma didn't work unfortunately. So that leaves heliport or possibly an older Sonoma kext. Downside is it also looks like the kext is also likely the reason I could never get sleep functioning on the SP7 as well so we might just have to be patient till a more stable kext is released. I did manage to fix a few more things so I'll release another EFI soon once I test a few more things.

balopez83 commented 8 months ago

@bad1dea Oh and a previous post mentioned that Ventura does work so it seems Sonoma did something that broke Intel WiFi for supporting iMessage

bad1dea commented 8 months ago

@balopez83 yes I saw that as well, I guess we'll wait for them to update with fingers crossed. I'm just glad it wasn't me.

Were you testing on 14.4 or 14.3.1 -- I'll try doing what others suggested and see if I can get it working.

As well, do you know if we are able to control the fan at all? My i7 SF7 is running.. really hot to the point where thermals go off and shuts it down at idle. If I put a small fan to the back of it, it runs fine.. but obviously that's not optimal.

balopez83 commented 8 months ago

@bad1dea Technically you might be able to. I have the appropriate smc kext active but haven't tried. I did assume the surface automatically controlled the fan cause mine does spin up occasionally. It's possible though that it only spins up cause it's super hot.

I actually am still on 14.0; it looks like 14.4 is worse when it comes to the WiFi

balopez83 commented 8 months ago

@bad1dea So I was trying to see if my fan was running. It's off most of the time but mine is also really cool and never heats up to the point where the fan needs to turn on.

I wonder if it's spotlight indexing that's causing it to heat for you at idle. I'll try a couple of high demand apps and an upgrade to 14.4 to see if that will spin up the fans.

Personally I may go back to Ventura so I can make sure everything works as it should and isolate where the actual issues are pending kexts catching up to the changes in Sonoma.

bad1dea commented 8 months ago

@balopez83 I may downgrade to Ventura as well to test and see if it's more stable.

I can tell you it idles all the cpu's at 50-60, and spikes to 80-90 while being idle as well.. (just screen on), is there anything to edit via the smc?

It may just be an i7 thing as they suck. I have an i5 SF7 as well but I won't be able to test it on that for another week or two as it's in use.

I've also noticed that due to the newer FW on the boot loader of the SF, I'm unable to enroll the MOK key or get Secure Boot to work since it looks like M$ has moved the key management to their own inTune platform and does not allow you to import one via MOK at a bad key.

balopez83 commented 8 months ago

@bad1dea mines an i7 as well but for some reason mine is cool and doesn't seem to have that issue. I am starting to think this might be something to do with some of the later Sonoma versions.

So I haven't tried manually controlling the fan in forever but it's likely possible though it isn't my area of expertise. I had an older 8th gen computer that had a horrible UEFI and EMC chip with no hardware control of the fan. It literally relied on the OS to manage cooling and so the fan would never turn on. That computer required me to write an SSDT patch and assign manual scaling to EMC values. Took months to guess which two bits of the EMC were controlling the fan and also determine what value represented what temp. In addition warm boots from Windows would result in the fan working without the patch. I had to adjust the code to attempt to match Windows code otherwise my patch and the windows code in memory would keep fighting each other making it sound like cars revving their engines lol.

All of that to say, that was very time consuming and unfortunately the surface has some newer proprietary chip that's even harder to access which is why battery status only just got figured out in this last year with the BigSurface kext.

I haven't had a chance yet but I'll try a couple different versions of macOS and see if I can duplicate your issue. Just cause mine doesn't seem to be having an issue doesn't mean it's not an issue. One other user believed theirs was running hot as well so it could even be that some devices have issues depending on firmware.

I did notice the security keys were not working anymore. I'm going to see if I can get updated working ones that can be installed.

balopez83 commented 8 months ago

@bad1dea Forgot to mention. It is entirely possible that the SMBIOS may impact the heat and fan. Real Mac users complained about heat and fan on their 10th gen computers. It's possible switching to the MacBook Air SMBIOS might help but need to do some testing. It's a naturally scaled back computer so it's possible it might reduce heat with that SMBIOS even if your fan doesn't turn on. I noticed macOS thinks that it has an i5 and I believe a lot of i5 laptops stopped using fans in that Gen. not sure but Mac's might have to and that could be contributing to this issue.

bad1dea commented 8 months ago

@balopez83 ya it's a really strange. i would assume there would be some built in chip that would handle the thermals, but I guess its not that advanced. Honestly other than the sleep (which I can live without, since I can just have it shutdown) the heat (setting off thermal shutdown) and current airportilwn issue with iservices, it'd be a "perfect" travel mac tablet.

balopez83 commented 8 months ago

@bad1dea So I can confirm at least on 14.0, the fan is fully operational.

Updating to 14.4 to see if it breaks anything.

Btw noticed that my network is being identified as "hidden" even though it's not. I am curious if the same is happening for you? Perhaps it's related to whatever is causing iMessage/FaceTime to fail.

bad1dea commented 8 months ago

Yes 14.4 shows up as a hidden network (it’s not). Thanks for testing :) I’m okay with it running hot, as all i7 mobiles do, but not to the point where it’s throttling shutdown and thermostat error .

bad1dea commented 8 months ago

@balopez83 I redid it with 13.6.5 and it runs "hot" but not as hot even while syncing photos. So I think there's def things with Sonoma that's causing it to mess up.

I spoke to soon… it runs really hot and starts artifacting then thermal shutdown. Does not do it in windows. Thought it was a defective Surface but booted windows and was fine

balopez83 commented 8 months ago

@bad1dea If you have 14.4 still installed, can you run uname -r in terminal and tell me what it reads out. Having issues installing 14.4 and need to put the correct limits on the kernel version to prevent KP's with intel WiFi.

If you don't, no worries on it.

balopez83 commented 8 months ago

@bad1dea I really don't know why some machines have issues with the fan. I'll try and dig deeper but it's hard to figure it out without having it happen on my machine.

theroboben commented 8 months ago

Havent updated to the new EFI yet but have been updating the AirportItlwm Kext, iMessage started synchronizing but can't send, I am pretty sure it's some sort of iServices activation failure, some users have been able to update from Ventura to Sonoma and retain functionality so ymmv ¯_(ツ)_/¯

I've been having issues with accessories dropping out on me including mounted SD card storage

balopez83 commented 8 months ago

@bad1dea @theroboben Just added a new release. This release still has the issue with iMessage/FaceTime activation but it should resolve several other issues.

The latest EFI now supports showing the correct CPU information in macOS. While generally this should only be superficial it might actually be a bigger issue that did not allow macOS to properly control or manage thermals. No guarantees but I am hopeful this might fix your fan issues. I have tested repeatedly and at least with this release my fan is working perfectly. I hear the fan start at around 45-50 deg, goes faster around 55-60 deg, and spins very fast when it hits 70+ deg, I have not had the machine exceed 75 deg for more than a few seconds and have never exceeded 84 deg even when running high demand benchmark tests.

I am currently on 14.4 and resolved any upgrade issues in the 1.0.9 release.

I am noticing some very weird artifacts on shutdown as well though it is nothing to worry about. The graphics on the SP7 are just very compatible out of the box and even with heavy patching, there is still graphics artifacts at different times.

bad1dea commented 8 months ago

@balopez83 I'll live without iMessage/FaceTime for now and update to 14.4 to help you test - I'll flash it tonight once I get home.

bad1dea commented 8 months ago

@balopez83 you mind checking 1.0.9 release? Can’t get it to boot at all stuck at windows icon with red bar. Put 1.0.8 efi (fresh zip from GitHub) and it works.. not sure if something is wrong with 1.0.9