InfiniteMac OSx86

InfiniteMac OSx86 (http://infinitemac.com/forum.php)
-   10.X (http://infinitemac.com/forumdisplay.php?f=36)
-   -   UHCI/EHCI Built in with dsdt fix (http://infinitemac.com/showthread.php?t=3849)

kDawg 09-02-2009 10:04 AM

Quote:

Originally Posted by Snow (Post 33204)
Alright wwbsox, thx for the update on IDE1, I've got the devices listed as ICH10 now.
Could you tell me where the section for GFX is in your dsdt or tell me how to inject my own 8800GT code?
I'm not keen on using those patchers so I prefer the manual method.

Thx in advance lad.


That's very specific to each card. Depends on how much video ram your card has, what kind of ports you have and more importantly which slot it's in. I've commented what you need to change. Google gfxutil and you should find out how to find your PCI locations.

Here is a patch you need to place within the Device (PCI0) section. This is for a 512 8800GT with two DVI ports)

Code:

            Device (PEGP)
            {
                Name (_ADR, 0x00010000) //<-- This is the location on the PCI bus (important)
                Method (_STA, 0, NotSerialized)
                {
                    Return (0x0F)
                }

                Method (_PRW, 0, NotSerialized)
                {
                    Return (Package (0x02)
                    {
                        0x09,
                        0x05
                    })
                }

                Device (GFX1)
                {
                    Name (_ADR, Zero)
                    Name (_SUN, 0x0B)
                    Method (_PRW, 0, NotSerialized)
                    {
                        Return (Package (0x02)
                        {
                            0x0B,
                            0x04
                        })
                    }

                    Method (_DSM, 4, NotSerialized)
                    {
                        Store (Package (0x16)
                            {
                                "@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", //<-- This denotes the ports in the card (not as important)
                                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", //<-- How much RAM you have (important)
                                Buffer (0x04)
                                {
                                    0x00, 0x00, 0x00, 0x20
                                },

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

                                "model",
                                Buffer (0x17)
                                {
                                    "NVIDIA Geforce 8800 GT"
                                },

                                "rom-revision",
                                Buffer (0x06)
                                {
                                    "3173a"
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }
                }
            }


wwbsox 09-02-2009 11:44 AM

Dsdt gfx
 
1 Attachment(s)
@snow Of course you know it is card specific, but I am posting my DSDT with the graphics included. Look for the PEGP section under PCI0. This will give you something to compare it to.

And it looks like kDawgs last post includes the section for the same card you have.

Anyways, I used ACPI patcher in windows. Under graphics, select your card and memory amount. For NVCAP I selected dual DVI (dont use anything else). For location PCI 0 check the "use dsdt gfx" box and the PEGP box.

Works for me, although I can only use .aml's created by ACPI patcher. Iaslme can decompile and recompile them fine. But if I try to use a .dsl created by ACPI patcher, Iaslme cannot compile it b/c of too many errors? Hmmm....

Good Luck.

Snow 09-02-2009 11:48 AM

Alright guys, will try kDawgs code first since I have the same card, 8800GT, 512MB and dual DVI's in pci-x slot 0 I think (the first)

If this doesnt work out I"ll prob use ACPI patcher, thing is though, this patcher starts all over and I don't want it to mess with the code I already have.

I'll post back with update!

Thx

Update: where would I find the pci location (ADR) in IORegistryExplorer tool?

Update 2: DevicePath = PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0) is what GFXutil reports to me. does that mean ADR string should be:

0x101000000

wwbsox 09-02-2009 01:17 PM

Gfx
 
@snow

I didnt want to start all over with my DSDT either. So I generated a dsdt with the graphics and copied the entire PEGP section to my current DSDT with the other fixes.

Also, I'm pretty sure my card showed up in ioreg as a PCI address 1, but when I selected this address in ACPI patcher, it never added it to the dsdt. Had to choose PCI 0.

Snow 09-02-2009 01:36 PM

Done!

I pasted the exact same code as kDawgs since my ADR was 0x00010000 and not what I thought before.

http://a.imagehost.org/0013/Post_fix.png

Thx again all for the help!

Snow 09-02-2009 01:41 PM

I think I have only 1 issue remaining (until I get me one of those fancy mac keyboards)

I've made my own keyboard layout wit ukelele a long time ago and it matches my belgian point keyboard perfectly but now and then osX decides to load the default keyboard (which is belgian but apple layout)
I've tried removing the bundle from S/L/Keyboard Layouts to block the default load but I think I ran into issues. I don't know if its directly related to the removal or to my dsdt patching etc but I lost my keyboard alltogether.
Now with putting the bundle back in all is fine.

I guess I have to start modding with Quickeys :/

Voyn1x 09-02-2009 01:45 PM

Thanks for posting this fix! (Y)

I played with my DSDT for weeks trying to solve this problem. Up to now i've been using Slices modified IOUSBFamily as a work around.

wwbsox 09-02-2009 02:09 PM

Quote:

Originally Posted by Voyn1x (Post 33229)
Thanks for posting this fix! (Y)

I played with my DSDT for weeks trying to solve this problem. Up to now i've been using Slices modified IOUSBFamily as a work around.

Glad it worked for you. Credit goes to the original posters. All I did was consolidate the 2 fixes and put it where you dont have to read through a ton of posts to find it.

EnzoFX 09-02-2009 09:26 PM

1 Attachment(s)
Snow, I also used ACPI Patcher to enable my 9800gt through dsdt, works just fine. Just gotta make sure you get the right settings.


I am wondering if anyone's using this on a P35-DS3L
My usb ports also show up as "Expansion Slot", and only 2 are "High-Speed"
I cannot wake from sleep with kb/mouse. Most importantly however, sometimes my keyboard isn't detected @ startup. In BIOS, I do have kb usb support (Not mouse), which I always wondered if it was related.
EDIT: just checked if I got the "Device Removal" error with a usb flash drive, yup, sure do.



I'd like to try this (Never have edited manually). Why is one device with that specific address left alone?
Attached is my dsdt.dsl usb portion of my file, In case someone wants to speed up my process =P

wwbsox 09-03-2009 01:07 AM

1 Attachment(s)
@EnzoFX

Here you go.