Jump to content

10.6.3 nVidia Blank Screen Issue with DVI/HDMI on 9800GT


athena
 Share

434 posts in this topic

Recommended Posts

Stupid of me to forget the source for the AsereBLN bootloader parameters in my post but you found them yourself. Do I understand it correctly that you are now stuck with 800x600 and your hdmi projector is not working?

Did you use the option 'detect displays' in screen in the system properties and change your resolution. When I first booted with the 8800gt-rom my display was also set to 800x600 but I could change it to 1280x1024 + 1920x1080.

Link to comment
Share on other sites

Success !!!!!

I tried bigfish's macpro8800gt.rom and renamed it NVIDIA.rom.

( http://www.insanelymac.com/forum/index.php?showtopic=219232 )

Success for me too, with a 8800 GT 1 Go !!

I was stucked on 10.6.2, blank screen with 10.6.3 and 2 HDMI monitors.

 

With the .rom file and this in my com.apple.Boot.plist all it's ok with 10.6.3 update ;)

 

	 <key>GraphicsEnabler</key>
 <string>yes</string>
 <key>VideoROM</key>
 <string>nvidia.rom</string>
 <key>VBIOS</key>
 <string>yes</string>	
 <key>Graphics Mode</key>
 <string>1920x1200x32 </string>

 

Thanks a lot guys !

Link to comment
Share on other sites

Did you use the option 'detect displays' in screen in the system properties and change your resolution. When I first booted with the 8800gt-rom my display was also set to 800x600 but I could change it to 1280x1024 + 1920x1080.

 

Yes, I did "detect displays" - did nothing. What's most strange is how with nothing connected to the VGA port (just my primary DVI display @1900x1200) the system was also reporting a "VGA 800x600" device.

 

Usually the moment when I hit "detect displays" is when the screen locks up (if I didn't have the HDMI connected on boot).

 

I tried a bunch of different .rom files I found, including some more specific 9800GT 1GB .roms. All had the same effect - no lockup, but a phantom VGA display and nothing happening over HDMI.

 

So I decided to go "all the way" and extract my own .rom from my own card, so there could be no mismatch of features, etc. (I have always doubted this using of a generic 8800GT .rom would work, as there are many variants of the 8800 and 9800, with all kinds of ports: s-video, hdmi, dual-dvi, etc. - if the .rom wasn't from a model with HDMI, how could it?)

 

This meant going into dos-land, figuring out nvflash, and without a floppy drive, creating boot-DOS USB flash drive (not a simple task). I finally got it, and saved my .rom - figuring now that I knew how to reliably load the .rom files, having the exact contents of *my card* would be the perfect solution.

 

But I was rather surprised when I swapped in my custom .rom and found that while the phantom VGA display was gone, the screen lockup when I plugged in HDMI had returned! I checked and made sure my .rom was being loaded by AsereBLN, and most everything else about graphics was working fine - but the @#$! HDMI freeze was back!

 

Why would using random related 8800GT roms fix the HDMI freeze on my 9800GT, but the actual rom pulled straight from my card not???

 

10de_0614.rom.zip

 

I've attached the rom file (60,928 bytes) for my Gigabyte 9800GT Silent Cell (HDMI, VGA, DVI) in case anyone else can figure it out...

 

FYI - I opened it with NiBiTor and it validates fine (though many fields were empty). Ironically many of the other 8800 and 9800 roms I opened with NiBiTor did *not* validate....

Link to comment
Share on other sites

Can you try something for me?

 

I've attached the ROM from my 9800 GTX+, it was patched with Krazubu's NVEnabler, then extracted from ioreg.

( thread: http://www.projectosx.com/forum/index.php?...post&p=5831 )

 

I don't have a HDMI display (yet) so I don't know if it works with HDMI, but I have both DVI outputs (one with DVI-VGA adapter) and analog TV-out working with this ROM + display-cfg and NVCAP injected via DSDT:

 

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

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

							"@0,display-cfg", 
							Buffer (0x04)
							{
								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 (0x04)
							{
								0xFF, 0xFF, 0x00, 0x01
							}, 

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

							"NVCAP", 
							Buffer (0x18)
							{
								/* 0000 */	0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 
								/* 0008 */	0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 
								/* 0010 */	0x00, 0x00, 0x00, 0x00
							}
						}, Local0)
					MCDP (Arg2, RefOf (Local0))
					Return (Local0)
				}

 

If you're using AsereBLN remember to rename it so that it matches your device ID.

10DE_0612.rom.zip

Link to comment
Share on other sites

Thanks anyway. I added a link to my post leading to more information.

Maybe you can try doing the same as I did, but using the ROM from your own card.

 

Also, try again with my NVCAP and display-cfg values.

Link to comment
Share on other sites

I had understood that this method of supplying a .rom thru boot.plist was independent of adding graphics info to DSDT (usually you don't mix methods - thus no EFI strings, etc.)

 

I had actually injected my NVCAP values via boot.plist while using the .rom, but had no effect...

 

wish I had found this last night before I wrestled with DOS boot disks...

 

here's nvflash in a terminal app - drag it onto your terminal window and you can dump your rom easily without ever leaving osx...

 

nvflash.zip

 

note you'll need to "sudo" to get the saving to file to work. You can use all the display commands without sudo...

Link to comment
Share on other sites

I had understood that this method of supplying a .rom thru boot.plist was independent of adding graphics info to DSDT

 

Indeed it is, and that's why injecting additional data via DSDT (or device-properties string) works!

 

You can inject your video card BIOS all you want but (as I've been trying to say earlier in this thread) Mac OS and its nvidia drivers still expect certain info that it won't find in your ROM, because the ROM is from a PC video card.

You still have to inject data that isn't contained in the ROM, either via Chameleon Graphics Enabler, EFI Device Properties string, DSDT or Injector.kext. Injecting the ROM alone doesn't do anything.

 

It's okay to use several injection methods at the same time as long as they are used to inject different data. ie, don't inject display-cfg values using both DSDT patch and device properties string for example. It all ends up in ioreg in the end anyway, it doesn't matter where it comes from.

 

Disclaimer: This is from personal experience and experiments done on my own hardware. YMMV

Link to comment
Share on other sites

Injecting the ROM alone doesn't do anything.

Well, works for me for overclocking/underclocking purposes.

 

I still can't figure out why on my System works with DVI to HDMI even without injecting the video BIOS.

 

Cheers!

Link to comment
Share on other sites

I decided to test one more thing. I swapped out an evga 9800GT with DVI/DVI/COMPONENT connectors for my gigabyte 9800GT with DVI/VGA/HDMI connectors. Using the nvidia .rom file still worked fine (once I renamed for the new device ID).

 

I already knew that plain dual monitors would work fine (DVI or VGA or both), but I needed to isolate the HDMI problem...

 

Now in the past on 10.6.3, with just plain GraphicsEnabler=Yes and no .rom files, hooking up my HDMI projector with the DVI adapter would still result in a screen lockup/freeze.

 

But this time, with the 8800gt .rom file, I was able to successfully connect both my DVI monitor and the HDMI projector with the DVI->HDMI adapter. It behaved just like it did back in 10.6.0 days, still recognizing the projector as a "TV" source and giving me TV resolutions (480p, 720p, 1080p). So two DVI ports are viable with the .rom method, even if the devices are technically HDMI (I guess the adapter is interfering with HDCP?)

 

So it's come down to simply the HDMI port on my gigabyte 9800GT card. It just freezes the screen no matter what I try - even using a .rom extracted from the card itself. So if I want to use my silent cell fanless card, I have to hook up my Dell monitor via VGA and the projector on the DVI port with adapter (which sucks cause the VGA picture is noticeably less sharp than the DVI).

 

I'm probably going to move on to my next option, which is using an addition nvidia 7200 card in another slot, allowing me to use the DVI on that card for the projector and the DVI on my 9800GT for my main monitor...

Link to comment
Share on other sites

That'll limit you to 32-bit (kernel and drivers) mode. 7xxx cards don't have 64-bit drivers.

 

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

 

(I said: Injecting the ROM alone doesn't do anything)

Well, works for me for overclocking/underclocking purposes.

 

You misunderstand.

 

Even if you're injecting a video ROM you still need a conventional injection method in order to have QE/CI - Chameleon Graphics Enabler, DSDT patch, Device Properties String or Injector.kext. You cannot have fully working graphics just by loading the ROM from your PC video card.

 

Maybe it's possible if you inject the ROM from the Apple equivalent of your video card, I don't know..but I doubt it.

Link to comment
Share on other sites

That'll limit you to 32-bit (kernel and drivers) mode. 7xxx cards don't have 64-bit drivers.

 

At the moment, I'm 32-bit kernel mode anyway, so my built-in ethernet works (realtek)...

 

I can't find a rom file for my 7200GS anywhere - I was going to try just naming it and placing it like the one for my 9800GT, as chameleon does complain at boot that the rom file can't be opened (because it doesn't match the 7200)

 

Can I mix and match methods? use a EFI string in boot.plist for the 7200GS while using the rom method for the 9800GT? How would I get the efi string for that old card (efi studio doesn't list it)?

Link to comment
Share on other sites

So I've had this message flash as chameleon began booting, but it always went so quick I could never read it - so I video'd it and went frame by frame...

 

I had assumed it was complaining about my second graphics card not being properly accounted for, but to my surprise, it was complaining about the file size of the 8800GT mac .rom that has been (mostly) working for me!

 

post-381722-1276054821_thumb.jpg

 

Now I did notice that the 8800 .rom was bigger than the .rom's I extracted for both my cards (which are under 64K). I gathered that this was normal for mac roms, but it appears that AsereBLN chameleon doesn't like mac roms (though it still allows it and uses it). I'm wondering, however, exactly what's getting thrown out in the "truncation"?

 

Of course, you'd think that the proper method would be to use my card's own .rom file, but as I've posted earlier, when I do that, I get no benefits - the HDMI freeze problem returns...

 

any clues?

Link to comment
Share on other sites

not sure what I would do once I compared it... if it's getting cut off, I wouldn't know which bits mattered...

 

Everything is "working" only in that if I plug my HDMI projector with a DVI adapter, it doesn't lockup the screen in 10.6.3 - but it still doesn't work in the actual HDMI port (and I only have one DVI port). Also, the system permanently reports a VGA display attached (even when there isn't one) - so I know this rom isn't really working properly...

Link to comment
Share on other sites

many posts ago, it was determined that the HDMI problems with 10.6.3 are due to HDCP, and all other solutions for multiple displays or using DVI ports are irrelevant...

 

It's definitely a 10.6.3 issue, as my 9800GT card works perfectly with HDMI when I do a clean 10.6.0 install...

 

Also, it only seems to apply to newer boards (9800+), as some 8XXX boards are working.

 

Anyone have any new insight into the 10.6.3 HDCP HDMI issues with 98XX boards?

 

Is there a DSDT solution? Is there a way to disable HDCP on the board (via bios/strings/etc)?

Link to comment
Share on other sites

Just wanted to weigh in with my $0.02...

 

* The instructions for removing strings from com.apple.Boot.plist refers to /Library/Preferences/SystemConfiguration/com.apple.Boot.plist (the one read by the kernel, and edited by EFI Studio) - not /Extra/com.apple.Boot.plist.

 

* The rest (referring to nvidia.rom, etc) go in /Extra/com.apple.Boot.plist (read by your boot loader.)

 

I have tested with both a 9800GT and 9800GTX - both recognize correctly in System Profiler, and work correctly with CI/QE on my 32" 1080p TV (primary monitor), plus DVI (24" secondary monitor)

Link to comment
Share on other sites

The instructions for removing strings from com.apple.Boot.plist refers to /Library/Preferences/SystemConfiguration/com.apple.Boot.plist (the one read by the kernel, and edited by EFI Studio) - not /Extra/com.apple.Boot.plist.

 

No, you are wrong. The instructions refer to where ever your device-properties string is.

 

It doesn't make any difference which Boot.plist you use. Chameleon reads the one in /Extra before reading the one in blabla/SystemConfiguration.

You can just leave the latter completely unmodified and use the one in /Extra for everything.

 

It is not read by the kernel, the kernel doesn't have any idea what a "device-properties string" is.

 

EFI studio is old, it was released before bootloaders used /Extra, that's why it works the way it does.

Link to comment
Share on other sites

I have tested with both a 9800GT and 9800GTX - both recognize correctly in System Profiler, and work correctly with CI/QE on my 32" 1080p TV (primary monitor), plus DVI (24" secondary monitor)

HamNCheese, can you confirm that you are using an HDMI device plugged into an HDMI port on a 9800GT? If so, what method are you using (efi strings? roms? dsdt?) and are you on 10.6.3?

 

I also would say you are incorrect about /Library/Preferences/SystemConfiguration/com.apple.Boot.plist - that file should never be touched when using a chameleon bootloader - EFIStudio output data should be placed in the /Extra/com.apple.boot.plist.

 

If you are plugging a TV into a DVI port, either with DVI cable or DVI->HDMI adapter, then yes, you should be working - as has been posted here, the lockup issue is only happening with HDMI *ports* and is presumed to be related to HDCP. I have another 9800GT card with Dual DVI ports, and yes, I can get it working fine too - but I really want to use my Silent Cell fanless card, and it only has one DVI port...

Link to comment
Share on other sites

If you are plugging a TV into a DVI port, either with DVI cable or DVI->HDMI adapter, then yes, you should be working - as has been posted here, the lockup issue is only happening with HDMI *ports*

 

My lockups happen with a DVI to HDMI adapter, and DVI to HDMI cable, I have only

DVI ports on my GTS250, and so does my Dads 9800GTX in his hackintosh, both do the

same thing, the very second you attach an HDMI adapter or HDMI to DVI cable, to ether

of the DVI ports, the Hackintosh locks up

 

 

Here are the model numbers

XFX PV-T98W-YDF GeForce 9800 GTX+

XFX GS250XYDFC GeForce GTS 250

Link to comment
Share on other sites

Sorry, I should have been more clear - yes, with the default GraphicsEnabler=Yes and nothing else, you will still get the lockup when connecting an HDMI device even to DVI ports with an adapter.

 

Using the 8800GT.rom file method will stop the lockups, allowing you to use a DVI->HDMI adapter, but it still doesn't allow use of HDMI ports...

 

I actually stopped using the .rom file recently as I got sick of the extra "phantom" VGA display the system always though was connected using this method... I'll use it when I really have no other option I guess...

Link to comment
Share on other sites

Using the 8800GT.rom file method will stop the lockups, allowing you to use a DVI->HDMI adapter, but it still doesn't allow use of HDMI ports...

 

I tried the rom on my system with the GeForce GTS 250, and it wont work for me,

have not tried on my Dads system

 

I use the myHack installer, that installs the AsereBLN Booter, Chameleon-2.0 RC4 and

PCEFI-10.5

 

I renamed the "macpro8800gt.rom" to "10de_0614.rom" and put it into /Extra

 

and put

 

<key>GraphicsEnabler</key>
<string>y</string>
<key>UseNvidiaROM</key>
<string>yes</string>
<key>VBIOS</key>
<string>yes</string>

 

in my /Extra/com.apple.Boot.plist

 

also no EFI strings, and no DSDT video entries

 

I reinstalled the myHack installer, and tried again, same results,

I get no acceleration and no resolution change, and in "System Profiler"

it shows

 

Type: GPU

Bus: PCIe

PCIe Lane Width:x16

VRAM (Total): 32 MB

Vendor: NVIDIA (0x10de)

Device ID: 0x0615

Revision ID: 0x00a2

 

With out the "10de_0614.rom" loaded and using just "GraphicsEnabler"

this is what "System Profiler" shows, and everything works perfect except

HDMI and Mirroring

 

Chipset Model: Unknown

Type: GPU

Bus: PCIe

Slot: Slot-1

PCIe Lane Width: x16

VRAM (Total): 512 MB

Vendor: NVIDIA (0x10de)

Device ID: 0x0615

Revision ID: 0x00a2

ROM Revision: xx.xx.xx - internal

Link to comment
Share on other sites

you must remove from the dsdt.aml and com.apple.boot.plist any graphic strings...put the rom in extra folder and copy this to the boot.plist:

 

<key>GraphicsEnabler</key>

<string>Yes</string>

<key>VideoROM</key>

<string>nvidia.rom</string>

<key>VBIOS</key>

<string>yes</string>

 

 

http://www.insanelymac.com/forum/index.php?showtopic=219232

 

I have no graphics strings, and i have no dsdt.aml. I am using the gigabyte mac edition bios that someone created. any idea?

Link to comment
Share on other sites

My lockups happen with a DVI to HDMI adapter, and DVI to HDMI cable, I have only

DVI ports on my GTS250, and so does my Dads 9800GTX in his hackintosh, both do the

same thing, the very second you attach an HDMI adapter or HDMI to DVI cable, to ether

of the DVI ports, the Hackintosh locks up

 

 

Here are the model numbers

XFX PV-T98W-YDF GeForce 9800 GTX+

XFX GS250XYDFC GeForce GTS 250

 

Let me get this straight,

 

You're saying that when you plug your monitor the system locks up. Have you tried booting the OS with the monitor attached and turned on.

 

I'm saying this because it's a feature of HDCP capable displays that they must have been turned on BEFORE the OS boots or the handshake process won't occur.

 

I've experienced this on Windows on the NVIDIA control panel. When I start windows and then I turn on my monitor, the control panel says that my display is not HDCP capable. I still can get full resolution and stuff, but I get that message. If I turn the monitor on before the system boots, the NVIDIA control panel says that my display and graphics card are HDCP capable.

 

The same could be happening with OS X but I think that OS X WON'T work without an HDCP connection through HDMI. Through DVI (using an adapter to HDMI), HDCP must be optional and that's why people like me with 2 DVI ports can use our monitors with a DVI to HDMI cable/adapter.

 

Cheers!

Link to comment
Share on other sites

Problem solved. I was apparently using another boot loader nl. AsereBLN Booter - Based on Chameleon RC4 / PCEFI10.5 which needs different parameters.

 

1. had to rename macpro8800gt.rom -> 10de_0614.rom and put it in /Extra

2. had to put this in boot.plist

 

<key>UseNvidiaROM</key>

<string>yes</string>

<key>VBIOS</key>

<string>yes</string>

 

Now everything works!

Very happy with the usb kakewalk method!

 

I used kakewalk method as well, but you could perhaps help me, What exactly is my boot.plist suppose to look like? and which one? the one in the /Extra folder? or the /Library/Preference/systemconfig?

Link to comment
Share on other sites

 Share

×
×
  • Create New...