Voodooprojects

Chameleon => Bug Reports => Topic started by: hnak on September 19, 2009, 02:45:32 PM

Title: [SOLVED] GraphicsEnabler working condition depends on PCI device tree ?
Post by: hnak on September 19, 2009, 02:45:32 PM
I tested RC3 GraphicsEnabler feature with several motherboards/video cards/CPUs/10.5+10.6.

It seems whether Nvidia injection works depends on motherboard ( DeviceTree postion ? ).

When Chameleon reports PciRoot(0x0)/Pci(0x02,0x0)/Pci(0x0,0x0), it always works regardless of OS/CPU/VC.
(  Gigabyte GA-MA770-DS3, Asus M4A78 Plus, Asus P5B-E, etc. )

When it repors PciRoot(0x0)/Pci(0x10,0x0)/Pci(0x0,0x0), it doen't. It requires other injectors ( ex. ATY_Init )
(  Gigabyte GA-M720-US3 )
Title: Re: GraphicsEnabler working condition depends on PCI device tree ?
Post by: BladeRunner on September 19, 2009, 04:27:27 PM
I tested RC3 GraphicsEnabler feature with several motherboards/video cards/CPUs/10.5+10.6.

It seems whether Nvidia injection works depends on motherboard ( DeviceTree postion ? ).

When Chameleon reports PciRoot(0x0)/Pci(0x02,0x0)/Pci(0x0,0x0), it always works regardless of OS/CPU/VC.
(  Gigabyte GA-MA770-DS3, Asus M4A78 Plus, Asus P5B-E, etc. )

When it repors PciRoot(0x0)/Pci(0x10,0x0)/Pci(0x0,0x0), it doen't. It requires other injectors ( ex. ATY_Init )
(  Gigabyte GA-M720-US3 )

I think there is a solution for this problem posted in this thread.

   http://forum.voodooprojects.org/index.php/topic,608.0.html (http://forum.voodooprojects.org/index.php/topic,608.0.html)

Scroll down to the next to last post - by user BuildSmart.  I tried it and it corrected the problem for me.
Title: Re: GraphicsEnabler working condition depends on PCI device tree ?
Post by: hnak on September 20, 2009, 09:38:45 AM

I think there is a solution for this problem posted in this thread.

   http://forum.voodooprojects.org/index.php/topic,608.0.html (http://forum.voodooprojects.org/index.php/topic,608.0.html)


I actually modified the source as indicated and tested before reporting.
There was no difference.

What's strange ( a little bit ) is that efi string injection by "device-properties" works.
Title: Re: GraphicsEnabler working condition depends on PCI device tree ?
Post by: Kabyl on September 20, 2009, 11:11:17 AM
I actually modified the source as indicated and tested before reporting.
There was no difference.

What's strange ( a little bit ) is that efi string injection by "device-properties" works.


Post your decoded (plist format) device-properties.
Title: Re: GraphicsEnabler working condition depends on PCI device tree ?
Post by: hnak on September 20, 2009, 01:05:20 PM
Post your decoded (plist format) device-properties.

This is my working device-property.
Code: [Select]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PciRoot(0x1)/Pci(0x10,0x0)/Pci(0x0,0x0)</key>
<dict>
<key>@0,compatible</key>
<string>NVDA,NVMac</string>
<key>@0,device_type</key>
<string>display</string>
<key>@0,name</key>
<string>NVDA,Display-A</string>
<key>@1,compatible</key>
<string>NVDA,NVMac</string>
<key>@1,device_type</key>
<string>display</string>
<key>@1,name</key>
<string>NVDA,Display-B</string>
<key>NVCAP</key>
<data>
BAAAAAAAAwAMAAAAAAAABwAAAAA=
</data>
<key>NVPM</key>
<data>
AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
</data>
<key>VRAM,totalsize</key>
<string>0x20000000</string>
<key>device_type</key>
<string>NVDA,Parent</string>
<key>model</key>
<string>nVidia GeForce 9400 GT</string>
<key>name</key>
<string>display</string>
<key>rom-revision</key>
<string>nVidia GeForce 9500 GT OpenGL Engine [EFI]</string>
</dict>
</dict>
</plist>
Title: Re: GraphicsEnabler working condition depends on PCI device tree ?
Post by: Kabyl on September 20, 2009, 01:40:52 PM
http://chameleon.osx86.hu/articles/chameleon-20rc2-is-available-with-new-features-and-less-bugs#c001416
Title: Re: GraphicsEnabler working condition depends on PCI device tree ?
Post by: hnak on September 20, 2009, 02:41:20 PM
I modified DSDT.aml/com.apple.Boot.plist and confirmed the fix.

Thanks
Title: Re: [SOLVED] GraphicsEnabler working condition depends on PCI device tree ?
Post by: BuildSmart on September 21, 2009, 04:45:27 PM
Try it with multiple video cards, I think you'll find it doesn't work and if your path is larger than PciRoot(0xN)/Pci(0xN,0xN)/Pci(0xN,0xN) for example like PciRoot(0xN)/Pci(0xN,0xN)/Pci(0xN,0xN)/Pci(0xN,0xN)/Pci(0xN,0xN) and you don't apply the fix listed in the post I left then there is no way it will ever work.

If you have an issue with PciRoot(0xN)/Pci(0xNN,0xN)/Pci(0xN,0xN) then something is reducing the number of bits in pci_addr_t->dev to less than 5 bits (max value of 0x1F) in your case but since I am unable to duplicate your issue I can't verify that a problem exists so it might be something else causing your video issue.