Very excited by this prospect JTL - it could make a big difference to a lot of people's lives if you could work it out. I no longer use Macbooks I'm afraid, had to chop them out my life!
OSX dithering - Help wanted
- Edited
I think the best goal would be for me to develop a new NVinject of sorts that does IORegistry injection, but works with newer OS X versions and 64-bit, etc.
If you disable SIP it let's the kext be fully used without signing (which costs $100 a year) so this is good for testing. If we have a full version that works and we know it I can just pony up the $100 to make an easy-to-use signed version.
Also I was looking through the AMD kexts and saw something interesting.
jtl-macbookpro:Apple kexts jtl$ strings AMDSupport |grep AAPL
AAPL,slot-name
AAPL%02X,
AAPL,gray-value
AAPL00,T1
AAPL00,T2
AAPL00,T3
AAPL00,T4
AAPL00,T5
AAPL00,T6
AAPL00,T7
AAPL00,LinkFormat
AAPL00,PixelFormat
AAPL00,Dither
[sic]
Now if we check the NVinject's Info.plist
<key>entriesToAdd</key>
<dict>
<key>AAPL01,Dither</key>
<data>
AAAAAQ==
</data>
</dict>
So there is a difference.
@vinkenvvt I remember you did something with Clover EFI and it didn't work, which one was that?
This is interesting
I made a simple kext that logs to the console app. It works.
151 0 0xffffff7f83e63000 0x2000 0x2000 ca.teamclassified.testkext (1) 194C7603-9A67-39C4-A95B-C1D7780658B8 <4>
2017-09-13 17:23:36.000 kernel[0]: TestKext has loaded
Good work JTL, sounds like progress of some kind. Any joy with the AAPL00 / AAPL01 thing?
Looks like I got the KEXT injector working on El Capitan
Can't speak for the dithering part though.
Should work:
- AMD
- NVIDIA
Probably won't work without patching
- Any Intel Graphics chip
martin The dithering itself hasn't been fixed.
All that's been done is I managed to sort out the KEXT injection itself. Still some way to go.
If I get a second computer setup (doesn't necessarily have to be a Mac I can do live debugging which should let me check if the dithering is being turned off by the driver, etc.)
If anyone has an OS X machine with an Nvidia GPU and possibly has dithering "sensntivity" I might have a working Nvidia injector working for you on short notice. No promises though.
Gurm Well. I don't think that's going to be an issue.
Unlike nVidia Optimus the switchable graphics on Macbooks are fundamentally different. According to an Apple display engineer I spoke with a number of years ago the switchable graphics works via a "mux chip" that's hooked up to the display and the output of the nVidia and Intel cards. It has a driver on OS X that "signals it" to switch cards when needed and it completely disconnects the screen from the Intel card and "connects it" to the nVidia card. And before you say "Well the screen doesn't turn off when switching cards". That's probably because it switches so fast it just drops a frame or two. This is 100% confirmed under Linux with raw I/O access.
Nice. What I meant was more along the lines of ... there used to be an app that let us tell the machine to ONLY use nVidia, that doesn't work under newer versions of OSX. So we'll have to figure out a way to not have it switch back to Intel.
- Edited
Gurm gfxCardStatus Ah. Can't really help you there. I still use El Capitan. Works for me.
All I'm willing to say at this time publicly is that some major technical hurdles have been overcome, with regards to the framework needed for injecting the code for disabling the dithering in the AMD/Nvidia kexts under OS X, but it's not done yet.
diop Will Intel be a possibility in the future? Or could the ditherig tool be ported over to OS X?
If someone makes a Linux version of the dithering tool, it might be possible for it to work under OS X. Again, not making any promises here.
Looks like a UK Apple Service Provider either re-sell or are involved with AHK as I discovered this post.
Link: https://www.jigsaw24.com/news/amulet-hotkey-fix-temporal-dithering-for-latest-macos
"If you're using Amulet Hotkey for KVM over IP, be warned that installing the latest version of macOS on your endpoints automatically re-enables temporal dithering.
This vastly increases the amount of information you're forced to handle over IP and, as a result, will have a negative impact on the quality of your image.
Happily, Amulet Hotkey are already aware of the issue, and have released a kernel extension that allows you to disable temporal dithering at the driver level, regardless of which version of macOS you're running. (If you're running an earlier version of macOS or OS X, the fix should already be in place – contact us if you find this isn't the case.)
The usual caveats apply: the fix will only work with Amulet hardware and software, not with that from third parties; the kext itself is not available publicly – in a delightfully cloak-and-dagger scenario, you need to get in touch with our team on the details below, and they'll send you a temporary download link and instructions for how to install it."