kgp
Retired
- Joined
- May 30, 2014
- Messages
- 6,743
- Motherboard
- ASUS WS X299 Sage 10G
- CPU
- i9-7980XE
- Graphics
- Vega 64
- Mac
- Mobile Phone
I don't know if posting links to that other forum is allowed but I have solved the problem many are having with the 10.13 WebDriver with a bit of debugging and posted my findings over there.
Just in case linking ist verboten I will reproduce it verbatim here:
Ok. I think I have found the reason for my WindowServer failing to start after installing the 10.13 WebDriver. And it has nothing to do with AGDP.
Note that NVWebDriverLibVal patches the system call to _csfg_get_platform_binary to trick macOS into thinking Nvidia's kexts are platform binaries, and that the motivation for this was to fix transparency issues with a few apps such as LittleSnitch that required this.
It was never a showstopper to boot to desktop.
Well that seems to have changed with AppleMobileFileIntegrity fixes that were likely added to address a well publicised dylib hijacking exploit combined with the new bundle packaging for Nvidia's WebDriver. Basically it would seem from the log that if the mapping process for the dylib load is a platform binary, then the loaded library must also be a platform binary or the library won't be loaded. In my case this is stopping the Nvidia MTLDriverWeb from loading which causes the WindowServer to crash because it has no MTL device to draw to.
This means that while decorating _csfg_get_platform_binary using NVWebDriverLibVal or similar (NvidiaGraphicsFixup trunk does the same thing) was previously optional it seems to be a requirement on High Sierra with Nvidia's WebDriver. This might explain why the former kext made the difference for @fabiosun.
What I don't understand is how the WebDriver works for real Macs. Could it be related to the WebDriver package installation error message that people keep saying to ignore? Does the WebDriver installer behave differently with SIP defaulted so as to use separate kexts instead of bundles?
I don't know but I will test with a _csfg_get_platform_binary hijacking patch to see if that fixes my black screen and let you know.
Code:2017-10-04 19:37:21.693895+0000 0x7cc6 Error 0x0 0 kernel: (AppleMobileFileIntegrity) Library Validation failed: Rejecting '/System/Library/Extensions/GeForceMTLDriverWeb.bundle/Contents/MacOS/GeForceMTLDriverWeb' (Team ID: 6KR3T733EC, platform: no) for process 'WindowServer(1342)' (Team ID: none, platform: yes), reason: mapping process is a platform binary, but mapped file is not 2017-10-05 05:37:21.694216+1000 0x7cc6 Default 0x0 1342 WindowServer: (CoreFoundation) Error loading /System/Library/Extensions/GeForceMTLDriverWeb.bundle/Contents/MacOS/GeForceMTLDriverWeb: dlopen(/System/Library/Extensions/GeForceMTLDriverWeb.bundle/Contents/MacOS/GeForceMTLDriverWeb, 265): no suitable image found. Did find: 2017-10-05 05:37:21.694610+1000 0x7cc6 Default 0x0 1342 WindowServer: (CoreDisplay) [WARN] - No metal device for accelerator 0x357f
@dwhitla, could you please attach the already compiled version of NvidiaGraphicsFixup v1.2.1 and Lilu 1.2.0? I would like to attach these files and explain in the graphics section your reasoning you already detailed on InsanelyMac. By the way, where did you get NvidiaGraphicsFixup v1.2.1 from?
Many thanks in advance
KGP