Jump to content
Cassio

Enable nVidia drivers

Recommended Posts

You can use a patch to enable nVidia drivers by injecting the needed properties in DSDT.


Please see this topic for more information about device-properties http://Olarila.com/forum/viewtopic.php?f=18&t=154


To find out where to insert the patch, you can use IORegistryExplorer.


file.php?id=6000


Sample code to be inserted (into P0P2 in the above example)

                Device (GFX0)
               {
                   Name (_ADR, Zero)
                   Method (_DSM, 4, NotSerialized)
                   {
                       Store (Package ()
                           {
                               "@0,compatible", 
                               Buffer ()
                               {
                                   "NVDA,NVMac"
                               }, 

                               "@0,device_type", 
                               Buffer ()
                               {
                                   "display"
                               }, 

                               "@0,name", 
                               Buffer ()
                               {
                                   "NVDA,Display-A"
                               }, 

                               "@1,compatible", 
                               Buffer ()
                               {
                                   "NVDA,NVMac"
                               }, 

                               "@1,device_type", 
                               Buffer ()
                               {
                                   "display"
                               }, 

                               "@1,name", 
                               Buffer ()
                               {
                                   "NVDA,Display-B"
                               }, 

                               "NVCAP", 
                               Buffer ()
                               {
                                   /* 0000 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 
                                   /* 0008 */    0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 
                                   /* 0010 */    0x00, 0x00, 0x00, 0x00
                               }, 

                               "NVPM", 
                               Buffer ()
                               {
                                   /* 0000 */    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                   /* 0018 */    0x00, 0x00, 0x00, 0x00
                               }, 

                               "VRAM,totalsize", 
                               Buffer ()
                               {
                                   0x00, 0x00, 0x00, 0x20
                               }, 

                               "device_type", 
                               Buffer ()
                               {
                                   "NVDA,Parent"
                               }, 

                               "model", 
                               Buffer ()
                               {
                                   "nVidia GeForce 9800 GTX"
                               }, 

                               "rom-revision", 
                               Buffer ()
                               {
                                   "nVidia GeForce 9800 GTX OpenGL Engine"
                               }
                           }, Local0)
                       DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                       Return (Local0)
                   }
               }

 

In some motherboards the device where GFX0 resides is not present in DSDT, so you need to insert it as well (into PCI0)

			Device (PEG1)
		{
			Name (_ADR, 0x00010000)
			Device (GFX0)
			{
				... same as above
			}
		}

 

Sample patches to be applied using DSDT Editor:


Asus motherboards

nVidia 9800 GTX 512 MB


Gigabyte motherboards

nVidia 9600 GT 1GB PCI0

-Donations-

PayPal HERE - Stripe HERE - BuyMeaCoffee HERE - Mercado Livre HERE

Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3

PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com

Premium Users HERE - Problems with Paypal HERE

xcd5u2Y.png

Link to comment
Share on other sites

Hi cassio,

I edited DSDT as you posted: in my system profiler it shows up as "nVidia Quadro NVS 295,,,,,256 Mb"

Of course i injected proper name and rom revision, but my question is: what about those dots before "256"?

Am I missing something in dsdt editing?

my rig:

zotac z77itx

intel i7 3770T

nVidia Quadro NVS 295


Adding efi string (without DSDT edits) system profiler shows the card name correctly, but I prefer DSDT edit rather than efi string in org.chameleon.boot.plist.

Any ideas?

Link to comment
Share on other sites

Hello,


you probably forgot to adjust the buffer size, just leave it blank (remove 0x?? from Buffer)

                                "model",
                               Buffer ()
                               {
                                   "nVidia Quadro NVS 295"
                               },

-Donations-

PayPal HERE - Stripe HERE - BuyMeaCoffee HERE - Mercado Livre HERE

Skrill danielnmaldonado@gmail.com - BTC 33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3

PicPay @danielnmaldonado - PiX @danielnmaldonado@gmail.com

Premium Users HERE - Problems with Paypal HERE

xcd5u2Y.png

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.





×
  • Create New...