|
|
|
NVEnabler By Krazubu | Size: 27.4 KB |
Fassl, Turbo and I are proud to present our new baby : NVEnabler.
The purpose of this kext is to replace all other methods to provide an accurate and universal support for nVidia cards.
This kext allows nVidia driver load by directly reading your VGA ROM to build and inject the required settings, according to your hardware.
It also does on-the-fly ROM patching to give a stabler output configuration.
IT'S NOT YET ANOTHER GENERIC INJECTER.
ROM patching is an important part of the process and can't be achieved by "passive" injection. Copy/pasting strings from other cards has shown to be an inaccurate method even if the boards look identical. Many strings need to be created on measure for the card and display(s).
This is an alpha version and it's not finished. We hope to add more features, but for that, we need your feedback.
If it doesn't work, please post here an ioreg, with description of the problem, infos about your card, and how you are using the outputs.
You can try to manually inject setting, for that check the plist, it works as any injecter (more infos here)
If you find something that helps, please keep us updated.
We consider by convention that ports close to the motherboard are VGA0/DVI0.
To get an ioreg, in terminal type : ioreg -lw0 > NVEnabler_ioreg_dump_$USER.txt
This must be done when NVEnabler is loaded, otherwise it's useless. If you can't boot with NVE, launch the system with -s, load NVE with kextload and run the IOReg command.
What it does :
- Gets required settings from ROM, removing the need of tweaking configuration for each card
- Automatic NVCAP creation
- Automatic VRAM size detection (Kabyl)
- Corrects the ROM (without flashing) to make output definition comply with mac standards.
- Fixes TV output
- Supports for video BIOS overriding : it can load any BIOS as replacement of the integrated one, without flashing. Useful for testing or to bypass ROM size limits. It can be used on mac pro to drive a PC card.
Not supported :
- Graphic controllers integrated to chipset don't work (except 9400)
- Some NVS 140 & 570 (might be fixed later)
- VAIO internal screen
Install :
Remove any injecter / GFX device property string / DSDT edit for GFX
Put the kext in /System/Library/Extensions/ or /Extra
Fix permissions in terminal and type : touch /System/Library/Extensions (do it again if you modify the plist).
You still need to put your device ID in NVDAResman.kext and NVDANVX0hal.kext (depending on the GPU generation).
Reboot.
IMPORTANT NOTE :
That kext defines fixed channels for your connectors. All cards have 2 channels and a various number of connectors.
In any case, you can't plug more than 1 display on the same channel. In other words you must use a different channel for each display.
- For single DVI cards : DVI/VGA port is on channel 1 (so VGA port on #2)
- For dual DVI cards : DVI0/VGA0 is on channel 1
- For laptops : internal screen is on channel 1
TV and other ports are put on the 2nd channel. (so use one of those at time). However some cards have uncommon layouts, if it doesn't work, just try an other port.
eg : plugging TV & VGA0 won't work on single DVI cards because both are fixed on channel 2. so if you need VGA and TV at same time use a DVI>VGA adapter, then each connector will have its own channel and it will be OK.
How to load an alternate VGA BIOS :
Open NVE plist with a plist editor. Add a child inside the section "addProperties". Set its name to "vbios" (has to be in lower case), its type to data, and past the BIOS in hex in the value field.
Also remove the entry "skipvbios_disabled".
Known issues :
- Primary display may go black on second detection.
- Hotplug detection is missing
- display-cfg is hardcoded
- Many mysterious strings to reverse and inject
- Multiple cards are not (automatically) supported yet, but you can manually tweak the plist to fix it yourself, search about usual injection methods to do it.
We are currently getting trouble with the display-cfg string. We don't know how it works at all so far. If you're having problems with NVEnabler, it's most probably because of that string (blue or black screen at boot, screen going off, wrong one on...).
We then suggest you to try different values in the plist, taken from real macs. That's all what we can do for the moment.
EDIT : its working is now partly figured, however we didn't add feature to NVenabler yet, so you still have to mess with it.
There's one string for each screen (@0,display-cfg & @1,display-cfg)
macbook pro 8600GT : 03010000 - ffff0001
macbook pro unibody 9400 : 03010300 - ffff0801
macbook pro white 9400 : 03010300 - ffff0201
mac pro 7300GT : ffff3600 - 00ff3e01
mac pro 8800GT : 03010000 - ffff0001
imac 24" 7600GT : 03035000 - ffff3601
Apple TV 7300Go : 01ff0000
powermac 6800GT : 00ff3e01 - 00ff3600
Note about "Unknown card" : Many people think their card is not supported because it appears as "Unknown card". This doesn't mean a thing. The card name is just an hardcoded string that is injected. A card can work fine even if it's shown as unknown. On the opposite you can have the name correctly displayed for an unsupported card. If you really care about it, you can inject the card name yourself editing the plist to add "model" key + name as string value.
Thanks to iNDi, Roisoft and Kytzu for testing
Edit by Krazubu :
New 0.1b version Snow Leopard 64bit ready (and still 32bit too) : NVEnabler_64.kext.zip ( 27.44K ) Number of downloads: 4155
(no other modification).
I've seen at many places that people install both 32 and 64bit ones, this doesn't make sense.
Get the kext here : NVEnabler_0.1.kext.zip ( 19.77K ) Number of downloads: 6081
Comments
|
Patocruack
12th October 2010 at 14:41
|
Thanks for this kext, finally i have dual display NVIDIA GeForce 6600: Chipset Model: GeForce 6600 Type: GPU Bus: PCIe PCIe Lane Width: x16 VRAM (Total): 256 MB Vendor: NVIDIA (0x10de) Device ID: 0x0141 Revision ID: 0x00a2 ROM Revision: nVidia GeForce 6600 GT OpenGL Engine [EFI] Displays: SyncMaster: Resolution: 1680 x 1050 @ 60 Hz Pixel Depth: 32-Bit Color (ARGB8888) Mirror: Off Online: Yes Rotation: Supported W2243: Resolution: 1920 x 1080 @ 60 Hz Pixel Depth: 32-Bit Color (ARGB8888) Main Display: Yes Mirror: Off Online: Yes Rotation: Supported Greetings from Quito_Ecuador |
|
modularism
17th December 2010 at 10:57
|
Im happily owner of Sony Vaio 17'' laptop Intel dual core powered but for hackintosh not cause i have problem leaving the installation without choosing the nvenablers for working properly the graphic card 7400 GM.Would this injector will work cause u said 7400 it does but not for the internal screen . Regarding of your great work keep goin ...... |
|
mdcy
19th December 2010 at 00:55
|
Thanks for your kext. My gt240 TC 512m work, but only display vram 256mb, how could i adjust the vram size? kaf@live.cn thanks again. luyi |
|
shantonu
30th December 2010 at 21:10
|
Its worked for me...!!!
|
|
perakisk
6th January 2011 at 17:40
|
Not working, hangs the machine Dell Latitude E6510 Core i7-740QM |
|
perakisk
6th January 2011 at 17:43
|
Thanks for this kext Not working, hangs the machine Dell Latitude E6510 Core i7-740QM nvidia quadro 3100m |
|
locvfx
10th January 2011 at 15:07
|
It's work for me , GT 430 . But how to enable dual monitors !! Please help [ loc@ zingvn.com ] |
|
heineken
16th January 2011 at 08:35
|
Thanks for this kext . GeForce 8600 GT |
|
youngun21a
18th January 2011 at 16:59
|
Worked for me asus a8n32sli also detected 512mb,only problem is the mouse it's all over the place a simple move of the mouse would land across the screen and not very usefull..not bad for an alpha version |
|
tutu
19th January 2011 at 13:35
|
Thanks for this. It works. Perfect. quadro fx 5600, the vm detected is right, 1.5G, and qe/ci also works. Dual display. Three files all can drive the card. Nvenabler works perfect. Nvinject had the vm problem, only 256M. Natit also had the VM problem, only 256M. |
|
mchineboy
20th January 2011 at 19:54
|
Hi! I had it working perfectly with an 8400GS in full resolution for my 30" monitor. Then today, it stopped working. I did attempt to enable audio in the BIOS. Now, I just get the black screen on boot. It seems that the monitor is in the correct resolution, but I'm not getting the familiar blue screen, then login window. |
|
mchineboy
20th January 2011 at 20:26
|
Ok, so I figured it out. But it's weird. Having a second "VGA" monitor plugged in during boot causes the main (30 inch) monitor to start working. Is there a fix or workaround that someone can point out for this? |
|
julez
27th January 2011 at 03:07
|
i don't know so far what i should do with the channels & connectors? i got a asus k52jc laptop with i3-350m, intel hd graphics and geforce 310m. do you think it is possible or is probably anybody able to change the nvidia channel to 1 and the hd graphics to channel #2 for me ?? contact me via pm if u wanna do this little thing for ma and if you need some specs or whatever. |
|
miletwo
2nd February 2011 at 20:25
|
9800GT 1GB DDR3, works perfectly with (apparent) QE/CI based on performance of shading, front row working, etc. although they're not listed in profiler. I had the 8400GS but couldn't for the life of me get it to work. I returned it and bought the 9800GT and now I have a fully functional hack. LOVE IT! Thanks. Using: NVEnabler WITHOUT graphicsenabler=yes, device ID in NVDA*.kext and GeForce.kext; pfix then reboot with -f. Completely stable, no artifacts, shutdown works, etc. |
|
longdong
10th March 2011 at 12:27
|
Thank for up |




Version
Compatible with
Downloads