overdue-scratch

Author Topic: [SOLVED] GraphicsEnabler working condition depends on PCI device tree ?  (Read 5718 times)

0 Members and 1 Guest are viewing this topic.

hnak

  • Entrant
  • Posts: 7
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 )
« Last Edit: September 20, 2009, 04:33:56 PM by Kabyl »

BladeRunner

  • Member
  • Posts: 88
Re: GraphicsEnabler working condition depends on PCI device tree ?
« Reply #1 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

Scroll down to the next to last post - by user BuildSmart.  I tried it and it corrected the problem for me.
Base system: HP Pavilion P6340f Desktop  Intel� Core2Quad�  CPU: Speed: 2.66 GHz   Package: Socket 775 LGA:  L2 Cache 2 x 2048 KB  RAM : 8.0 GB:  DDR3

Disks : 2 eSATA @ 2 TB (hardware raid 1), NAS 4 x 2 TB raid 5 Display : 21" Samsung on EVGA GeForce 9400 GT - PCIe - 1900x1080  Keyboard/mouse :  USB connected  OS Version : 10.6.0 from retail DVD + SW update to 10.6.5 - Kernel:  Vanilla mach_kernel

hnak

  • Entrant
  • Posts: 7
Re: GraphicsEnabler working condition depends on PCI device tree ?
« Reply #2 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


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.

Kabyl

  • VoodooLabs
  • Posts: 158
Re: GraphicsEnabler working condition depends on PCI device tree ?
« Reply #3 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.

hnak

  • Entrant
  • Posts: 7
Re: GraphicsEnabler working condition depends on PCI device tree ?
« Reply #4 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>


hnak

  • Entrant
  • Posts: 7
Re: GraphicsEnabler working condition depends on PCI device tree ?
« Reply #6 on: September 20, 2009, 02:41:20 PM »
I modified DSDT.aml/com.apple.Boot.plist and confirmed the fix.

Thanks

BuildSmart

  • Member
  • Posts: 30
Re: [SOLVED] GraphicsEnabler working condition depends on PCI device tree ?
« Reply #7 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.