oldnapalm Posted August 17, 2010 Share Posted August 17, 2010 Many people ask about kexts for nVidia video cards, the answer is they are already there, they're part of Mac OS X. The problem is they were not loaded because the card was not recognized. Update: for the new "Fermi" cards you need to install the drivers from nVidia, they are not included in Mac OS http://www.nvidia.com/object/quadro-macosx...f01-driver.html In order for it to be recognized, we have to inject some properties in the device tree. The Chameleon v2 bootloader does that automatically for many cards, you just have to enable the GraphicsEnabler option and configure the PciRoot (only if it's not zero). In the file com.apple.Boot.plist <key>GraphicsEnabler</key> <string>y</string> <key>PciRoot</key> <string>1</string> You can use the app Lizard (http://forum.voodooprojects.org/index.php/topic,842.0.html). Check the Graphics Injection option, click on Auto-detect value in PCIRoot and save. In Lizard preferences, configure the Extra folder Path. Select the Extra folder in the partition where you installed Chameleon. There are kexts for that (NVenabler, NVinject, EvoEnabler, among others) but they do exactly the same thing, inject properties, they are not the drivers themselves. http://nawcom.com/osx86/files/10.5/Graphic...IDIA/Injectors/ http://nawcom.com/osx86/files/10.6/Graphic...IDIA/Injectors/ It's also possible to pass the properties manually to Chameleon. In the file com.apple.Boot.plist (or using Lizard) <key>device-properties</key> <string>[hexadecimal EFI string]</string> To get the currently injected properties you can use the command ioreg -lw0 -p IODeviceTree -n efi -r -x | grep device-properties | sed 's/.*<//;s/>.*//;' > device-properties.hex To convert the file device-properties.hex (hexadecimal EFI string) to plist (property list file) you can use OSX86Tools (http://code.google.com/p/osx86tools/). OSX86Tools can also be used to generate an EFI string. Another way to inject the properties is by DSDT, check this topic http://www.insanelymac.com/forum/index.php?showtopic=252525 For some cards it may be necessary to insert its device ID into the file Info.plist of kexts NVDAResman and NVDANV40Hal (series 6 and 7) or NVDANV50Hal (series 8 and up). See how to find the device ID in this topic http://www.insanelymac.com/forum/index.php?showtopic=219584 Edit the Info.plist file, for example sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /System/Library/Extensions/NVDAResman.kext/Contents/Info.plist and insert the ID of your card into IOPCIPrimaryMatch key, for example <key>IOPCIPrimaryMatch</key> <string>[color="#FF0000"]0x06e410de[/color] 0x011010de&0xfff8ffff 0x017010de&0xfff8ffff 0x017910de 0x018010de&0xfff8ffff 0x018810de 0x018910de 0x020010de&0xfff8ffff 0x025010de&0xfff8ffff 0x028010de&0xfff8ffff 0x030010de&0xfff8ffff 0x031010de&0xfff8ffff 0x031910de 0x034910de 0x05e010de&0xfff8ffff 0x05f010de&0xfff0ffff</string> After saving and closing the file, repair it's permissions sudo chown 0:0 /System/Library/Extensions/NVDAResman.kext/Contents/Info.plist sudo chmod 755 /System/Library/Extensions/NVDAResman.kext/Contents/Info.plist Repeat the procedure for kext NVDANV40Hal or NVDANV50Hal, depending on your card's model, and run this command to have the kexts cache updated sudo touch /System/Library/Extensions 1 Link to comment Share on other sites More sharing options...
SerpentDrago Posted August 19, 2010 Share Posted August 19, 2010 Ok Everything seems to be great out of the box using [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url] no dst with just graphics enabler on in Chameleon Portal / QE /core / Torchlight all work great , i have the ripple effect in the dashboard things seem snappy BUT under system profiler it says unknown nvidia ... it shows the correct ram and its the correct res , games also work Could my graphics not quite be perfect if its showing unknown ? Chipset Model: Unknown Type: GPU Bus: PCIe Slot: Slot-1 PCIe Lane Width: x16 VRAM (Total): 1024 MB Vendor: NVIDIA (0x10de) Device ID: 0x0618 Revision ID: 0x00a2 ROM Revision: xx.xx.xx - internal Displays: Display: Resolution: 1600 x 900 Pixel Depth: 32-Bit Color (ARGB8888) Main Display: Yes Mirror: Off Online: Yes Built-In: Yes Display Connector: Status: No Display Connected Sorry running a gtx 260m > http://www.google.com/products/catalog?q=g...p;os=tech-specs Thats the EXACT system i have configured the Exact same way cept i'm runnin a extra harddrive Link to comment Share on other sites More sharing options...
oldnapalm Posted August 19, 2010 Author Share Posted August 19, 2010 It says "Unknown" because your card is not listed in the Chameleon version you are using. I believe you will have no problems with that. It is included in the current trunk version (line 294) { 0x10DE0618, "GeForce GTX 260M" }, http://forge.voodooprojects.org/p/chameleo...ibsaio/nvidia.c Link to comment Share on other sites More sharing options...
SerpentDrago Posted August 20, 2010 Share Posted August 20, 2010 It says "Unknown" because your card is not listed in the Chameleon version you are using. I believe you will have no problems with that. It is included in the current trunk version (line 294)http://forge.voodooprojects.org/p/chameleo...ibsaio/nvidia.c Ty, Stright Answer TY I'll Download and Install the Latest trunk and try that out , If it screws up I'm guessing all i need to use is the [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url] cd and reinstall the version of chameleon i'm running now ? correct Thanks ! IT was a weird question sorry and You seemed to actually know your stuff sorry if i hijacked your thread Link to comment Share on other sites More sharing options...
oldnapalm Posted August 20, 2010 Author Share Posted August 20, 2010 If it screws up I'm guessing all i need to use is the [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url] cd and reinstall the version of chameleon i'm running now ? correct Right, but I believe there will be no problem. You can get a recent installer package at this thread (check recent posts) http://www.insanelymac.com/forum/index.php...t&p=1532497 Thanks ! IT was a weird question sorry and You seemed to actually know your stuff sorry if i hijacked your thread You are welcome. No worries, it's related to thread subject. Link to comment Share on other sites More sharing options...
Littifus Posted August 27, 2010 Share Posted August 27, 2010 Hi, Thanks for your post, it's very useful for me. I am running Leo4allv3 on my Dell E521 AMD system, details below. i have yet to get the graphics card fully recognized and different resolutions available from the basic 1024x768 and QE/CI enabled. I had an ATI Radeon x1300 Pro Graphics card but saw on all the forums that it hadn't been successfully installed by anyone. So I have replaced it with an nVidia GeForce 7300 GT 256mb card. I do have a couple of questions about your post: Am I right in my understanding from your post that you either: 1.) Install Chameleon, 2. ) Edit the com.apple.Boot.plist 3.) Install Lizard and use the Graphics Injection option, click on Auto-detect value in PCIRoot 4.) in Lizard configure the Extra folder Path where Chameleon is installed, save. 5.) reboot and boomshanka! OR Install a kext such as NVinject? Now this is where your post loses me from the point where you say 'it's also possible to pass the properties manually to Chameleon'. Would you do this as well as using Lizard or instead of? I have used EFI Studio to create the Hex input for my com.apple.Boot.plist but it still doesn't work. Do the EFI Hex strings work with AMD chips? In some posts it tells you to edit the following: GeForce.kext, NVDANV40Hal.kext and NVDAResman.kext I don't have these files in the '/System/Library/Extensions/' folder. I do have GeoForce7xxxGLDriver.bundle Is there a way to load the appropriate kexts, or do I not need them? I have tried many ways to get my graphics working, Natit, NVinject and more, but to no avail. I'm just a bit confused as to the process of getting Mac OS to recognise the card and load the appropriate kexts. Quite a few questions I know! Your help would be really appreciated. System info: Dell Dimension E521 AMD Athlon 64 X2 4200+ SATA 250GB internal HDD 2GB DDR2 RAM nVidia GeForce 7300 GT 256mb Leo4allv3 installed and working - 1024x768 resolution Thanks Link to comment Share on other sites More sharing options...
oldnapalm Posted August 27, 2010 Author Share Posted August 27, 2010 Am I right in my understanding from your post that you either: 1.) Install Chameleon, 2. ) Edit the com.apple.Boot.plist 3.) Install Lizard and use the Graphics Injection option, click on Auto-detect value in PCIRoot 4.) in Lizard configure the Extra folder Path where Chameleon is installed, save. 5.) reboot and boomshanka! OR Install a kext such as NVinject? Correct, but in the first option you will do step 2 OR 3 and 4, not all of them. You can edit the file manually, or use Lizard to do that. Now this is where your post loses me from the point where you say 'it's also possible to pass the properties manually to Chameleon'. Would you do this as well as using Lizard or instead of? Like in the first option, you can add the device-properties string manually (text editor) or using Lizard. I have used EFI Studio to create the Hex input for my com.apple.Boot.plist but it still doesn't work.Do the EFI Hex strings work with AMD chips? If you mean the CPU, yes, they should work. In some posts it tells you to edit the following: GeForce.kext, NVDANV40Hal.kext and NVDAResman.kextI don't have these files in the '/System/Library/Extensions/' folder. I do have GeoForce7xxxGLDriver.bundle Is there a way to load the appropriate kexts, or do I not need them? I have tried many ways to get my graphics working, Natit, NVinject and more, but to no avail. I'm just a bit confused as to the process of getting Mac OS to recognise the card and load the appropriate kexts. You need the kexts NVDAResman and NVDANV40Hal in /System/Library/Extensions, if you don't have them, that's why the properties injection is not working. Link to comment Share on other sites More sharing options...
forgiveness Posted August 27, 2010 Share Posted August 27, 2010 Hey OldNapalm, I followed this method and have the card working now at proper resolution in 32 bit mode but no QE so far. The only thing I have not done is putting the DeviceID into the IOMatch string. My DeviceID is 0x0393, is that all I drop in? I have it working great in 10.5.7 without it. Thanks! Forgiveness Digital Dreamer SL 10.6.4 Giga EX58-UD3R nVidia GeForce 7300 GT 256mb Link to comment Share on other sites More sharing options...
Littifus Posted August 27, 2010 Share Posted August 27, 2010 Thanks Oldnapalm. I think not having the NVDAResman and NVDANV40Hal kexts has been the issue all along. I'm not sure why they haven't been loaded on install. A couple more questions coming your way... Does Leo4allv3 not have these present as standard, or just not loading them? If not, where would I find and how do I load these files? If I'm getting this right would I now need to: 1.) Install NVDAResman and NVDANV40Hal kexts (Do I also need Geforce.kext as well?) 2.) Install Chameleon v2, 3.) Edit the com.apple.Boot.plist, with: <key>GraphicsEnabler</key> <string>y</string> <key>PciRoot</key> <string>1</string> How does Chameleon know which graphics card I have? Would I not need to edit the NVDAResman and NVDANV40Hal kexts? Is Lizard the front end to Chameleon, or a different app? Sorry to be a pain on this one. I've just spent too much time looping round and getting nowhere. Thanks again Link to comment Share on other sites More sharing options...
oldnapalm Posted August 27, 2010 Author Share Posted August 27, 2010 My DeviceID is 0x0393, is that all I drop in? Insert 0x039310de followed by a space to separate it from other values. 10de = nVidia's vendor ID Does Leo4allv3 not have these present as standard, or just not loading them? If not, where would I find and how do I load these files? You can use the Pacifist app to browse the install DVD and extract the desired kexts. If they are not there you will have to get them from a retail DVD. If I'm getting this right would I now need to: 1.) Install NVDAResman and NVDANV40Hal kexts (Do I also need Geforce.kext as well?) 2.) Install Chameleon v2, 3.) Edit the com.apple.Boot.plist, with: GraphicsEnabler y PciRoot 1 PciRoot is not always 1, that's why I suggest using Lizard to auto detect the value. Or you can check in IORegistryExplorer. How does Chameleon know which graphics card I have? It reads the card's device ID (see post #3 above). Would I not need to edit the NVDAResman and NVDANV40Hal kexts? If they don't load without editing then you do need to edit them. Is Lizard the front end to Chameleon, or a different app? It's a front end to Chameleon configuration. Link to comment Share on other sites More sharing options...
Littifus Posted August 28, 2010 Share Posted August 28, 2010 Thanks Oldnapalm. I'll have a bash at getting the kexts loaded and follow your instructions. I appreciate your swift answers to my questions. Cheers Littifus Link to comment Share on other sites More sharing options...
Littifus Posted August 30, 2010 Share Posted August 30, 2010 Hi, I've tried the chameleon v2 install 3 times now, two with separate installers and once manually. each time on reboot I just get 'Boot from CD' on a black screen and nothing else. I can't get past that. I have had to reinstall a few times but now have the NVDAResman and NVDANV40Hal kexts. I now have the Nvidia card recognised and different resolutions but QE still isn't working. Is there a way of manually getting the QE to work without using Chameleon and Lizard? There is either some incompatibility with my set up or I am missing out a step. Thanks Link to comment Share on other sites More sharing options...
oldnapalm Posted August 30, 2010 Author Share Posted August 30, 2010 Have you tried adding your card's device ID to NVDANV40Hal? AFAIK the 7300 only works if you run kernel and kexts in 32 bit mode (arch=i386). Link to comment Share on other sites More sharing options...
Littifus Posted August 30, 2010 Share Posted August 30, 2010 Hi, I haven't edited theNVDAResman and NVDANV40Hal kexts yet as I wanted to confirm what the correct ID was to put under the IOPCIPRIMARYMATCH key. The ID I have for the card listed under my system is: Device ID 0x01df and Vendor 0x10de. Do you know if these are the correct values to use? They don't look like the other values in the list. Unfortunately I tried to get the SytemInfo03 application to work to check on the Nvidia 7300GT device ID, but I can't get the up to date version of Java to run it. I'm stuck on 10.5.2 a the moment and can't upgrade far enough for compatibility. I feel like the walls a re closing in on me - I'm not getting very far with this! Thanks for bearing with me. ;o) Link to comment Share on other sites More sharing options...
oldnapalm Posted August 30, 2010 Author Share Posted August 30, 2010 The ID seems correct, you should insert it in this form: 0x01df10de http://pci-ids.ucw.cz/read/PC/10de/01df It's really recommended to update to 10.5.8. Link to comment Share on other sites More sharing options...
toanbk Posted August 30, 2010 Share Posted August 30, 2010 How to make Nvidia Geforce 310M (0a7010de) work ? Link to comment Share on other sites More sharing options...
oldnapalm Posted August 30, 2010 Author Share Posted August 30, 2010 I haven't tested this card myself. Maybe you need newer nVidia driver? http://www.insanelymac.com/forum/index.php?showtopic=222913 And probably a recent Chameleon RC5 build to activate it, or an injector kext like suggested here http://www.insanelymac.com/forum/index.php...p;#entry1502406 Link to comment Share on other sites More sharing options...
toanbk Posted August 30, 2010 Share Posted August 30, 2010 I Tried it, but it not work for me, my laptop have two VGA card Link to comment Share on other sites More sharing options...
Littifus Posted August 30, 2010 Share Posted August 30, 2010 Hi, Frustrated :0( I've inserted the ID into all the kexts NVDAResman and NVDANV40Hal and rest all the permissions as per your instructions - no joy. I also entered the ID into the NVDANV30Hal and NVDANV50Hal kexts - no joy there either. Mac OS seems to give the card a 7300GS ID when the car is a 7300GT. I'm not sure if that is an issue? I did try with the 7300GT IDs as well. I hate to let things get the better off me, but I think I would get to a working solution quicker doing a paper round and saving up to buy an overpriced iMac! ;o) I was really looking forward to trying the photo and video editing software as well!!! Thanks for your help. Link to comment Share on other sites More sharing options...
oldnapalm Posted August 30, 2010 Author Share Posted August 30, 2010 0x01df is the ID of the 7300 GS. Where did you get this ID from? You should inject the ID of your own card into the kext. If System Info doesn't work because of Java version, use "lspci -nn". http://www.osx86.es/?p=620 Link to comment Share on other sites More sharing options...
FakeSteez Posted September 10, 2010 Share Posted September 10, 2010 Kind of a dumb question, but I used [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url], which installs Chameleon RC4 by default. But when I boot up Lizard, I just get a red dot saying "Chameleon?" Also, will this work for the 9400GT? Link to comment Share on other sites More sharing options...
oldnapalm Posted September 10, 2010 Author Share Posted September 10, 2010 Kind of a dumb question, but I used [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url], which installs Chameleon RC4 by default. But when I boot up Lizard, I just get a red dot saying "Chameleon?" Also, will this work for the 9400GT? That's because Lizard checks Chameleon's version, and I think the one installed by [url="http://www.insanelymac.com/forum/topic/279450-why-insanelymac-does-not-support-tonymacx86/"]#####[/url] is modified, but it should work, yes. Link to comment Share on other sites More sharing options...
night_knight28 Posted September 17, 2010 Share Posted September 17, 2010 hi all, i have the a problem with my graphic card. or i think its the refresh rate. i have a resolution of 1440x900 (internal lcd) but its not showing me a smooth transition. so that must be the refresh rate, right? the system profiler shows only a total of 32MB VRAM but it supposed to be a 256MB. here's what it says: Display: Type: GPU Bus: PCIe PCIe Lane Width: x16 VRAM(Total): 32 MB Vendor: NVIDIA (ox10de) Device ID: 0x0426 Revision ID: 0x00a1 Display: Resolution: 1440x900 Pixel Depth: 32-bit Color (ARGB8888) Main Display: Yes Mirror: Off Online: Yes My graphic card is NVidia 8400M GT. By the way, on your post, one of the choices to have this nvidia kext is to have the Chameleon bootloader right? I happen to have an Ubuntu 10.04 and GRUB2 as my bootloader. Does installing this Chameleon affect my GRUB2 bootloader? Please help me with this, cause its the last kext I've been searching for days now. I've tried NVInject and didn't work out. I also tried updating my kernel from Darwin 10.6.2 to 10.6.4 (coz' the nvdia graphic driver update require the 10.6.4 kernel) but it only messed up my system and I have to reinstall everything from the scratch. by the way, my graphic card is not listed in the list of supported cards in osx86tool in gfx strings. Link to comment Share on other sites More sharing options...
oldnapalm Posted September 17, 2010 Author Share Posted September 17, 2010 You can install Chameleon, but don't install it to MBR, just copy the boot file to the root of Mac OS partition and add this to /etc/grub.d/40_custom menuentry "Mac OS X Chameleon" { insmod hfsplus set root=(hd0,X) multiboot /boot } Although I'm not sure if GraphicsEnabler supports your video card. Link to comment Share on other sites More sharing options...
night_knight28 Posted September 18, 2010 Share Posted September 18, 2010 You can install Chameleon, but don't install it to MBR, just copy the boot file to the root of Mac OS partition and add this to /etc/grub.d/40_custom menuentry "Mac OS X Chameleon" { insmod hfsplus set root=(hd0,X) multiboot /boot } Although I'm not sure if GraphicsEnabler supports your video card. thanks for your quick reply sir. i did a little study on this Chameleon bootloader. and I think this might be a good boot loader to change my GRUB2. since it has a GUI as a bootloader. Now my concern is if I install it as my new bootloader, can it detect my win7 and my ubuntu? I'm going to try your advice and hope for a change in OSX transitions. I'm really amazed on this Chameleon since it uses icons as my list of OS unlike GRUB2 that only shows names of the OS. Link to comment Share on other sites More sharing options...
Recommended Posts