Jump to content

NVidia Titan Dual Monitor Research


17 posts in this topic

Recommended Posts

Here are some results regarding a little research about the Titan project and dual monitor support.

When I installed the Titan (4th Nov release), I was fascinated by the results! After 2 days of long waited happiness, I decided to play a little bit with the driver and my 2 monitors, see if I could get them working.

 

Starting, I would like to say 2-3 things regarding my hardware & OS. I have an NVidia XFX 6600GT Dual DVI graphics adapter, accompanied by 2x LG 1980 monitors, both with DVI & VGA input (see signature for the rest of my setup). I run OSX 10.4.8 Mifki and have full QE/CI support. My monitors are usually both connected to my DVI ports. The bad thing is... only one monitor works in OSX.

 

I downloaded the Titan driver and read all the instructions given. Getting the driver working was a piece of cake, thanks to Omni's detailed instructions. Having one monitor working makes me wonder if only one DVI port is recognized, so I started testing the ports. For my test I used 2xDVI and 2xVGA cables, as well as 2xDVI to VGA adapters. And here are the results:

 

 

vgadvi.jpg

 

 

( DVI 1 = NVidia port 1 pure DVI,

DVI 2 = NVidia port 2 pure DVI,

VGA 1 = NVidia DVI port 1 + DVI to VGA adapter

VGA 2 = Nvidia DVI port 2 + DVI to VGA adapter)

 

 

 

Note that (a) only ONE monitor works, regardless the ports being used, and (b ) both ports work, but only one at a time is preferred by the driver, depending on the monitor combination and if it is VGA or DVI. Every DVI port works at 60Hz (75 is grayed out) and every VGA at both 60 & 75Hz.

 

 

Having all those results at hand and knowing that both ports actually work, I tried adding EDID0 and EDID1 to the Info.plist of the Titan driver. By the way, I only did this for the DVI ports. To get the EDID (monitor info carved into a chip inside each monitor) I booted into WinXP, ran the Monitor Asset Manager and discovered something very interesting! Both monitors are connected via DVI. The Manager showed up 3 connected monitors, not two! :

 

1. LG Flatron L1280 (Digital) on NVidia GeForce 6600 GT

2. LG Flatron L1280 (Digital) on NVidia GeForce 6600 GT

3. LGE Monitor on auxiliary port

 

 

 

The two first listings had exactly the same EDID (were referred to the same monitor). The third, was in fact the second monitor.

 

So if Both the Monitors are exactly the same and connected both with the same way (DVI), why does the Monitor Asset Manager identify them like this? and why is the second monitor just referred as "LGE monitor on auxiliary port" and not as "LG Flatron L1280 on.. port 2" ?

 

Anyway. I copied the EDIDs, booted into OSX and edited the Info.Plist like this:

 

 

<key>CFBundleIdentifier</key>

<string>com.free.driver.Titan</string>

<key>EDID0</key>

<data>

AP///////wAebZhKmwACAAUPAQPqJh546gpUpVhKmiYhUFSlaoAx

T0VPYU+BgAEBAQEBAQEBMCoAmFEAKkAwcBMAeC0RAAAeAAAA/QA4

Sx5HCwAKICAgICAgAAAA/ABMMTk4MFUKICAgICAgAAAA/AAKICAg

ICAgICAgICAgACE=

</data>

<key>EDID1</key>

<data>

AP///////wAebZhKtxQCAAQPAQPqJh546gpUpVhKmiYhUFSlaoAx

T0VPYU+BgAEBAQEBAQEBMCoAmFEAKkAwcBMAeC0RAAAeAAAA/QA4

Sx5HCwAKICAgICAgAAAA/ABMMTk4MFUKICAgICAgAAAA/AAKICAg

ICAgICAgICAgAPI=

</data>

 

 

 

Guess what. Nothing happened. In fact Booting time took some 15 sec.

 

I reversed the EDIDs, maybe port 1 in Windows was port 2 on OSX.

 

Same again.

 

I also changed the FBOFFSET integer to the MacPro value 131072. Nothing.

 

 

 

 

 

Anyone got an idea??

 

 

 

post-12364-1162853678_thumb.jpg

post-12364-1162853707_thumb.jpg

post-12364-1162853729_thumb.jpg

post-12364-1162853742_thumb.jpg

Link to comment
Share on other sites

Anyway. I copied the EDIDs, booted into OSX and edited the Info.Plist like this:

<key>CFBundleIdentifier</key>

<string>com.free.driver.Titan</string>

<key>EDID0</key>

<data>

AP///////wAebZhKmwACAAUPAQPqJh546gpUpVhKmiYhUFSlaoAx

T0VPYU+BgAEBAQEBAQEBMCoAmFEAKkAwcBMAeC0RAAAeAAAA/QA4

Sx5HCwAKICAgICAgAAAA/ABMMTk4MFUKICAgICAgAAAA/AAKICAg

ICAgICAgICAgACE=

</data>

<key>EDID1</key>

<data>

AP///////wAebZhKtxQCAAQPAQPqJh546gpUpVhKmiYhUFSlaoAx

T0VPYU+BgAEBAQEBAQEBMCoAmFEAKkAwcBMAeC0RAAAeAAAA/QA4

Sx5HCwAKICAgICAgAAAA/ABMMTk4MFUKICAgICAgAAAA/AAKICAg

ICAgICAgICAgAPI=

</data>

 

Did you use Plist Editor to do this like Omni said?:

 

Options in the Info.plist file

...

- EDID0 and EDID1 co-relate to your card's ports 0 and 1 (which could be either DVI, VGA, DVI+VGA, VGA+DVI or DVI+DVI). The value of the EDID is a 128 byte sequence that's obtained from the monitor itself via DDC/I2C. Just look on the Web how to get your EDID, there are several programs out there.

 

You must use Property List Editor to insert the 128 byte sequence (it begins with 00ffff...). You CANNOT paste this into Info.plist directly because the sequence is encoded by the Property List Editor into a string of characters

 

http://omni.starchaser.org/titan/

 

 

I do not understand why the correct EDID values are needed to get dual displays working here. I mean, whatever default EDID value is being used works fine for a single displays so why should it not also work for second?

 

I think we need to work with the Natit source and the Mac Pro IO registery dumps to get dual displays working.

 

Do you mind if we move this thread into the Natit forum?

Link to comment
Share on other sites

Getting the EDIDs from windows doesn't work. I think the problem is the fact that windows retrieves the edids in a different fashion than os x. (big endian, little endian) or at least, thats my theory.

 

As far as I know, that's not it.

 

Endian has to do with the CPU not the software. (Other then software being coded for the CPU)

Link to comment
Share on other sites

Getting the EDIDs from windows doesn't work. I think the problem is the fact that windows retrieves the edids in a different fashion than os x. (big endian, little endian) or at least, thats my theory.

This is exactly the same way as used in the Callisto driver. EDID is retrieved from windows in exactly the same fashion and inserted into the Callisto driver. it works for ATI. Why not for NVidia?

 

Using property list editor the EDIDs are converted from "00ffff..........." to the form " AP///////wAebZ............"

 

And Bofors is right. The working monitor gets the EDID autodetected by the TITAN driver, so why do we need to add EDID info???? I think there is more we don't know yet...

Link to comment
Share on other sites

1. LG Flatron L1280 (Digital) on NVidia GeForce 6600 GT

2. LG Flatron L1280 (Digital) on NVidia GeForce 6600 GT

3. LGE Monitor on auxiliary port

The two first listings had exactly the same EDID (were referred to the same monitor). The third, was in fact the second monitor.

 

So if Both the Monitors are exactly the same and connected both with the same way (DVI), why does the Monitor Asset Manager identify them like this? and why is the second monitor just referred as "LGE monitor on auxiliary port" and not as "LG Flatron L1280 on.. port 2" ?

Inside the binary NVDAResman file is, in addition to the strings Display-A & Display-B, the string Display-X. I think this could be linked to the the auxiliary port.

Maybe adding this as a display could have some effect.

Link to comment
Share on other sites

Inside the binary NVDAResman file is, in addition to the strings Display-A & Display-B, the string Display-X. I think this could be linked to the the auxiliary port.

Maybe adding this as a display could have some effect.

 

 

Good idea! will check it out tonight!

Link to comment
Share on other sites

  • 3 weeks later...

Hello. Just to tell you that I have dual monitor support both working 100%. All I did was change Titan.kext with Natit.kext

 

http://forum.insanelymac.com/index.php?sho...07&hl=natit

 

Instructions

- Put Natit kext (remove Titan is necessary) in your /System/Library/Extensions/ folder

- Correct the file premissions: sudo chown -R root:wheel Natit.kext; sudo chmod -R 755 Natit.kext

- Remove the cached and packed extensions: sudo rm -f /System/Library/Extensions.mkext /System/Library/Extensions.kextcache

- reboot.

 

After install AGPGart (2.1u2), http://x86dev.org/forums/index.php?topic=23.0, again:

 

- Correct the file premissions: sudo chown -R root:wheel AGPGart.kext; sudo chmod -R 755 AGPGart.kext

- Remove the cached and packed extensions: sudo rm -f /System/Library/Extensions.mkext /System/Library/Extensions.kextcache

- reboot.

 

This was my result:

 

GeForce 6600 GT:

 

Chipset Model: GeForce 6600 GT

Type: Display

Bus: AGP

VRAM (Total): 128 MB

Vendor: NVIDIA (0x10de)

Device ID: 0x00f1

Revision ID: 0x00a2

Displays:

J15AAC/3/U/R:

Resolution: 1024 x 768 @ 75 Hz

Depth: 32-bit Color

Core Image: Supported

Main Display: Yes

Mirror: Off

Online: Yes

Quartz Extreme: Supported

PHILIPS 107S:

Resolution: 1024 x 768 @ 85 Hz

Depth: 32-bit Color

Core Image: Supported

Mirror: Off

Online: Yes

Quartz Extreme: Supported

Link to comment
Share on other sites

Gooooooooooooood Moooooorning! Anybody awake around here?

 

Here's the first person I've seen on this forum who claims to have cracked the dual monitors problem without an add-2 card, AND NOBODY seems interested?!

 

I will try this method on a AGP Hackintosh, but I only have access to an ATI-card... and I'm wondering if this method would work on nvidia-pciE...

 

will report back...

Link to comment
Share on other sites

Here's the first person I've seen on this forum who claims to have cracked the dual monitors problem without an add-2 card, AND NOBODY seems interested?!

 

That's because I figured out how to do this over two weeks ago, it is old news: http://forum.insanelymac.com/index.php?showtopic=32536

 

I will try this method on a AGP Hackintosh, but I only have access to an ATI-card... and I'm wondering if this method would work on nvidia-pciE...

 

Yes, it works on Nvidia PCIe cards just fine.

 

... and what about TV-OUT?

 

Some people have it working on TV-out too. Try looking at the appropriate threads in the Natit forum: http://forum.insanelymac.com/index.php?showforum=129

Link to comment
Share on other sites

 Share

×
×
  • Create New...