Jump to content

Testers Wanted - Zotac GTX 460 black screen issue


derda
 Share

85 posts in this topic

Recommended Posts

Hi

anyone could help me with a GTX 460? after enabling graphics in boot.plist i only get a black screen. no errors...

Many thanks

Mike

 

I've been having the same issue with my GTX 460. So far, I've made no progress with any combination of 10.6.7, various versions of Chameleon, PCIRoot, and most recently, a custom DSDT. I have tried both the modified and direct from NVIDIA driver packages and neither makes much difference. I've also added my card's ID to the Info.plist to no avail. My guess is that the driver can't successfully select the right output on some versions of the GTX460 like the Zotac I have.

Link to comment
Share on other sites

I've tha same zotac. Now if i set graphics yes in boot.plist it says no vram in profiler. if i don't set this it says 128mb vram. I've 1024MB with the GTX460, anyway i only want to test some 3D apps but they say that i don't have the minimal 16vram etc. Could it be that the opengl 1.6 frameworks is to old? i don't care about fps i only need to test. many thanks Michael

Link to comment
Share on other sites

I've tha same zotac. Now if i set graphics yes in boot.plist it says no vram in profiler.

 

Use Chameleon 2.0 RC5

Run at least 10.6.5

Install the latest Quadro 4000 drivers from nvidia

Find out if you need PCIRoot=1 in your /Extra/com.apple.Boot.plist

 

If you've done all of that, it should work.

 

Unless there really is something different with the Zotac cards.

Link to comment
Share on other sites

Find out if you need PCIRoot=1 in your /Extra/com.apple.Boot.plist

 

I try that again. As for the software i've that or even newer. It took long to get even that far. Before I had a black screen and lots of other weirdies.

Thanks

 

The profiler output:

----

Graphics by NVIDIA:

 

Chipset Model: Graphics by NVIDIA

Type: GPU

Bus: PCIe

PCIe Lane Width: x16

VRAM (Total): 128 MB

Vendor: NVIDIA (0x10de)

Device ID: 0x0e22

Revision ID: 0x00a1

ROM Revision: NVinject 0.2.2

Displays:

L225W:

Resolution: 1680 x 1050 @ 60 Hz

Pixel Depth: 32-Bit Color (ARGB8888)

Main Display: Yes

Mirror: Off

Online: Yes

Display Connector:

Status: No Display Connected

Link to comment
Share on other sites

This doesn't change anything. withou nvinject i only get a low res. setting grahics to yes gives black screen, changing pci root doesn't change anything.

 

I had to twice move back the backup...is the hfs+ journaled that crappy? :D

using non journaled now...seems better. Also tried nvenabler but get kernel panic with that only. Any more suggestions?

Thanks

Link to comment
Share on other sites

I've been having the same issue with my GTX 460. So far, I've made no progress with any combination of 10.6.7, various versions of Chameleon, PCIRoot, and most recently, a custom DSDT. I have tried both the modified and direct from NVIDIA driver packages and neither makes much difference. I've also added my card's ID to the Info.plist to no avail. My guess is that the driver can't successfully select the right output on some versions of the GTX460 like the Zotac I have.

 

HI Toe Dirt

I've seen some tutorials but don't understand. Could you explain easily how to use my device ID as above. I want to try that as well. As other GTX460 are reported to work it must be some Zotac glitch. Some ideas on what else to try?

Thanks

Link to comment
Share on other sites

Could you explain easily how to use my device ID as above.

 

All GTX 460 cards have the same device ID, 0x0e22.

 

There is nothing you can do with that device ID that will help, the Nvidia Quadro 4000 drivers already "understand" this device ID.

 

I maintain (unless Zotacs are somehow different from all other GTX 460 cards) that if all the conditions I listed above are met and the card isn't working, then there is something wrong with your injection method.

 

The only difference between the drivers posted on the tonymac website and those you can download from Nvidia is that the MacPro3,1, 4,1 and 5,1 model identifier installation checks have been removed. This you can easily do yourself by editing distribution.dist inside the installer package with a text editor.

 

Either way, whatever it turns out to be, the problem you and the other guy is having is definitely not with the Nvidia drivers themselves.

 

From a quick Google images search I can see that some Zotacs do seem to have non-standard outputs, it looks like dual HDMI and dual DVI? I guess it's possible that that could cause trouble with display detection.

You could try using NVENabler and experiment with injecting the 'display-config' property. Read the NVEnabler release thread over on the ProjectOSX forums for more information.

Link to comment
Share on other sites

I have the same exact problem with my Zotac GTX 460 1GB. It worked fine ONE time, with full acceleration and identification. The only problem was it seemed to be limited to 1600x1200 (my monitor is an Apple Cinema Display 30", 2560x1600.) But on the next reboot, after installing some Realtek ethernet drivers, it stopped working.

Link to comment
Share on other sites

Could one of you with a Zotac GTX 460 extract the BIOS from it, zip it and attach it here?

 

I will try to ask a favor from someone who knows more about this, maybe the ROM can be patched so that the card will work better with OS X.

 

You can use NVFlash (windows command line app) or GPU-Z to dump the ROM to a file.

Link to comment
Share on other sites

Gringo, attached the gpu.z output.

 

http://www.bilder-space.de/show_img.php?im...p;size=original

 

 

removed my realtek but without success. Below the dmesg output:

 

 mikes-Mac-Pro:~ mike$ sudo dmesg

 Password:

 npvhash=4095

 Darwin Kernel Version 10.7.0: Sat Jan  29 15:16:10 PST 2011; root:xnu-1504.9.37~1/RELEASE_X86_64

 vm_page_bootstrap: 1013461 free pages  and 26923 wired pages

 kext submap [0xffffff7f80600000 -  0xffffff8000000000], kernel text [0xffffff8000200000 -  0xffffff8000600000]

 standard timeslicing quantum is 10000  us

 mig_table_max_displ = 73

 NullCPUPowerManagement::init:  properties=0xffffff8009cb3880

 NullCPUPowerManagement::start

 AppleACPICPU: ProcessorId=1  LocalApicId=0 Enabled

 AppleACPICPU: ProcessorId=2  LocalApicId=1 Enabled

 AppleACPICPU: ProcessorId=3  LocalApicId=130 Disabled

 AppleACPICPU: ProcessorId=4  LocalApicId=131 Disabled

 calling mpo_policy_init for Quarantine

 Security policy loaded: Quarantine  policy (Quarantine)

 calling mpo_policy_init for Sandbox

 Security policy loaded: Seatbelt  sandbox policy (Sandbox)

 calling mpo_policy_init for TMSafetyNet

 Security policy loaded: Safety net for  Time Machine (TMSafetyNet)

 Copyright © 1982, 1986, 1989, 1991,  1993

 The Regents of the University of  California. All rights reserved.

 MAC Framework successfully initialized

 using 16384 buffer headers and 4096  cluster IO buffer headers

 IOAPIC: Version 0x20 Vectors 64:87

 ACPI: System State [s0 S3 S4 S5] (S3)

 netkas presents fakesmc, a kext which  emulates smc device

 RTC: Only single RAM bank (128 bytes)

 mbinit: done (64 MB memory set for mbuf  pool)

 From path: "uuid",   

 Waiting for boot volume with UUID  3C9EBE14-CDED-3673-AFF5-9031570988CF

 Waiting on <dict  ID="0"><key>IOProviderClass</key><string  ID="1">IOResources</string><key>IOResourceMatch</key><string  ID="2">boot-uuid-media</string></dict>

 com.apple.AppleFSCompressionTypeZlib  kmod start

 FireWire runtime power conservation  disabled. (2)

 com.apple.AppleFSCompressionTypeZlib  load succeeded

 SuperVIAATA for Snow Leopard by  c0rk007hck

 SuperVIAATA for Snow Leopard by  c0rk007hck

 FireWire (OHCI) VendorID 1106 ID 3044  built-in now active, GUID 001e8c00000ec29a; max speed s400.

 Got boot device =  IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/SATA@1F,2/AppleAHCI/PRT5@5/IOAHCIDevice@0/AppleAHCIDiskDriver/IOAHCIBlockStorageDevice/IOBlockStorageDriver/SAMSUNG  HD103SJ Media/IOFDiskPartitionScheme/Untitled 1@1

 BSD root: disk1s1, major 14, minor 8

 Kernel is LP64

 systemShutdown false

 Apple16X50ACPI1: Identified Serial Port  on ACPI Device=UAR1

 Apple16X50UARTSync1: Detected  16550AF/C/CF FIFO=16 MaxBaud=115200

 Waiting for DSMOS...

 Previous Shutdown Cause: 0

 FakeSMC: key info not found MSDS,  length - 6

 NVDAGF100HAL loaded and registered.

 DSMOS has arrived

 ACPI_SMC_PlatformPlugin::start -  waitForService(resourceMatching(AppleIntelCPUPowerManagement) timed  out

 FakeSMC: key not found BEMB, length - 1

 ACPI_SMC_PlatformPlugin::gatherCStateOverrides  - failed to set c-state demotion data: -1

 NTFS driver 3.4 [Flags: R/W].

 NTFS volume name Win-C, version 3.1.

 NTFS volume name Win-G, version 3.1.

 virtual bool  IOHIDEventSystemUserClient::initWithTask(task*, void*, UInt32):  Client task not privileged to open IOHIDSystem for mapping memory

 NTFS volume name Win-D, version 3.1.

 NTFS volume name Win-H, version 3.1.

 mikes-Mac-Pro:~ mike$

Link to comment
Share on other sites

Cool, thanks Krazubu!

 

Okay so let's see what we can do with this, I can think of two ways.

 

Method 1:

Set GraphicsEnabler=n in /Extra/com.apple.Boot.plist - use NVEnabler/NVEnabler64.kext and add the provided NVCAP and display-cfg strings to its info.plist. You have to make it load the modified ROM as well.

More info in the NVEnabler release thread over at the ProjectOSX forums:

http://www.projectos...p?showtopic=370

 

Method 2:

Install Chameleon 2.1

 

Name Krazubu's patched ROM 10de_0e22.rom and place it in /Extra

Edit your /Extra/org.chameleon.Boot.plist and add this:

 

GraphicsEnabler=yes

UseNvidiaROM=yes

VBIOS=yes

NVCAP=04000000000003000c0000000000000a00000000

display_0=03030100

display_1=FFFF0801

 

You can also make a plist with only the display-cfg values, use gfxutil to convert it to hex and then inject it via device-properties string in /Extra/com.apple.Boot.plist. This will work fine alongside GraphicsEnabler=y (I've done it myself).

 

It's also possible to inject just the display-cfg via gfx0 device in DSDT, this will work alongside GraphicsEnabler=y as well. I'll post example code later.

 

Method 3 (has a disadvantage if you're running Snow Leopard):

http://www.insanelym...dpost&p=1696332

 

Now get cracking!

Link to comment
Share on other sites

So I tried route 2 with my card. I added everything you suggested and tried injecting display-cfg properties because I use AnVAL for Sandy Bridge support and noticed Valv had implemented jingu's patch a long time ago. However, I didn't get any change. Unless I didn't use the right key for display-cfg? The proper syntax seemed kind of hazy for Chameleon.

Link to comment
Share on other sites

Unless I didn't use the right key for display-cfg? The proper syntax seemed kind of hazy for Chameleon.

You'd have to ask Valv how he implemented it, or maybe you can find out yourself by looking at the source code of his branch over here:

http://forge.voodooprojects.org/p/chameleo...D/branches/valv

In Jingu's code example he hardcoded the display-cfg values that worked for him.

Link to comment
Share on other sites

I already posted how to do that on the previous page!

If you're having problems following a specific part of my instructions, let me know.

 

It's probably easier if you just use NVEnabler.kext, it can load the patched ROM and lets you set the NVCAP and display-cfg overrides as well.

 

See the NVEnabler release thread over on the ProjectOSX forums for usage instructions.

Link to comment
Share on other sites

How to load an alternate VGA BIOS :

Open NVE plist with a plist editor. Add a child inside the section "addProperties". Set its name to "vbios" (has to be in lower case), its type to data, and past the BIOS in hex in the value field.

Also remove the entry "skipvbios_disabled".

 

Don't understand that. Could someone paste a correct file for me to try? Many thanks.

 

---------------

<?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>CFBundleDevelopmentRegion</key>

<string>English</string>

<key>CFBundleExecutable</key>

<string>NVEnabler</string>

<key>CFBundleIdentifier</key>

<string>com.osxenablers.NVEnabler</string>

<key>CFBundleInfoDictionaryVersion</key>

<string>6.0</string>

<key>CFBundleName</key>

<string>NVEnabler</string>

<key>CFBundlePackageType</key>

<string>KEXT</string>

<key>CFBundleSignature</key>

<string>????</string>

<key>CFBundleVersion</key>

<string>0.0.1</string>

<key>IOKitPersonalities</key>

<dict>

<key>NVEnabler</key>

<dict>

<key>CFBundleIdentifier</key>

<string>com.osxenablers.NVEnabler</string>

<key>IOClass</key>

<string>NVEnabler</string>

<key>IOKitDebug</key>

<integer>65535</integer>

<key>IOMatchCategory</key>

<string>IOFramebuffer</string>

<key>IONameMatch</key>

<string>display</string>

<key>IOPCIMatch</key>

<string>0x000010de&0x0000ffff</string>

<key>IOProbeScore</key>

<string>8000</string>

<key>IOProviderClass</key>

<string>IOPCIDevice</string>

<key>addProperties</key>

<dict>

<key>@0,compatible</key>

<string>NVDA,NVMac</string>

<key>@0,device_type</key>

<string>display</string>

<key>@0,display-cfg</key>

<data>

AwEAAA==

</data>

<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,display-cfg</key>

<data>

//8AAQ==

</data>

<key>@1,name</key>

<string>NVDA,Display-B</string>

<key>device_type</key>

<string>NVDA,Parent</string>

</dict>

<key>skipvbios_disabled</key>

<false/>

</dict>

</dict>

<key>OSBundleLibraries</key>

<dict>

<key>com.apple.iokit.IOPCIFamily</key>

<string>1.0.0b1</string>

<key>com.apple.kernel.iokit</key>

<string>6.0</string>

<key>com.apple.kernel.libkern</key>

<string>1.1</string>

</dict>

</dict>

</plist>

Link to comment
Share on other sites

Open NVE plist with a plist editor.

Add a child inside the section "addProperties".

Set its name to "vbios" (has to be in lower case), its type to data, and paste the BIOS in hex in the value field.

Also remove the entry "skipvbios_disabled".

 

Don't understand that.

 

That's because you aren't following it to the letter. Like it says, use plist editor that comes with Apple xcode to edit the plist.

Once you're looking at the plist in that editor the instructions will be easier to understand.

Adding "a child", "set its type to data" and "value field" are all terminology from that editor.

 

Open the BIOS in a hex editor (google 0xED, it's free) and copy/paste from there.

Link to comment
Share on other sites

 Share

×
×
  • Create New...