Jump to content

AMD issues with nVidia cards running Lion 64-bits/Mountain Lion [DON'T ASK HELP HERE, THE HELP TOPIC IS THERE FOR YOU]


175 posts in this topic

Recommended Posts

Hi Guys, first post to tell you this:

 

If you can achieve full resolution in Safe Mode with NVIDIA card, try the following with stock 10.8.2 or NVIDIA 304.00.05f02 kexts:

 

Disable (or remove from /S/L/E) GeForceGA.plugin and GeForceGLDriver.bundle, e.g. using

 

cd /S/L/E

sudo mv GeForceGA.plugin GeForceGA.plugin.dis

sudo mv GeForceGLDriver.bundle GeForceGLDriver.bundle.dis

sudo touch /S/L/E

sudo reboot

 

Doing this with my GTX 560 Ti gives me Normal Mode with Software-OpenGL, i.e. like Safe Mode, but just a bit better...

 

Phenom II x4 965 with Andy's rc4 Kernel (thanks a lot btw)

 

Background: on my system WindowServer crashes in Normal Mode because of GeforceGLDriver calling bzero$VARIANT$sse2, which in turn causes an EXC_BAD_ACCESS with KERN_INVALID_ADDRESS. This is from the first WindowServer crash log after a Normal Boot.

 

Since bzero() is just about the simplest function one can imagine, it either gets called with incorrect parameters, which would point to something bad happening inside GeforceGLDriver, or in itself creates an invalid access, which would indicate that this bzero function fails in some way. Is it possible that this "sse2 variant" fails because of the AMD kernel? Maybe cpuid related in any way?

 

Also confirmed working on Athlon with 8600GT!

 

Edit:

 

Just tried patching the GeForceGA.plugin and GeForceGLDriver.bundle.

 

./amd_insn_patcher_ext GeForceGA.plugin/Contents/MacOS/GeForceGA GeForceGAPatched

Patching universal binary (2 architectures)
Patching I386 part (processor 7, architecture 0)
Code signature removed succesfully (32bit)Patch report (1): 4 instructions patched, 0 bad instructions, patches bypassed: NO
Patching X86_64 part (processor 16777223, architecture 1)
Code signature removed succesfully (64bit)Patch report (2): 0 instructions patched, 62 bad instructions, patches bypassed: NO

 

./amd_insn_patcher_ext GeForceGLDriver.bundle/Contents/MacOS/GeForceGLDriver GeForceGLDriverPatched

Patching universal binary (2 architectures)
Patching I386 part (processor 7, architecture 0)
Code signature removed succesfully (32bit)Patch report (1): 79 instructions patched, 411 bad instructions, patches bypassed: NO
Patching X86_64 part (processor 16777223, architecture 1)
Code signature removed succesfully (64bit)Patch report (2): 0 instructions patched, 40646 bad instructions, patches bypassed: NO

 

./amd_insn_patcher_ext GeForceGLDriver.bundle/Contents/MacOS/libclh.dylib libclh.dylibPatched
Patching universal binary (2 architectures)
Patching I386 part (processor 7, architecture 0)
Code signature removed succesfully (32bit)Patch report (1): 53 instructions patched, 252 bad instructions, patches bypassed: NO
Patching X86_64 part (processor 16777223, architecture 1)
Code signature removed succesfully (64bit)Patch report (2): 1 instructions patched, 34144 bad instructions, patches bypassed: NO

 

I then replaced the orginal files with the patched ones and gave them the correct permissions.

Then i tried booting with those files, got the following kernel panic. This is in normal mode..

 

 

thYsj.jpg?2

 

 

I've also patched NVDAResman and GeForceVADriver which resulted in not getting any kernel panic but now i just get this screen.

 

 

vzP65.jpg?1

 

Link to comment
Share on other sites

Hi Guys, first post to tell you this:

 

If you can achieve full resolution in Safe Mode with NVIDIA card, try the following with stock 10.8.2 or NVIDIA 304.00.05f02 kexts:

 

Disable (or remove from /S/L/E) GeForceGA.plugin and GeForceGLDriver.bundle, e.g. using

 

cd /S/L/E

sudo mv GeForceGA.plugin GeForceGA.plugin.dis

sudo mv GeForceGLDriver.bundle GeForceGLDriver.bundle.dis

sudo touch /S/L/E

sudo reboot

 

Doing this with my GTX 560 Ti gives me Normal Mode with Software-OpenGL, i.e. like Safe Mode, but just a bit better...

 

Phenom II x4 965 with Andy's rc4 Kernel (thanks a lot btw)

 

Background: on my system WindowServer crashes in Normal Mode because of GeforceGLDriver calling bzero$VARIANT$sse2, which in turn causes an EXC_BAD_ACCESS with KERN_INVALID_ADDRESS. This is from the first WindowServer crash log after a Normal Boot.

 

Since bzero() is just about the simplest function one can imagine, it either gets called with incorrect parameters, which would point to something bad happening inside GeforceGLDriver, or in itself creates an invalid access, which would indicate that this bzero function fails in some way. Is it possible that this "sse2 variant" fails because of the AMD kernel? Maybe cpuid related in any way?

 

Right, you're looking at the right things. Bzero is not located inside the kernel though, and from what I gather it rather fails inside a memory allocation routine, and this would be inside the kernel. Besides, I already tried patching Bzero and Memset and ali. to no avail.

There is still hope, if we could find more about what really hangs that'd be a good first step.

 

gotta run, y'all take it easy folks

Link to comment
Share on other sites

Just thought id also put my findings in. My GTX 550 TI is working great in normal boot mode, still no acceleration but its a bit better. However the system locks up here and there, but I have not had any KP with this change.

Link to comment
Share on other sites

No flashes or graphics glitches here, just lag. There was "jitters" and flashes when safe booting and it would show red when bringing up the notification sidebar but since running normal boot mode it looks great...just laggy

Link to comment
Share on other sites

Hi guys,

 

I have serious problems. These problems occur for a few days is very often, it is very annoying!

After I installed and adjusted the V10.8.2 Nvidia graphics drivers for example by rob.muc, I get :

Kernel Extensions in backtrace: com.apple.AppleFSCompression.AppleFSCompressionTypeZlib problems.

before the panic comes, I get error messages and then the system collapses. The problem also occurs when I want try to install drivers or software.

IMG_5367.JPG

Link to comment
Share on other sites

I've patched up the cpuids inside NVDAResman and libclh.dylib

 

/System/Library/Extensions/GeForceGLDriver.bundle/Contents/MacOS/libclh.dylib

Is where it needs to be installed.

Appararently there is a cpuid check inside the meminit function of libclh.dylib

I've uploaded both files...

They need testing...

libclh.dylib should work, NVDAResman is an experiment.

Both are for ML 10.8.2

NVidia_Patched.zip

  • Like 1
Link to comment
Share on other sites

with NVidia_Patched.zip + V10.8.2 Driver , boot flag : npci=0x3000 -v -f

 

cant load kext.com.apple.nividia.nvGF100Hal -link failed

failed to load exrcutable for kext.com.apple.nividia.nvGF100Hal

IMG_5368.JPG

Edited by spakk
Link to comment
Share on other sites

with dylid+modified Driver+ V10.8.2 Driver , boot flag : npci=0x3000 -v -f

 

cant load kext.com.apple.nividia.nvGF100Hal -link failed

failed to load exrcutable for kext.com.apple.nividia.nvGF100Hal

And with stock NVDAResman and modified libclh?

Link to comment
Share on other sites

damn andy, your quick :D

 

2 hours ago i thought i modify the script because it doesn't work. then i went to a friend and had some sort of.... i call it a "sports cigarette" ;) ... now back here and you did it :D

 

so what does spakk's test mean? just removing the cpuid doesn't work? for my understanding, if you remove cpuid's and a function inside the binary checks if cpuid's is there, does it fail then? i mean you could just do "if cpuid is fnord then run code" .... but you could do also "if cpuid isn't there than exit"... you understand me?

 

in the past apple just checked for cpuid and, if right, then executed the code, right? maybe they changed cuz they realised it doesn't work ;)

 

sorry if the questions are bit "lowlevel", but i'm not a experienced programmer... just want to know how things work ;)

Link to comment
Share on other sites

In NVDAResman I just removed the cpuids as i couldn't trace the call and check.

In libclh I could remove both the cpuid and the check for it.

It seems Apple does an extra tamper check, yes...

Link to comment
Share on other sites

In NVDAResman I just removed the cpuids as i couldn't trace the call and check.

In libclh I could remove both the cpuid and the check for it.

It seems Apple does an extra tamper check, yes...

 

so... what can they check with cpuid? if i understand this correct they can check for everything there... so removing the cpuid doesn't work, but changing what they check could work, or?

 

for example... if cpuid = amd then execute..... so that cpuid is still there and gets a value it is satisfied with.....or? but that's really hard, or? :D

  • Like 1
Link to comment
Share on other sites

so... what can they check with cpuid? if i understand this correct they can check for everything there... so removing the cpuid doesn't work, but changing what they check could work, or?

 

for example... if cpuid = amd then execute..... so that cpuid is still there and gets a value it is satisfied with.....or? but that's really hard, or? :D

 

I think AnV means that Apple checks if the executable / binary file is original. And if not -> not working / executing it.

Link to comment
Share on other sites

hi andy.. i test your nvidia patched and success detect my gpu GT220 1024 mb with boot flag GraphicsEnabler=Yes, but the problem is to slowly or sometimes flicker/ lagg. In my case i change all of nvidia kext ML 10.8.2 with nvidia kext Lion 10.7.4 then patch like your instruction. When i combine with NVEnabler, probe fails and my gpu detected with unknown nvidia card 1024 mb but normal no flick or lagg.

 

before test with your patch my gpu : unkonwn nvidia 3 mb, sorry for my bad english..

Link to comment
Share on other sites

I think AnV means that Apple checks if the executable / binary file is original. And if not -> not working / executing it.

 

Then we need to binary patch? Like with the Atom kernel for iCloud/Facetime.

Link to comment
Share on other sites

 Share

×
×
  • Create New...