• OS
  • Who used the Amulet hotkey kernel driver to disable dithering?

Before describing the possible methods to disable dithering on AMD Radeon graphics card, it would be interesting to hear your experience with the Amulet hotkey kernel driver.

I have at least two different ideas how to disable dithering on AMD graphics cards. Today I faced with Amulet and decided to reverse it. Surprisingly, I figured out that Amulet uses exactly the same approach which I keep in mind.

I want to warn in advance, the solution will work only if the AMDFramebuffer or ATIFramebuffer is your active framebuffer.

BTW, Amulet is currently broken. You can load it but it will not work because AMDFramebuffer class was changed (added new function) and, hence, offset to the virtual function is broken.

It is necessary to patch it in two places to have correct offset.

Patched amulet kext gives me such output:

2023-01-22 0x278      Default     0x0                  0      0    kernel: (ahkinject) AHKinject: attempting to disable dithering on AMDFramebuffer

2023-01-22 0x278      Default     0x0                  0      0    kernel: (ahkinject) AHKinject: found a service

2023-01-22 0x278      Default     0x0                  0      0    kernel: (ahkinject) AHKinject: successfully set attribute on connection 0

2023-01-22 0x278      Default     0x0                  0      0    kernel: (ahkinject) AHKinject: found a service

2023-01-22 0x278      Default     0x0                  0      0    kernel: (ahkinject) AHKinject: successfully set attribute on connection 0

2023-01-22 0x278      Default     0x0                  0      0    kernel: (ahkinject) AHKinject: found a service

2023-01-22 0x278      Default     0x0                  0      0    kernel: (ahkinject) AHKinject: successfully set attribute on connection 0

dev