It's not empty. It's using more than one line. Use a text editor like BBEdit.app to look at it. It looks like this:Hey Joevt, thanks a lot for posting your kext. However, in the containg info.plist, the entry forIOPCIMatch
ist just empty.
<key>IOPCIMatch</key>
<string>
0x17c210de&0xffffffff
0x220410de&0xffffffff
</string>
&0xffffffff
can be excluded because that's the default (0xffffffff matches every bit).In my Info.plist, I guess it would be added like this:After researching the format for this entry, this should be0x220610de
for the RTX 3080, correct? ("2206" for the RTX 3080, "10de" for NVIDIA). So I entered this value,
<key>IOPCIMatch</key>
<string>0x17c210de 0x220410de 0x220610de</string>
but the kext does not seem being loaded:
Have also attached my current (edited) info.plist version. Any help greatly appreciated!
source ~/Downloads/KextUtil.sh
installkext FakeNvidia.kext
rebuildkextcache
Ah, yes you are right. Opened it first in XCode so I did not see this. OK, so I left the existing entries, and added another one for the 3080, like so:It's not empty. It's using more than one line. Use a text editor like BBEdit.app to look at it. It looks like this:
The mask ofCode:<key>IOPCIMatch</key> <string> 0x17c210de&0xffffffff 0x220410de&0xffffffff </string>
&0xffffffff
can be excluded because that's the default (0xffffffff matches every bit).
<string>
0x17c210de&0xffffffff
0x220410de&0xffffffff
0x220610de&0xffffffff
</string>
Yes, am using Catalina. But no matter what install method I use (also tried your script), the kext is accepted for inclusion in the cache, but not loaded. Also I have the following console message when I try to manually load the kext:Are you using Catalina? I use the attached script to install the kext:
then restart.Code:source ~/Downloads/KextUtil.sh installkext FakeNvidia.kext rebuildkextcache
standard 16:15:23.049216+0100 kernel Notice - new kext com.joevt.driver.FakeNvidia, v1.0.1 matches prelinked kext but can't determine if executables are the same (no UUIDs).
Kext with invalid signature (-67062) allowed: <OSKext 0x7f9f857ef600 [0x7fff88f5bcc0]> { URL = "file:///Library/Extensions/FakeNvidia.kext/", ID = "com.joevt.driver.FakeNvidia" }
Yes, totally! I.e. fans shut off completely with no noise coming from the machine anymore. Will now try if automatic sleep also works, but manual does definetly. I just tried it several times, and it works perfectly, also wakes up pretty fast (hwoever, taking it into full sleep seems to take a bit longer than before, you might need to wait a bit)Haha, one second faster than you Does yours "really" sleep?
pmset -g assertions
gives me the following:Idle sleep preventers: IODisplayWrangler
kextstat doesn't show codeless kexts because a codeless kext points at a different binary for the code. In this case, we are using the binary that includes the IOService driver, which is the base for all other drivers. The binary is com.apple.kpi.iokit.But still: kextstat | grep -v com.apple does not yield a result.
Yes,Edit2: so there is another hint that this is actually working, just look at the ioRegistryExplorer (screen attached)
ioreg -rn FakeNvidia
will tell you if it got loaded.There must be some driver that is modifying the properties of the GPU device without attaching to the GPU device (for example, the name is changed to "display", and there's properties like "connector-type", "hda-gfx", and "NVDAType").Update: while manual sleep works, automatic sleep does apparently not, i.e. only invoking display sleep (but also being able to wake from it). Issuingpmset -g assertions
gives me the following:
Not sure if this is due to the FakeNVIDIA kext. Any ideas?Code:Idle sleep preventers: IODisplayWrangler
/System/Library/Extensions/AppleGraphicsControl.kext/Contents/MacOS/AGDCDiagnose -a
OK, understood - thanks. And by the way... thanks for all your support, you have been of great help!Yes, ioreg -rn FakeNvidia will tell you if it got loaded.
ioreg -rn FakeNvidia
+-o FakeNvidia <class IOService, id 0x100000aae, !registered, !matched, act$
{
"IOProbeScore" = 30000
"CFBundleIdentifier" = "com.apple.kpi.iokit"
"IOProviderClass" = "IOPCIDevice"
"IOClass" = "IOService"
"IOMatchCategory" = "IOFramebuffer"
"IOPCIMatch" = " 0x17c210de&0xffffffff 0x220410de&0xffffffff $
"IOName" = "FakeNvidia"
"IOPersonalityPublisher" = "com.joevt.driver.FakeNvidia"
"CFBundleIdentifierKernel" = "com.apple.kpi.iokit"
}
TypeOK, understood - thanks. And by the way... thanks for all your support, you have been of great help!
What do you make of this though? It says !registered and !matched... (but obviously it somehow worked)
Code:ioreg -rn FakeNvidia +-o FakeNvidia <class IOService, id 0x100000aae, !registered, !matched, act$ { "IOProbeScore" = 30000 "CFBundleIdentifier" = "com.apple.kpi.iokit" "IOProviderClass" = "IOPCIDevice" "IOClass" = "IOService" "IOMatchCategory" = "IOFramebuffer" "IOPCIMatch" = " 0x17c210de&0xffffffff 0x220410de&0xffffffff $ "IOName" = "FakeNvidia" "IOPersonalityPublisher" = "com.joevt.driver.FakeNvidia" "CFBundleIdentifierKernel" = "com.apple.kpi.iokit" }
ioreg
. You can see that many entries are not registered and not matched.registered, matched
!registered, !matched
Yep. You're totally right. The fan noise is simply to tame the excellent scaled CPU usage. It looks and plays beautifully on this setup. I'm getting a buttery smooth 60fps (v-sync) at 4K resolution (with Digital Foundry settings).The Mac Pro's fans ramp up during Cyberpunk but it's not because of the RTX, it's because of the CPU. It's one of the few games that scales well to multiple cores and with ray tracing involved (which also uses multiple threads) it gets the CPU to toasty temperatures. My 16 core Mac Pro hovers around 40% CPU usage, all nicely divided between the cores, and the CPU gets to around 70 celsius.
That being said, I just don't care about the fan noise for this particular game. Sometimes the game is absolutely breathtaking. I'm playing all paths simultaneously on an Xbox Series X, PS5 and the Mac Pro (yeah, I'm that much of a nerd). Ray tracing makes a huge difference and I'm getting a consistent 60FPS only on the Mac (the consoles bog down in some parts of the game, even with much lower graphical settings).
Yep. You're totally right. The fan noise is simply to tame the excellent scaled CPU usage. It looks and plays beautifully on this setup. I'm getting a buttery smooth 60fps (v-sync) at 4K resolution (with Digital Foundry settings).
PS. Since installing Amphetamine (Mac App) I haven't had a single issue with sleep issues/black screen of death under macOS.