IPB

Welcome Guest!

Returning User? Login here.

Want membership privileges? Register here.

> Nvenabler Testing And Discussion, new universal kext for nVidia
Krazubu
post Jun 2 2009, 09:18 PM
Post #1
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) : Attached File  NVEnabler_64.kext.zip ( 27.44K ) Number of downloads: 4024
(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 : Attached File  NVEnabler_0.1.kext.zip ( 19.77K ) Number of downloads: 6012


Edit by fassl:
Same kext without display-cfg properties (won't support dual screen): Attached File  NVEnabler_no_display_cfg_0.1.kext.zip ( 19.54K ) Number of downloads: 1158


Good luck smile.gif

Please don't upload it on other servers and don't repack it, thank you

Posts in this topic
- Krazubu   Nvenabler Testing And Discussion   Jun 2 2009, 09:18 PM
- - THe KiNG   HI, Great job! I test it on my lappie(Krazubu...   Jun 6 2009, 09:51 AM
- - Krazubu   @ THe King I need an IOReg   Jun 6 2009, 11:39 AM
- - Superhai the Great   QUOTE (Krazubu @ Jun 2 2009, 11:18 PM) th...   Jun 7 2009, 12:43 PM
- - MikeTheMilkman   This looks very interesting I will try it soon a...   Jun 9 2009, 04:42 PM
- - prasys   Thanks again pal Thanks for your custom ROM patch...   Jun 11 2009, 02:04 PM
- - Aranius   You say you don't know how it works with displ...   Jun 14 2009, 08:47 AM
- - fassl   @Aranius, do you have a Sony VAIO laptop?   Jun 14 2009, 10:03 PM
- - Aranius   nope, Samsung R560, see Signature   Jun 15 2009, 04:34 AM
- - sonotone   Salut krazubu Same prob as The King, internal scre...   Jun 15 2009, 08:26 AM
- - Krazubu   Sonotone, can you precise what is your hardware an...   Jun 15 2009, 09:35 AM
- - sonotone   Krazubu: solved by switching @0,Display-cfg valu...   Jun 15 2009, 01:32 PM
- - Gringo Vermelho   Sweet, it works perfectly. What's more, I...   Jun 16 2009, 08:48 PM
- - Krazubu   Glad to read so good report Gringo Vermelho We...   Jun 17 2009, 01:32 AM
- - jadran   I did't know it was just a quiz.. So I added...   Jun 17 2009, 09:18 AM
- - Krazubu   @ Gringo Vermelho Yes IOReg dump is welcome.   Jun 17 2009, 12:24 PM
- - anibalin   intel dg31pr nvidia 9400gt. Installed kext, and w...   Jun 17 2009, 01:39 PM
|- - Gringo Vermelho   For the hell of it I just tried Netkas' new in...   Jun 25 2009, 03:10 AM
- - blackCH   I've been doing a short test with NVEnabler ke...   Jun 28 2009, 02:07 PM
- - Krazubu   Thank you for the display-cfg BlackCH, I updated t...   Jun 28 2009, 09:11 PM
|- - blackCH   QUOTE (Krazubu @ Jun 28 2009, 11:11 PM) S...   Jun 29 2009, 08:07 AM
- - Krazubu   OK good then, about the hang when hot-plugging, I...   Jun 29 2009, 10:10 AM
- - blackCH   Thanks for the suggestion, and thanks very much fo...   Jun 29 2009, 09:48 PM
- - Krazubu   from mac pro 7300GT : 0a00ff20 00000000 20035802 0...   Jun 30 2009, 09:06 AM
- - blackCH   Sorry about that. I re-uploaded the ioregs in the ...   Jun 30 2009, 01:23 PM
- - arya   this is my ioreq dump. my VGA have 2 DVI and 1 TVo...   Jul 2 2009, 04:24 PM
- - Lamune   Wow! NVEnabler did the trick on my Dell D630 w...   Jul 3 2009, 07:04 PM
- - Krazubu   That rocks Lamune, we thought at first it would de...   Jul 3 2009, 08:37 PM
- - federicog   Thank you SO much! It works great with a GeFor...   Jul 9 2009, 12:15 AM
- - Krazubu   No you can't get TV + VGA0 they are using the ...   Jul 9 2009, 01:50 AM
|- - federicog   QUOTE (Krazubu @ Jul 9 2009, 01:50 AM) No...   Jul 9 2009, 02:58 AM
- - MACinized   tnx a lot guys. your "baby"-NVEnabler.ke...   Jul 10 2009, 02:08 PM
- - apocolipse269   Ok, Krazubu i hope this helps you (and eventually ...   Jul 19 2009, 10:53 AM
- - bcc9   Hi, I have a notebook with integrated 9400m. (The...   Jul 20 2009, 09:20 PM
- - silaisa   Hi, I installed the kext but I can't get CI / ...   Jul 20 2009, 11:38 PM
|- - silaisa   QUOTE (silaisa @ Jul 20 2009, 07:38 PM) H...   Jul 22 2009, 05:32 PM
- - Krazubu   @ bcc9 it would be interesting to get your IOReg t...   Jul 21 2009, 11:09 AM
|- - bcc9   I was able to dump the vga bios from the shadow co...   Jul 21 2009, 06:18 PM
- - Krazubu   NVE was probably not loaded at the time you did th...   Jul 21 2009, 07:10 PM
|- - bcc9   QUOTE (Krazubu @ Jul 21 2009, 12:10 PM) N...   Jul 21 2009, 07:54 PM
- - Krazubu   QUOTE Ok the shadow copy that is memory mapped to ...   Jul 22 2009, 10:25 AM
- - flimjam   Guys, amazing work with this, thanks so much! ...   Jul 22 2009, 12:42 PM
- - Krazubu   silaisa You don't need to flimjam ensure that...   Jul 22 2009, 07:06 PM
- - silaisa   I got it!!! Finally my ECS GForce 9400...   Jul 23 2009, 01:32 PM
|- - apocolipse269   hey krazubu any insight into my situation? not qui...   Jul 23 2009, 03:17 PM
- - silaisa   Hi, Im having a problem, dunno if it's related...   Jul 27 2009, 01:33 PM
- - silaisa   What's the meaning of: "NVEnabler::probe ...   Jul 27 2009, 09:13 PM
|- - realityiswhere   QUOTE (silaisa @ Jul 27 2009, 06:13 PM) W...   Jul 27 2009, 11:29 PM
- - apocolipse269   UPDATE: I tried NVEnabler booting with an externa...   Jul 28 2009, 10:07 AM
- - silaisa   Thanks realityiswhere, first time when I read it I...   Jul 28 2009, 04:46 PM
- - Seventoes   I have a GeForce GT 130m on my laptop. NVEnabler i...   Jul 31 2009, 02:26 AM
- - rockingturtle   Hi guys, Any idea how to get Nvidia G105 M workin...   Aug 1 2009, 01:33 PM
- - nowheredog   First of all thanks for your injector, it's re...   Aug 6 2009, 07:03 PM
- - amitkool21   is this works with FX5500 also.....???   Aug 8 2009, 10:51 PM
|- - Gringo Vermelho   I don't see why not, try it and see. Don...   Aug 9 2009, 05:33 PM
- - apocolipse269   ALRIGHT!!! I FINALLY GOT IT WORKING...   Aug 11 2009, 07:29 AM
- - Krazubu   I doubt any of those values you added are involved...   Aug 11 2009, 03:46 PM
|- - apocolipse269   QUOTE (Krazubu @ Aug 11 2009, 11:46 AM) I...   Aug 11 2009, 04:31 PM
- - mirv   My Second DVI port doesn't seem to work with B...   Aug 12 2009, 06:10 AM
- - Krazubu   Please provide the infos as written in post #1.   Aug 12 2009, 10:50 AM
- - pyildirim   Here is my ioreg from Quadro NVS 320m (dev 0x040b)...   Aug 12 2009, 05:32 PM
- - Slice   Clubber_77 tested with 7200Go with foolowing resul...   Aug 12 2009, 08:06 PM
|- - fassl   Has he tried removing @X,display-cfg from NVEnable...   Aug 13 2009, 08:43 PM
- - GAOO   I was wondering if someone would enlighten me a bi...   Aug 14 2009, 08:37 AM
|- - apocolipse269   QUOTE (GAOO @ Aug 14 2009, 04:37 AM) I wa...   Aug 14 2009, 10:06 AM
|- - GAOO   About the @0,built-in, I'm a bit confused. Do...   Aug 14 2009, 11:58 AM
- - Slice   QUOTE (apocolipse269 @ Aug 14 2009, 03:50...   Aug 14 2009, 12:17 PM
- - Krazubu   @DVSoftware Posts have been moved here where it be...   Aug 15 2009, 01:59 PM
- - GAOO   About the @0,display-cfg, here's something tha...   Aug 16 2009, 12:52 AM
- - Seventoes   Still trying to get my GT 130M working. All I...   Aug 16 2009, 06:49 AM
- - habibelhabab   Hello, I would first like to say THANK YOU big tim...   Aug 22 2009, 01:11 PM
|- - Gringo Vermelho   You can read out the NVCAP using gfxutil. Look up...   Aug 23 2009, 05:19 AM
|- - habibelhabab   QUOTE (Gringo Vermelho @ Aug 23 2009, 07...   Aug 23 2009, 02:33 PM
- - MACinized   also works like a charm with snow leo. but is the...   Aug 23 2009, 06:27 AM
- - habibelhabab   Actually, could you help me with a small instructi...   Aug 23 2009, 02:56 PM
- - Slice   Just type in terminal ioreg -lw0 | grep NVCAP when...   Aug 23 2009, 06:09 PM
- - silaisa   Hi All, I don't know if you can help me, but I...   Aug 24 2009, 04:15 PM
- - reinstaller   This extension works well for my 9800GTX, DVI + TV...   Aug 24 2009, 11:29 PM
- - Krazubu   >Silaisa I don't think we can do much for t...   Aug 27 2009, 01:09 PM
- - MACinized   is there a way to inject the Chipset Model?   Sep 11 2009, 12:31 PM
- - Krazubu   add in the plist : <key>model</key> ...   Sep 11 2009, 02:41 PM
|- - MACinized   QUOTE (Krazubu @ Sep 11 2009, 10:41 PM) a...   Sep 14 2009, 05:18 AM
- - Jingu   IT WORKS TERRIFIC IN LEOPARD 10.5.8!!...   Sep 12 2009, 10:23 PM
- - Krazubu   Yes, it has to be in the "AddProperties...   Sep 14 2009, 06:22 AM
|- - MACinized   QUOTE (Krazubu @ Sep 14 2009, 02:22 PM) Y...   Sep 14 2009, 06:32 AM
- - Arbuz   Hello, Thanks for great Enabler! It gives m...   Sep 14 2009, 07:30 AM
- - MACinized   kewl! tnx a lot for the help Krazubu and to...   Sep 14 2009, 12:44 PM
- - Krazubu   Cool Macinized Arbuz > I'm afraid there...   Sep 14 2009, 01:20 PM
|- - Arbuz   Thanks Krazubu. GFX works fine with display direc...   Sep 15 2009, 04:48 AM
- - Arbuz   One more question. I found the value display-type ...   Sep 15 2009, 11:52 AM
- - Arbuz   and more ) I found that in the nvenabler plist IOP...   Sep 16 2009, 06:48 AM
- - Krazubu   Arbuz, NVE contains all the NECESSARY (only) stuff...   Sep 16 2009, 01:36 PM
|- - Alex79   QUOTE (Krazubu @ Sep 16 2009, 02:36 PM) A...   Sep 16 2009, 10:46 PM
- - Swoper   Working perfectly (2 DVI. S-video) on my Zotac 860...   Sep 17 2009, 05:46 AM
- - Alex79   What do you do exactly? Please can you repeat step...   Sep 18 2009, 11:30 AM
|- - Swoper   QUOTE (Alex79 @ Sep 18 2009, 04:30 PM) Wh...   Sep 20 2009, 06:58 PM
- - Swoper   Version for Snow in progress? (x64)   Sep 29 2009, 05:27 PM
4 Pages V   1 2 3 > » 


Add Reply Start a new topic
2 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
1 Members: bdeweese