Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.
@avz , with 10.14.4 using .4 OpenGL, .4 GPUSupport and .4 GPUWrangler, I can get OpenGL acceleration (and UI transparencies) only using NDRVShim.kext , from which HighSierra version you taken those IO* and Tesla kext, 17G6030 or previous ?

And you replaced the entire HS AGC kext or only this plugin AppleGraphicsDevicePolicy.kext ?
 
@avz , with 10.14.4 using .4 OpenGL, .4 GPUSupport and .4 GPUWrangler, I can get OpenGL acceleration (and UI transparencies) only using NDRVShim.kext , from which HighSierra version you taken those IO* and Tesla kext, 17G6030 or previous ?

And you replaced the entire HS AGC kext or only this plugin AppleGraphicsDevicePolicy.kext ?

First I achieved the clamshell mode and full acceleration on 10.14.3 then I did the same on 10.14.4 and it worked as well. Keep in mind that my 10.14.4 installation already had .3 OpenCL, .3 OpenGL, .3 GPUSupport. From what I understand you are trying to do the same what I did but with the stock .4 OpenCL, .4 OpenGL, .4 GPUSupport.

Yes, High Sierra 17G6030. First I replaced only AppleGraphicsDevicePolicy.kext, but later found that using the entire HS AGC kext also seems to be working. Currently I returned to replacing only the AppleGraphicsDevicePolicy.kext. You are correct that there is probably no need to replace the entire AGC kext.
 
  • Like
Reactions: jackluke
First I achieved the clamshell mode and full acceleration on 10.14.3 then I did the same on 10.14.4 and it worked as well. Keep in mind that my 10.14.4 installation already had .3 OpenCL, .3 OpenGL, .3 GPUSupport. From what I understand you are trying to do the same what I did but with the stock .4 OpenCL, .4 OpenGL, .4 GPUSupport.

Yes, High Sierra 17G6030. First I replaced only AppleGraphicsDevicePolicy.kext, but later found that using the entire HS AGC kext also seems to be working. Currently I returned to replacing only the AppleGraphicsDevicePolicy.kext. You are correct that there is probably no need to replace the entire AGC kext.

But GeForceTesla.kext from HS 17G6030 hasn't been yet patched so you should get KPs or do you use the previous GeForceTesla.kext .

Anyway using NDRVShim.kext and replacing IOAccelerator*, IOGraphicsFamily , IONDRVSupport and AGC kext from HS , with stock .4 OpenGL, GPUSupport and GPUWrangler, 10.14.4 appears work correctly full accelerated.
 
  • Like
Reactions: avz
@avz , with 10.14.4 using .4 OpenGL, .4 GPUSupport and .4 GPUWrangler, I can get OpenGL acceleration (and UI transparencies) only using NDRVShim.kext , from which HighSierra version you taken those IO* and Tesla kext, 17G6030 or previous ?

And you replaced the entire HS AGC kext or only this plugin AppleGraphicsDevicePolicy.kext ?
Hi - I want (need) to revert to stock .4 OpenGL and .4 GPUSupport on my .4 box for reasons stated above (no post install retro patches)

I thought the whole point behind NDRVShim.kext is to implement missing functions in IONDRVSupport and IOGraphicsFamily allowing the Tesla kext to load without replacing IONDRVSupport and IOGraphicsFamily. Yet you are running .4 (gpu accelerated) with stock frameworks with Shim and HS IOGraphics and IODRVSupport etc.? Maybe I am out of step..
 
But GeForceTesla.kext from HS 17G6030 hasn't been yet patched so you should get KPs or do you use the previous GeForceTesla.kext .

Anyway using NDRVShim.kext and replacing IOAccelerator*, IOGraphicsFamily , IONDRVSupport and AGC kext from HS , with stock .4 OpenGL, GPUSupport and GPUWrangler, 10.14.4 appears work correctly full accelerated.

I used the existing GeForceTesla.kext but replaced NVDAResmanTesla.kext from HS. I put the stock GPUWrangler back as it did not seem to make any immediately noticeable difference.
 
  • Like
Reactions: webg3 and jackluke
News App is working on my MacBook 5,1 no one drive still out of commission running 10.14.4 just fine
 

Attachments

  • Screen Shot 2019-04-06 at 9.15.51 AM.png
    Screen Shot 2019-04-06 at 9.15.51 AM.png
    440.6 KB · Views: 204
  • Like
Reactions: webg3 and K two
So I took a deeper dive into the actual changes from OpenGL .3 : the new code also affects gl context creation and library initialization. Side effects may occur when GL selects a pixel format (or can't) which is critical.

While News also runs fine on my mbp 5,3 on .4 with the full set of retro gpu patches, selecting News+ consistently crashes the application. One of the most consistent crashes on this configuration. Very reproducible. In fact the app crash is so bad that I often have to reboot the machine. So I dove into this a little deeper thinking this may (yet again) be OpenGL related:

Code:
Thread 13 Crashed:: Dispatch queue: com.apple.root.user-initiated-qos

0   com.apple.CoreImage               0x00007fff4ec551f7 CI::GLContext::init() + 299
1   com.apple.CoreImage               0x00007fff4ec5450c CI::GLContext::GLContext(CI::GLContext::ShareContextInfo, CGColorSpace*, CGColorSpace*, CI::PixelFormat, bool, unsigned long, bool, bool) + 56
2   com.apple.CoreImage               0x00007fff4ec54176 +[CIContext(Internal) internalContextWithCGLContext:pixelFormat:options:] + 1290
3   com.apple.CoreImage               0x00007fff4ec2c08e -[CIContext initWithOptions:] + 1109
4   com.apple.CoreImage               0x00007fff4ecb8260 +[CIContext contextWithOptions:] + 50
5   com.apple.UIKitCore               0x000000010b566a29 -[UIImage drawInRect:blendMode:alpha:] + 1285
6   com.apple.TeaUI                   0x000000010961efc3 0x109568000 + 749507
7   com.apple.NewsFeed                0x00000001090cbf24 0x108f60000 + 1490724
8   com.apple.NewsFeed                0x00000001090ca953 0x108f60000 + 1485139

The crashed thread clearly points to GLContext as the culprit. I dissected the new .4 and .5 OpenGL binaries and clearly Apple modified the code that creates a new context, initializes libraries and chooses the right pixel format for its buffers (very critical). It is extremely likely that the .4 News App (and the News+ functionality specifically) relies on the .4 OpenGL environment in general.

Bottom line, I believe the GL retro-patches may restore some level of acceleration, but is incompatible with newer Apps like News (and possibly some aspects of Safari 12.1). This would account for the miserable experience some (most?) are having with .4.

It all starts to make sense given that News was one of the major Apple announcement last month: OpenGL (and probably many other libraries and frameworks) was modified to support the new direction. Leaving us in its dust. Pushing forward to .5 betas with an already unreliable graphics platform may not be the right path. This is not good...



Just a note on Safari and AppleNews running under 10.14.4 on machines with dual GPUs.

I have a MacBookPro 5,2 with dual Nvidia GPUs; an NVIDIA GeForce 9600M GT 512 MB, and
NVIDIA GeForce 9400M 258 MB. I can switch between those two cards manually only (no auto-switching)

If you refer to post #13528, you will glimpse a short expose of my experience with the Nvidia 9400M GPU 258 MB card. In short, launching Safari brings near immediate kernel panics, and global instability, until rebooted.

I experimented with the 258MB GPU because many have MacBooks with said card, or similar, and reported serious problems as well.

When using NVIDIA GeForce 9400M 258 MB, I was able to launch many programs without any issues, that included GIMP, iTines, LibreOffice (including powerpoint-like program), photos; none caused problems.

However, when I launched Apple-News the CPU begun to act as if Safari had been in launched; panics, reboots.

Possibly Safari and AppleNews share some common frameworks, and hence induce similar and immediate instability. The News application actually displayed fine on the screen, until panics started.

I had to reset parameter RAM, because post News induced panic (pun intended), I could boot only to black screen, which would remain that way until log-in window. Once logged onto desktop, the system remained incredibly unstable.

None of the problems experienced with NVIDIA GeForce 9400M 258 MB occur when running NVIDIA GeForce 9600M GT 512 MB. Others have mentioned similar results.

Hence, if someone has a Mac with the NVIDIA GeForce 9400M 258 MB, or dual GPU with automatic switching, it may still be possible to run most applications under 10.14.4, but stay away from Safari and AppleNews app; launching either one will case serious problems. Firefox (developer edition) runs perfectly under either card.

Hope this may be of help.
 

Attachments

  • Screen Shot 2019-04-06 at 09.51.29 .png
    Screen Shot 2019-04-06 at 09.51.29 .png
    54.4 KB · Views: 179
  • Screen Shot 2019-04-06 at 09.52.33 .png
    Screen Shot 2019-04-06 at 09.52.33 .png
    15.4 KB · Views: 183
Last edited:
Hi - I want (need) to revert to stock .4 OpenGL and .4 GPUSupport on my .4 box for reasons stated above (no post install retro patches)

I thought the whole point behind NDRVShim.kext is to implement missing functions in IONDRVSupport and IOGraphicsFamily allowing the Tesla kext to load without replacing IONDRVSupport and IOGraphicsFamily. Yet you are running .4 (gpu accelerated) with stock frameworks with Shim and HS IOGraphics and IODRVSupport etc.? Maybe I am out of step..

Yes and it works even from a Dual GPUs macbook, but I guess using the stock .4 GL frameworks doesn't change things so much, since the issue on Flurry screensaver still persists, I take Flurry as an example of incompatibility, but it extends also to other third party apps that use GLContext UI rendering.
[doublepost=1554570397][/doublepost]
I used the existing GeForceTesla.kext but replaced NVDAResmanTesla.kext from HS. I put the stock GPUWrangler back as it did not seem to make any immediately noticeable difference.

Infact you can use the GPUWangler from 10.14.4 even for .5 beta1 if required.
 
  • Like
Reactions: avz
Just a note on Safari and AppleNews running under 10.14.4 on machines with dual GPUs.

I have a MacBookPro 5,2 with dual Nvidia GPUs; an NVIDIA GeForce 9600M GT 512 MB, and
NVIDIA GeForce 9400M 258 MB. I can switch between those two cards manually only (no auto-switching)

If you refer to post #13528, you will glimpse a short expose of my experience with the Nvidia 9400M GPU 258 MB card. In short, launching Safari brings near immediate kernel panics, and global instability, until rebooted.

I experimented with the 258MB GPU because many have MacBooks with said card, or similar, and reported serious problems as well.

When using NVIDIA GeForce 9400M 258 MB, I was able to launch many programs without any issues, that included GIMP, iTines, LibreOffice (including powerpoint-like program), photos; none caused problems.

However, when I launched Apple-News the CPU begun to act as if Safari had been in launched; panics, reboots.

Possibly Safari and AppleNews share some common frameworks, and hence induce similar and immediate instability. The News application actually displayed fine on the screen, until panics started.

I had to reset parameter RAM, because post News induced panic (pun intended), I could boot only to black screen, which would remain that way until log-in window. Once logged onto desktop, the system remained incredibly unstable.

None of the problems experienced with NVIDIA GeForce 9400M 258 MB occur when running NVIDIA GeForce 9600M GT 512 MB. Others have mentioned similar results.

Hence, if someone has a Mac with the NVIDIA GeForce 9400M 258 MB, or dual GPU with automatic switching, it may still be possible to run most applications under 10.14.4, but stay away from Safari and AppleNews app; launching either one will case serious problems. Firefox (developer edition) runs perfectly under either card.

Hope this may be of help.
Yes it does. Thanks. My Safari 12.1 has been stable (to date). News+ crashes consistently no matter which NVIDIA GPU I switch to (just checked).
[doublepost=1554571131][/doublepost]
Yes and it works even from a Dual GPUs macbook, but I guess using the stock .4 GL frameworks doesn't change things so much, since the issue on Flurry screensaver still persists, I take Flurry as an example of incompatibility, but it extends also to other third party apps that use GLContext UI rendering.
This is all mind bending...Does your News+ work with the stock .4 OpenGL environment? I think staying closer to stock (fewer retro-patches) is the path going forward to .5 and beyond. Otherwise we risk piling instability on top of instability...Apple will surely adapt more and more apps for the new framework tweaks and we'll be chasing our tails...
[doublepost=1554571241][/doublepost]
on my MacBook 5,1 I am running 10.14.4 on my iMac 9,1 I am running 10.14.2
Try clicking News+ in News and see what you get.
 
Yes it does. Thanks. My Safari 12.1 has been stable (to date). News+ crashes consistently no matter which NVIDIA GPU I switch to (just checked).
[doublepost=1554571131][/doublepost]
This is all mind bending...Does your News+ work with the stock .4 OpenGL environment? I think staying closer to stock (fewer retro-patches) is the path going forward to .5 and beyond. Otherwise we risk piling instability on top of instability...Apple will surely adapt more and more apps for the new framework tweaks and we'll be chasing our tails...
[doublepost=1554571241][/doublepost]
Try clicking News+ in News and see what you get.

Haven't tried yet News+ with .4 OpenGL , let you know in few minutes, but since Flurry still crashes I believe also News+ will crash.

Now my external 10.14.4 is busy, cannot test, will report soon the almost certainly News+ crash.
 
Yes it does. Thanks. My Safari 12.1 has been stable (to date). News+ crashes consistently no matter which NVIDIA GPU I switch to (just checked).
[doublepost=1554571131][/doublepost]
This is all mind bending...Does your News+ work with the stock .4 OpenGL environment? I think staying closer to stock (fewer retro-patches) is the path going forward to .5 and beyond. Otherwise we risk piling instability on top of instability...Apple will surely adapt more and more apps for the new framework tweaks and we'll be chasing our tails...
[doublepost=1554571241][/doublepost]
Try clicking News+ in News and see what you get.
it crashed :(
 
Hello everyone,

could someone tell me how to remove all the dosdude patches completely? I used to run Mojave on a MacBook Pro 2009 but now I got a more recent machine that is capable of running Mojave without patching. I just migrated my backup from the 2009 machine and of course the dosdude patch was migrated along. What is the best way of removing all the patcher items completely? Unpatched Mojave seems to be running fine and I don't think that some system level files were migrated to compromise my installation, but I would like to make sure that the patch is removed completely.

Thanks a lot for your help! It's been a great ride with the patches from dosdude and we might meet again once Apple declares my current machine (2012 Macbook Pro 13 inch) old-fashioned.
 
it crashed :(
Yup. Some new .4 apps/ applets/features require the .4 GL environment to work reliably. The list will grow with macOS updates...

I'm going to try and duplicate @jackluke 's configuration. Using the .3 OpenGL and GPUSupport on .4 doesn't make me fool good. Otherwise my mbp 5,3 will stick to 10.14.3 for a while.
[doublepost=1554572693][/doublepost]
I believe News+ is a paid subscription. I suppose you need to pay for it first?
Without subscribing News+ runs great on a supported Mac (you at least get the "home" page). The UI has a slightly different look and feel.
 
Yup. Some new .4 apps/ applets/features require the .4 GL environment to work reliably. The list will grow with macOS updates...

I'm going to try and duplicate @jackluke 's configuration. Using the .3 OpenGL and GPUSupport on .4 doesn't make me fool good. Otherwise my mbp 5,3 will stick to 10.14.3 for a while.

I need a bit more time for 10.14.4 News+ .4 OpenGL accelerated test while can confirm indeed that News+ from News.app does work with no crashes from 10.14.5 beta1 without OpenGL acceleration and with .5 OpenGL framework but I assume it will work even with .3 OpenGL.

Later I'll edit this post and post pictures.

I launched News app in this way from Terminal:
cd /App*/News.app/C*/M*/
./News
 

Attachments

  • Screenshot 2019-04-06 at 20.02.48.png
    Screenshot 2019-04-06 at 20.02.48.png
    680.5 KB · Views: 197
Last edited:
Yup. Some new .4 apps/ applets/features require the .4 GL environment to work reliably. The list will grow with macOS updates...

I'm going to try and duplicate @jackluke 's configuration. Using the .3 OpenGL and GPUSupport on .4 doesn't make me fool good. Otherwise my mbp 5,3 will stick to 10.14.3 for a while.
[doublepost=1554572693][/doublepost]
Without subscribing News+ runs great on a supported Mac (you at least get the "home" page). The UI has a slightly different look and feel.
Wish there was a way to lock down the patched frameworks etc once everything gets working again to keep from being overwritten by the updates :)
[doublepost=1554575173][/doublepost]
Hello everyone,

could someone tell me how to remove all the dosdude patches completely? I used to run Mojave on a MacBook Pro 2009 but now I got a more recent machine that is capable of running Mojave without patching. I just migrated my backup from the 2009 machine and of course the dosdude patch was migrated along. What is the best way of removing all the patcher items completely? Unpatched Mojave seems to be running fine and I don't think that some system level files were migrated to compromise my installation, but I would like to make sure that the patch is removed completely.

Thanks a lot for your help! It's been a great ride with the patches from dosdude and we might meet again once Apple declares my current machine (2012 Macbook Pro 13 inch) old-fashioned.
The only way I know is doing a clean install you can still use the Mojave Patcher to install MacOS Mojave just don't apply the post install patches
 
@ASentientBot Is it possible to rebuild NVDAResmanTesla.kext so it no longer relies on Gestalt which is injected by NDRVshim? Shouldn't that be a clean(er) approach to supporting gpu acceleration on our dual-gpu nvidia machines with .4 GL support.

@jackluke 's .4 accelerated machine uses shim + a set of HS IONDRVSupport etc.. Just trying to avoid going back to HS kexts and libraries... Am I even making sense?
 
  • Like
Reactions: ASentientBot
@ASentientBot Is it possible to rebuild NVDAResmanTesla.kext so it no longer relies on Gestalt which is injected by NDRVshim? Shouldn't that be a clean(er) approach to supporting gpu acceleration on our dual-gpu nvidia machines with .4 GL support.

@jackluke 's .4 accelerated machine uses shim + a set of HS IONDRVSupport etc.. Just trying to avoid going back to HS kexts and libraries... Am I even making sense?

Yes, but the set of HS you use must be from the same HS build, I've tried mixing but getting no acceleration, so also the GeForceTesla*, NVDAResmanTesla, NVDANV50HalTesla must be from the the same build, I replaced the entire AppleGraphicsControl.kext also from the same build, and moreover the IOAccelerator2D.plugin and IOAcceleratorFamily2.kext from the same HS build.

Still can't test from 10.14.4 News+ app, but without Acceleration only framebuffer it worked, as Siri oscilloscope animation and Flurry screensaver.

About NvidiaTesla I don't think acceleration issue depend from "Gestalt" symbol.
 
Last edited:
@ASentientBot Is it possible to rebuild NVDAResmanTesla.kext so it no longer relies on Gestalt which is injected by NDRVshim? Shouldn't that be a clean(er) approach to supporting gpu acceleration on our dual-gpu nvidia machines with .4 GL support.

@jackluke 's .4 accelerated machine uses shim + a set of HS IONDRVSupport etc.. Just trying to avoid going back to HS kexts and libraries... Am I even making sense?
NDRVShim seems like a sufficiently clean solution to me. It just provides a stub function to prevent linker errors; it doesn't do anything else or require any other kexts. Patching references to it out of NVDAResmanTesla.kext could cause other issues and wouldn't fix anything.
 
@pkouame, tested right now, 10.14.4 full accelerated with HS previous kexts and stock .4 GPUSupport, OpenGL and GPUWrangler, News app does crash when select "News+" menu.

I launched from Terminal "./News" and I noticed it uses a
/System/iOSSupport/System/Library/PrivateFrameworks/
NewsUI.framework

However News+ doesn't crash if I delete or rename the GL kext.
[doublepost=1554583783][/doublepost]
NDRVShim seems like a sufficiently clean solution to me. It just provides a stub function to prevent linker errors; it doesn't do anything else or require any other kexts. Patching references to it out of NVDAResmanTesla.kext could cause other issues and wouldn't fix anything.

@ASentientBot I followed your great tutorial but I only succeeded in patching GeForceTesla binary with your early first method NOP the IONVGLContextTesla::clientClose leaving only "ret", it works but after 2-3 hours acceleration is slower, can't get working with your second fix with nvVirtualAddressSpaceTesla::free, I mean I don't know exactly which zone to NOP.

When you can please fix this attached, with your second method, it is an untouched kext, from the latest HighSierra update 2019-002 with apple original "touch" date.
 

Attachments

  • GeForceTesla2019002.zip
    374.3 KB · Views: 190
Last edited:
NDRVShim seems like a sufficiently clean solution to me. It just provides a stub function to prevent linker errors; it doesn't do anything else or require any other kexts. Patching references to it out of NVDAResmanTesla.kext could cause other issues and wouldn't fix anything.
I have a shim kext in my patched .4 and don't know why it's installed by the patcher since IONDRVSupport and IOGraphicsFamily are both Mojave versions which don't reference (or need) Gestalt at all. So I thought the only reason for its existence would be the Tesla kexts. Thought I read a reference to that a long while ago...That's why I asked.
[doublepost=1554585391][/doublepost]
@pkouame, tested right now, 10.14.4 full accelerated with HS previous kexts and stock .4 GPUSupport, OpenGL and GPUWrangler, News app does crash when select "News+" menu.

I launched from Terminal "./News" and I noticed it uses a
/System/iOSSupport/System/Library/PrivateFrameworks/
NewsUI.framework

However News+ doesn't crash if I delete or rename the GL kext.
[doublepost=1554583783][/doublepost]

@ASentientBot I followed your great tutorial but I only succeeded in patching GeForceTesla binary with your early first method NOP the IONVGLContextTesla::clientClose leaving only "ret", it works but after 2-3 hours acceleration is slower, can't get working with your second fix with nvVirtualAddressSpaceTesla::free, I mean I don't know exactly which zone to NOP.

When you can please fix this attached, with your second method, it is an untouched kext, from the latest HighSierra update 2019-002 with apple original "touch" date.
Interesting. Would you have the News crash log by the way? Is it crashing in the same place (gl context calls) in your configuration?
 
I have a shim kext in my patched .4 and don't know why it's installed by the patcher since IONDRVSupport and IOGraphicsFamily are both Mojave versions which don't reference (or need) Gestalt at all. So I thought the only reason for its existence would be the Tesla kexts. Thought I read a reference to that a long while ago...That's why I asked.
[doublepost=1554585391][/doublepost]
Interesting. Would you have the News crash log by the way? Is it crashing in the same place (gl context calls) in your configuration?

Yes crashing in same way, moreover there are many /System/iOSSupport/System/Library/PrivateFrameworks/ in backtrace, you can explore that path and notice many new frameworks, I didn't noticed them before.

Now I'm again on .5 beta1 , where News+ doesn't crash more, weirdly.
 
  • Like
Reactions: pkouame
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.