Contribute
Register

Official Tested and Confirmed DSDT Graphics Edits

Status
Not open for further replies.

tonymacx86

Administrator
Staff member
Joined
Nov 17, 2009
Messages
7,366
Motherboard
Z370N WIFI
CPU
i7 8700K
Graphics
HD 630
Mac
  1. MacBook Air
Classic Mac
  1. Apple
  2. PowerBook
Mobile Phone
  1. iOS
Here's a place where anyone who's successfully enabled graphics through DSDT can post their code so that others can benefit. If we get enough of these, I'd like to add the segments to the DSDT Database.

If you want to learn how to make these edits:

Advanced DSDT Fixes: nVidia Graphics
http://tonymacx86.blogspot.com/2010/01/ ... phics.html

And check out toleda's awesome guides in the HDMI Audio section.
:thumbup:
 
9400 GT
Code:
        Device (PCI0)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_ADR, Zero)
            Name (_UID, One)
            Name (_BBN, Zero)
            Method (_S3D, 0, NotSerialized)
            {
                If (LEqual (OSFL, 0x02))
                {
                    Return (0x02)
                }
                Else
                {
                    Return (0x03)
                }
            }

            Device (PEGP)
            {
                Name (_ADR, 0x00010000)
                Device (GFX0)
                {
                    Name (_ADR, Zero)
                    Name (_SUN, One)
                    Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x1A)
                            {
                                "@0,compatible", 
                                Buffer (0x0B)
                                {
                                    "NVDA,NVMac"
                                }, 

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

                                "@0,display_cfg", 
                                Buffer (0x08)
                                {
                                    0x03, 0x01, 0x00, 0x00
                                }, 

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

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

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

                                "@1,display_cfg", 
                                Buffer (0x08)
                                {
                                    0xFF, 0xFF, 0x00, 0x01
                                }, 

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

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

                                "VRAM,totalsize", 
                                Buffer (0x04)
                                {
                                    0x00, 0x00, 0x00, 0x40
                                }, 

                                "device_type", 
                                Buffer (0x0D)
                                {
                                    "NVDA,GeForce"
                                }, 

                                "model", 
                                Buffer (0x17)
                                {
                                    "nVidia GeForce 9400 GT"
                                }, 

                                "rom-revision", 
                                Buffer (0x25)
                                {
                                    "nVidia GeForce 9400 GT OpenGL Engine"
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
                }
            }

GT 240 (with HDMI Edits)
Code:
        Device (PCI0)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_ADR, Zero)
            Name (_UID, One)
            Name (_BBN, Zero)
            Method (_S3D, 0, NotSerialized)
            {
                If (LEqual (OSFL, 0x02))
                {
                    Return (0x02)
                }
                Else
                {
                    Return (0x03)
                }
            }

            Device (PEGP)
            {
                Name (_ADR, 0x00030000)
                Name (_PRW, Package (0x02)
                {
                    0x09, 
                    0x05
                })
                Device (GFX0)
                {
                    Name (_ADR, Zero)
                    Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x1A)
                            {
                                "AAPL,slot-name", 
                                "PCI x16", 
                                "@0,compatible", 
                                Buffer (0x0B)
                                {
                                    "NVDA,NVMac"
                                }, 

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

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

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

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

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

                                "NVCAP", 
                                Buffer (0x18)
                                {
                                    /* 0000 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 
                                    /* 0008 */    0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 
                                    /* 0010 */    0x00, 0x00, 0x00, 0x00
                                }, 

                                "VRAM,totalsize", 
                                Buffer (0x04)
                                {
                                    0x00, 0x00, 0x00, 0x40
                                }, 

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

                                "model", 
                                Buffer (0x16)
                                {
                                    "nVidia GeForce GT 240"
                                }, 

                                "rom-revision", 
                                Buffer (0x25)
                                {
                                    "3172a"
                                }, 

                                "hda-gfx", 
                                Buffer (0x0A)
                                {
                                    "onboard-1"
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
                }

                Device (HDAU)
                {
                    Name (_ADR, One)
                    Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x02)
                            {
                                "hda-gfx", 
                                Buffer (0x0A)
                                {
                                    "onboard-1"
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
                }
            }

GT 430 (with HDMI Edits)
Code:
        Device (PCI0)
        {
            Name (_HID, EisaId ("PNP0A03"))
            Name (_ADR, Zero)
            Name (_UID, One)
            Name (_BBN, Zero)
            Method (_S3D, 0, NotSerialized)
            {
                If (LEqual (OSFL, 0x02))
                {
                    Return (0x02)
                }
                Else
                {
                    Return (0x03)
                }
            }

            Device (PEGP)
            {
                Name (_ADR, 0x00010000)
                Name (_PRW, Package (0x02)
                {
                    0x09, 
                    0x05
                })
                Device (GFX0)
                {
                    Name (_ADR, Zero)
                    Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x1A)
                            {
                                "AAPL,slot-name", 
                                "PCI x16", 
                                "@0,compatible", 
                                Buffer (0x0B)
                                {
                                    "NVDA,NVMac"
                                }, 

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

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

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

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

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

                                "NVCAP", 
                                Buffer (0x18)
                                {
                                    /* 0000 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 
                                    /* 0008 */    0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 
                                    /* 0010 */    0x00, 0x00, 0x00, 0x00
                                }, 

                                "VRAM,totalsize", 
                                Buffer (0x04)
                                {
                                    0x00, 0x00, 0x00, 0x40
                                }, 

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

                                "model", 
                                Buffer (0x16)
                                {
                                    "nVidia GeForce GT 430"
                                }, 

                                "rom-revision", 
                                Buffer (0x25)
                                {
                                    "3172a"
                                }, 

                                "hda-gfx", 
                                Buffer (0x0A)
                                {
                                    "onboard-1"
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
                }

                Device (HDAU)
                {
                    Name (_ADR, One)
                    Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x02)
                            {
                                "hda-gfx", 
                                Buffer (0x0A)
                                {
                                    "onboard-1"
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
                }
            }
 
Okay, maybe I'm not quite up to speed on the latest... but what is the purpose of this?
 
Thank you for this post and links. I am interested in learning this. I have a question. Will this replace tonymac nvidia update for my gtx 470? Or should I continue using the your nvidia update? I am going to attempt your tutorial regardless. Thanks!
 
zionic said:
Okay, maybe I'm not quite up to speed on the latest... but what is the purpose of this?

Using Chameleon's GraphicsEnabler=Yes is a great and most convenient solution for most. But some may wish to enable graphics through DSDT, in order to use dual cards, or tweak cosmetic settings. Also for HDMI edits, I've had better luck using these with GraphicsEnabler=No than with GraphicsEnabler and generic code. Finally, OpenGL scores seem slightly better when using this injection method. :thumbup:
 
cardofgiant said:
Thank you for this post and links. I am interested in learning this. I have a question. Will this replace tonymac nvidia update for my gtx 470? Or should I continue using the your nvidia update? I am going to attempt your tutorial regardless. Thanks!

This has nothing to do with drivers- you will need the tonymacx86 NVIDIA Update with GraphicsEnaber or with DSDT edits. It's simply the way the graphics are identified to the drivers by the startup routine.
 
tonymacx86 said:
zionic said:
Okay, maybe I'm not quite up to speed on the latest... but what is the purpose of this?

Using Chameleon's GraphicsEnabler=Yes is a great and most convenient solution for most. But some may wish to enable graphics through DSDT, in order to use dual cards, or tweak cosmetic settings. Also for HDMI edits, I've had better luck using these with GraphicsEnabler=No than with GraphicsEnabler and generic code. Finally, OpenGL scores seem slightly better when using this injection method. :thumbup:

Okay, thank you! :) I think I'll stay put... I'm way too afraid of editing the DSDT right now.
 
I tried to compile my DSDT by selecting copying and pasting your gt 240 with hdmi strings to my DSDT, i serched for PCI0 device and copied all your gt240 strings instead, when i try to compile, i get lots of errors, i get errors regarding devices that doesnt exist, i have a P55-USB3 MOBO and a gigabyte gt 240 1gb DDR3 graphic card, everything is working exept my graphics card which is recognized as a Nvidia GPU but with 32mb of ram, and i cant get resolutions above 1200*800 with my 22 samsung monitor, i tried nvenablers, i tried graphics enabler yes and no in apple.plist with no luck, i installed snow leopard versions 10.6.0 , .1, .2, .3, .4, .5 and .6, i dont know whats wrong, but it doesnt work out of the box, used newest iboot and multibeast.

PS: do i need to paste that enabling text on top of my DSDT in order for it to comile?
 
Good point, Sudds. Copy & Paste into a text editor such as TextEdit. But, before pasting into TextEdit, (open a new file and) change the format to text (Format > Make Plain Text), then paste. This will remove the non wanted extra characters.
 
Status
Not open for further replies.
Back
Top