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]

AMD nVidia GeForce Mountain Lion Lion 64-bits hackintosh legacy kernel QE/CI

  • Please log in to reply
174 replies to this topic

#21
rob.muc

rob.muc

    InsanelyMac Protégé

  • Members
  • Pip
  • 1 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?

#22
theconnactic

theconnactic

    Stubborn AMD user

  • Local Moderators
  • 2,894 posts
  • Gender:Male
Hi, Rob!

Your workaround worked, thank you very much indeed. It's a relief to boot normally, even to a system that's not fully working. About the cpuid issues: well, i found quite a lot of cpuid instructions by disassembling NVDAResman with otool. I don't remember if i also searched GeForceGLDriver for cpuids, so i'll disassemble it later. Perhaps we're on the verge of isolate the problem, the first step towards finding an actual solution. Thank you very much for your answer and welcome onboard! :D

Best regards!

#23
DaMadOne

DaMadOne

    InsanelyMac Protégé

  • Members
  • Pip
  • 32 posts
Nice find rob! I can also confirm it works. Its nice not being stuck with safe modes limitations! so does this point to one or both of those kext's being the culprit? Im currently installing lion on a friends netbook.. but when I am done I am going to try to swap just those two kexts from lion and see what happens.. prob fail but worth a shot so I will report back in a bit.

#24
theconnactic

theconnactic

    Stubborn AMD user

  • Local Moderators
  • 2,894 posts
  • Gender:Male
I did just that, using 10.7.5 kexts, and i got panic with com.apple.Geforce. Run the test three times, three times with the same result.

Best regards!

#25
DaMadOne

DaMadOne

    InsanelyMac Protégé

  • Members
  • Pip
  • 32 posts
Yes.. lion kexts = fail =( at least we are booting in normal mode for now

#26
pauℓzurrr.

pauℓzurrr.

    Paul

  • Members
  • PipPipPipPipPipPipPip
  • 552 posts
  • Gender:Male
  • Location:Amsterdam

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..

Spoiler


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

Spoiler


#27
Sinetek

Sinetek

    InsanelyMac Sage

  • Coders
  • 333 posts
  • Gender:Male

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

#28
byransays

byransays

    InsanelyMac Protégé

  • Members
  • PipPip
  • 51 posts
  • Gender:Male
  • Location:Upstate NY
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.

#29
Deltac0

Deltac0

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 263 posts
  • Gender:Male
  • Location:Finland
  • Interests:Caffeine, OS X, AMD Hackintosh
Just asking, do you NVidia guys have the weird GUI problems like we on ATI have? (I know you got no QE/CI yet)

#30
byransays

byransays

    InsanelyMac Protégé

  • Members
  • PipPip
  • 51 posts
  • Gender:Male
  • Location:Upstate NY
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

#31
spakk

spakk

    If you try to please everyone, then you have certainly forgotten

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,820 posts
  • Gender:Male
  • Location:português
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.

Attached Files



#32
Mad Marcsen

Mad Marcsen

    InsanelyMac Protégé

  • Members
  • PipPip
  • 67 posts
so, correct me if i'm wrong.

the nvidia stuff isn't working because of cpuid, right?

if so, couldn't we just use this script to remove the cpuid's? i do not have the skills to say if it works oob, but maybe the modifications aren't that big?!?

statements?

#33
spakk

spakk

    If you try to please everyone, then you have certainly forgotten

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,820 posts
  • Gender:Male
  • Location:português
zephyroth has made one cpuid patcher, I have tried to start it yesterday, but unfortunately my OSX makes problems, I can not test at the moment

see here AMD Patcher 0.31 by zephyroth

#34
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,614 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...
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

Attached Files



#35
spakk

spakk

    If you try to please everyone, then you have certainly forgotten

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,820 posts
  • Gender:Male
  • Location:português
I will test it, andy

#36
spakk

spakk

    If you try to please everyone, then you have certainly forgotten

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,820 posts
  • Gender:Male
  • Location:português
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

Attached Files


Edited by spakk, 14 January 2013 - 09:48 PM.


#37
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,614 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...

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?

#38
spakk

spakk

    If you try to please everyone, then you have certainly forgotten

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,820 posts
  • Gender:Male
  • Location:português

And with stock NVDAResman and modified libclh?


Posted Image Yes!

#39
Mad Marcsen

Mad Marcsen

    InsanelyMac Protégé

  • Members
  • PipPip
  • 67 posts
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 ;)

#40
Andy Vandijck

Andy Vandijck

    InsanelyMac Deity

  • Coders
  • 1,614 posts
  • Gender:Male
  • Location:Tienen
  • Interests:Programming stuff for Mac OS X...
    Hacking...
    Hard rock (also really big Metallica...
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...





Also tagged with one or more of these keywords: AMD, nVidia, GeForce, Mountain Lion, Lion, 64-bits, hackintosh, legacy kernel, QE/CI


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy