top

NVCAP explained !

 
Post new topic   Reply to topic    ..:: NVinject.free.fr NVIDIA kernel extensions enabler for Mac OS X Intel ::.. Forum Index -> NVCAP Work In Progress
Author Message
gotoh
Site Admin


Joined: 06 Nov 2007
Posts: 680

PostPosted: Sun Jan 27, 2008 10:00 am    Post subject: NVCAP explained ! Reply with quote

Thanks to Arti and the lot of experiments we've been doing last weeks on hackintoshes and PowerPC Macintoshes with NVIDIA cards, NVCAP is now mostly mastered. As I've said here, NVCAP can't fix everything, but it is necessary to get proper display detection on VGA and DVI outputs. TV out and laptops' displays may require further hacking...

Anyway, first I'll show what are the important part in NVCAP and how they work :

04000000 0000xx00 xx000000 00000000 00000000

the bold bytes define output channels. They are using a "bitmap" setting to define which output is used on which channel, and there's actually not so many possibilities for usual cards.

Most cards are using 4 or 5 outputs :

1/ DVI - 2/ VGA, 3/ VGA, 4/ TV out
1/ DVI - 2/ VGA, 3/ DVI - 4/ VGA, 5/ TV out

Later I'll show how this is defined in a PC NVIDIA ROM for GeForce 5/6/7/8 series.

- so most dual DVI cards will have channels using this settings (5 different outputs) :

channel 1 :
DVI + VGA --> bitmap 0 0 0 1 1 --> hex 03
channel 2 :
DVI + VGA + TV --> bitmap 1 1 1 0 0 --> hex 1c

or

channel 1 :
DVI + VGA + TV --> bitmap 1 0 0 1 1 --> hex 13
channel 2 :
DVI + VGA + TV --> bitmap 0 1 1 0 0 --> hex 0c

TV output is usually defined a the last entry in the output definitions in VGA ROM, that's why it is using the last position (5th position on dual DVI cards, or 4th position on DVI + VGA cards)

- for DVI + VGA cards (4 different outputs) :

channel 1 :
DVI + VGA --> bitmap 0 0 1 1 --> hex 03
channel 2 :
VGA + TV --> bitmap 1 1 0 0 --> hex 0c

or

channel 1 :
DVI + VGA + TV--> bitmap 1 0 1 1 --> hex 0b
channel 2 :
VGA --> bitmap 0 1 0 0 --> hex 04
(as you can see, TV out is on last available postition, so 4th position for 4 available outputs)

or

channel 1 :
VGA --> bitmap 0 0 0 1 --> hex 01
channel 2 :
DVI + VGA + TV --> bitmap 1 1 1 0 --> hex 0e
or

channel 1 :
VGA + TV --> bitmap 1 0 0 1 --> hex 09
channel 2 :
DVI + VGA --> bitmap 0 1 1 0 --> hex 06

The main difference with windows behaviour is that Windows NVIDIA drivers are able to dynamically define which channel to use for TV output, whereas OS X drivers use a fixed position for TV out, NVCAP being defined in VGA ROM and saved in IOreg. This setting is not able to change in OS X once drivers are loaded.

So usual NVCAP for standard cards would be :

dual DVI cards :

04000000 00000300 0c000000 00000000 00000000 --> disabling 5th position, no TV output.
04000000 00001300 0c000000 00000000 00000000 --> 5th position for TV out set on channel 1, TV out available when no other display is connected on channel 1.
04000000 00000300 1c000000 00000000 00000000 --> 5th position for TV out set on channel 2, TV out available when no other display is connected on channel 2.

DVI + VGA cards :

04000000 00000100 06000000 00000000 00000000 --> disabling 4th position, no TV output, only 1 output on channel 1 and DVI + VGA on channel 2
04000000 00000300 04000000 00000000 00000000 --> disabling 4th position, no TV output, only 1 output on channel 2 and DVI + VGA on channel 1
04000000 00000300 0e000000 00000000 00000000 --> VGA only on channel 1, 4th position for TV out set on channel 2, TV out available when no other display is connected on channel 2.
04000000 00000900 06000000 00000000 00000000 --> VGA only on channel 1, 4th position for TV out set on channel 1, TV out available when no other display is connected on channel 1 (DVI + VGA on channel 2 using position 2 and 3, bitmap 0 1 1 0)

Laptops usually have first channel using only 1 output for internal panel, on position 1, and depending on how many other outputs are available, second channel can use positions 2, 3, and 4 :
04000000 00000100 02000000 00000000 00000000
04000000 00000100 06000000 00000000 00000000
04000000 00000100 0e000000 00000000 00000000

more about the VGA ROM output definitions later...
Back to top
View user's profile Send private message
Google
AdSense





PostPosted: Sun Jan 27, 2008 10:00 am    Post subject: Please Click to support this site



Back to top
Superhai



Joined: 28 Apr 2008
Posts: 1

PostPosted: Mon Apr 28, 2008 2:13 am    Post subject: Reply with quote

I don't know if this is much help, but comparing PPC and Intel NVCAP I realize that the pattern is something like this:

Byte (05/04/03/02)
Byte (01/00)
Byte (01/00)
Byte (01/00)
Word (MBP e/PB c/PM 10/iMppc 6/iM Cool
Word (Internal Display)
Word (External Display)
DWord (All zero)
Byte (01/00)
Byte (intel: 0B 8xxx/0A i 7xxx) (ppc: 07 6xxx/07 7xxx/06 5xxx) no idea
Dword? (no idea yet)
Back to top
View user's profile Send private message
nuwavboy



Joined: 09 May 2008
Posts: 2

PostPosted: Fri May 09, 2008 8:05 am    Post subject: 8600gt DVI/VGA output help Reply with quote

Ok - getting the black screen and it appears that it is from not having the assignments right on the outputs. I am hooked up to DVI. 256m card. When I install this program I get the black screen. How do I change the settings to get the DVI output to work? HELP!!! On day 3 now......


Leo4AllV2
DS3L Mobo
8600GT DVI/VGA 256

please? And thanks
Back to top
View user's profile Send private message
shannony



Joined: 20 Jun 2008
Posts: 4
Location: Melbourne

PostPosted: Mon Jun 23, 2008 12:43 am    Post subject: Runtime Error Reply with quote

Hey guys, Help ?

I am having trouble running NVCAP receive a RunTime error 100 ?
I managed to dump my rom with NVFLASH and now not sure where to go ?

help ?

Here is a copy of the NVCAP output
Mon Jun 23 10:08:57 shannon-tecra-m5.local CocoaDialog[182] <Error>: The function `CGColorSpaceGetColorSpaceModel' is obsolete and will be removed in an upcoming update. Unfortunately, this application, or a library it uses, is using this obsolete function, and is thereby contributing to an overall degradation of system performance. Please use `CGColorSpaceGetModel' instead.
ROM file: /Users/shannonyates/Desktop/110.ROM
Copyright 2008 Arti Itra version 1.2
If you find this program useful you
may consider a PayPal donation to:
arti.macelite@gmail.com

Runtime error 100 at $00002925
$00002925
$00019C00
$00002252
$00002179
$00000002
Back to top
View user's profile Send private message
m500sesp



Joined: 30 Jan 2009
Posts: 3

PostPosted: Fri Jan 30, 2009 7:00 pm    Post subject: Dual Cards NVCap Reply with quote

Thanks for all the great posts!!
So I have 2 nvidia 8800GTS cards.
I have monitor's plugged into the first "port" on each card.
What would my NVCap be?

Sorry if this is such an easy question.
Sam
Back to top
View user's profile Send private message
zim2dive



Joined: 24 Mar 2009
Posts: 1

PostPosted: Tue Mar 24, 2009 12:58 pm    Post subject: Reply with quote

This guide was a breakthrough for me.. THANK YOU! I now have an nvinject that allows me to switch resolutions AND (knock wood) seems to survive a shutdown and reboot.

So I created multiple kexts, each containing slightly different values and kept trying to I found one that worked.

04000000 00000200 00000000 00000000 00000000

worked for me.

Can you double check what that is saying?

I have a PNY 8400gs, low profile. It has a DVI port at the bottom, then S-video, then a piggy-back VGA on top (or moved over to another bracket when used for low-profile).

I *ONLY* want to connect via DVI via a DVI->HDMI cable to my display.

My hypothesis was that sometimes it would get confused about which output to use, which is why I tried setting as much as I could to 0, so it would think there were any other options available.

Does what I did make any sense, or was I just stupid lucky.

Are there any other tweaks in the NVCAP string I can make other than output selection? (ie. is there more than 1 mode for the DVI port?)... It feels slightly like my refresh rate is barely off (the way it would if picking 50Hz vs. 60Hz. or interlaced vs non-interlaced)

I will post my kext (for other 8400gs owners) once I think I have the kinks worked out.

thanks!
Back to top
View user's profile Send private message
jianmac



Joined: 16 Mar 2009
Posts: 2

PostPosted: Wed Mar 25, 2009 9:30 am    Post subject: lets say my card is HDMI + DVI +TVout, MY NVCAP? Reply with quote

lets say my card is HDMI + DVI +TVout, MY NVCAP?
Back to top
View user's profile Send private message
beatriziya



Joined: 29 Jul 2009
Posts: 1
Location: NYC

PostPosted: Thu Jul 30, 2009 11:42 am    Post subject: Reply with quote

What do I connect my Xbox VGA cables audio cords into? Can I plug the thing that merges the red and white cables into one jack somewhere on my computer to make them play through the speakers, or do I have to plug them directly into speakers? Because the speakers I have now only have a plug for the power. Sad And the VGA set does come with that merger right?
_____________
market samurai ~ marketsamurai ~ marketsamurai.com
Back to top
View user's profile Send private message
D.Blurb



Joined: 01 Oct 2009
Posts: 8
Location: United States

PostPosted: Thu Dec 03, 2009 12:28 am    Post subject: NVCAP explained Reply with quote

Hi Krazubu

I have a evga 8500GT 512MB DVI VGA

please tell me how to set the strings in NVCAP and i will try it

Thank you
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Display posts from previous:    View previous topic : View next topic  
Post new topic   Reply to topic    ..:: NVinject.free.fr NVIDIA kernel extensions enabler for Mac OS X Intel ::.. Forum Index -> NVCAP Work In Progress All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You can attach files in this forum
You can download files in this forum