Jump to content

Titan II Project, anyone?


  • This topic is locked This topic is locked
49 replies to this topic

#21
aberracus

aberracus

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 950 posts
nop, i have an imac 20 core duo 2 a dvi 20 samsung screen.. and no way to plug one into the other..

the mini dvi port in the imac is the end of the route

#22
fireshark

fireshark

    Your Mom

  • Members
  • PipPipPipPipPipPip
  • 489 posts
problem is that the ioreg doesnt have everything for display,1

#23
looper

looper

    InsanelyMac Protégé

  • Members
  • PipPip
  • 59 posts
  • Gender:Male
Bofors, I assume the card you are interested in is this one?

http://www.newegg.co...82E16814150162R

I can get this card in Canada for $110 plus tax

It looks pretty sweet!


Keeping my fingers crossed :gathering:

#24
nekton

nekton

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 125 posts
Bought exact same card (same model number) in Akihabara, Tokyo, on Saturday for 9,700 yen (US$82) and works perfectly and feels faster than ASUS 1600Pro too.

#25
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts
I missed the NewEgg "open box" special on the XFX 7300GT, but caught the eWiz sale on the XFX7600GS for $106 shipped, which looks to be a substaintally better card (essentially an underclocked 7600GT): http://www.ewiz.com/...p?name=XFX-76GS

It should be here is two days, I picked another 3D Fusion 7600GS locally to work with in the mean time.

I am installing 10.4.8 now, once I have it working than I will install Titan and start working on dual display support.

EDIT: Ok, I am now working on this exclusively. I hope to have dual displays working within a few days.

#26
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts

Here is the macpro ioreg omni mentioned on his site (i also contacted him and send him the url to to the macpro.txt he mentioned) got a 7300 gt in the mac pro


Ok, I just went through this. I can see why the single user mode version is needed instead, the data here is key in a slightly different format. It appears that the "@0,..." and "@1,..." prefixes are not used, but rather that keys like "compatible" and "device_type" are stored under "NVDA-Display-A@0" and "NVDA,Display-B@1" nodes.

On to the single user mode IO reg dump! This looks like the relevant part, appears to be exactly what we wanted and what Omni was expecting. Note that I removed apparently irrelevant long key values from this slightly for formating.

| |   |   +-o PXS1@0  <class IOPCIDevice, registered, matched, active, busy 0, retain count 8>
	| |   |	   {
	| |   |		 "vendor-id" = <de100000>
	| |   |		 "device-id" = <93030000>
	| |   |		 "AAPL00,Coherency" = <02000000>
	| |   |		 "subsystem-vendor-id" = <00000000>
	| |   |		 "@0,device_type" = <"display">
	| |   |		 "@0,can-hot-plug" = <>
	| |   |		 "@1,can-hot-plug" = <>
	| |   |		 "@1,EDID" = <>
	| |   |		 "reg" = <>
	| |   |		 "NVDA,Features" = <ef020004>
	| |   |		 "@1,device_type" = <"display">
	| |   |		 "AAPL,aux-power-connected" = <01000000>
	| |   |		 "AAPL,slot-name" = <"Slot-1">
	| |   |		 "IOPCIExpressLinkStatus" = 4353
	| |   |		 "@0,AAPL,boot-display" = <>
	| |   |		 "@1,compatible" = <"NVDA,NVMac">
	| |   |		 "Power Management protected data" = "{ }"
	| |   |		 "AAPL,backlight-control" = <00000000>
	| |   |		 "@0,compatible" = <"NVDA,NVMac">
	| |   |		 "@1,name" = <"NVDA,Display-B">
	| |   |		 "class-code" = <00000300>
	| |   |		 "Power Management private data" = "{ }"
	| |   |		 "rom-revision" = <"3004">
	| |   |		 "assigned-addresses" = <>
	| |   |		 "revision-id" = <a1000000>
	| |   |		 "NVCAP" = <04000100000003000c0000000000000a00000000>
	| |   |		 "@0,fboffset" = <00000200>
	| |   |		 "@0,EDID" = <>
	| |   |		 "@0,NVMT" = <>
	| |   |		 "saved-config" = <>
	| |   |		 "compatible" = <"pci0,400","pci10de,393","pciclass,030000">
	| |   |		 "IOPCIResourced" = Yes
	| |   |		 "IOInterruptControllers" = ("io-apic-0","IOPCIMessagedInterruptController")
	| |   |		 "name" = "display"
	| |   |		 "IOPCIExpressLinkCapabilities" = 67185921
	| |   |		 "IOChildIndex" = 1
	| |   |		 "acpi-path" = "IOACPIPlane:/_SB/PCI0@0/NRP4@40000/PXS1@ffff"
	| |   |		 "@0,display-cfg" = <03033600>
	| |   |		 "IOInterruptSpecifiers" = (<1000000007000000>,<1700000000000100>)
	| |   |		 "device_type" = <"NVDA,Parent">
	| |   |		 "IOName" = "display"
	| |   |		 "model" = <"NVIDIA GeForce 7300 GT">
	| |   |		 "@0,name" = <"NVDA,Display-A">
	| |   |		 "subsystem-id" = <00040000>
	| |   |		 "@1,display-cfg" = <ffff3e01>
	| |   |		 "IODeviceMemory" = ()
	| |   |	   }
	| |   |

So, I am just going to start by editing Natit to do exactly what Omni suggested, set these values:

"@0,compatible" to "NVDA,NVMac" 
"@1,compatible" to "NVDA,NVMac" 

"@0,device_type" to "display"" 
"@1,device_type" to "display" 

"@0,name" to "NVDA,Display-A" 
"@1,name" to "NVDA,Display-B"

If that doesn't work, I can start setting more values that appear to be paired for dual displays.

#27
looper

looper

    InsanelyMac Protégé

  • Members
  • PipPip
  • 59 posts
  • Gender:Male
Very cool

Way to go Bofors!

I'll probably get the XFX 7300GT as the 7600GS is slightly out of my price range.

good luck with the coding.

#28
dm_webd

dm_webd

    InsanelyMac Protégé

  • Retired Developers
  • 63 posts
  • Gender:Male
  • Location:Denmark

So, I am just going to start by editing Natit to do exactly what Omni suggested, set these values:

"@0,compatible" to "NVDA,NVMac" 
"@1,compatible" to "NVDA,NVMac" 

"@0,device_type" to "display"" 
"@1,device_type" to "display" 

"@0,name" to "NVDA,Display-A" 
"@1,name" to "NVDA,Display-B"

If that doesn't work, I can start setting more values that appear to be paired for dual displays.

Take a look at the new Natit I posted. Values can be added and set from the Info.plist, so no more recompiling for changing values.

#29
nekton

nekton

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 125 posts
Just to let u know what actually happens with my XFX7300GT when two LG L1950T Flatrons are connected to 7300GT DVI outputs with the second version of Titan installed.
At start, both screens display the BIOS flash screen which then proceeds to the gray Apple screen with rotating "clockface time" (what is this actually called?). Then both screens show loss of video signal for about 10 seconds when one comes up with the normal desktop. The other remains black with the orange no video signal lamp lit.
Looking at the Graphics/Displays in System Profiler shows one display connected with full QE/CI support and no second display connected.
I really hope it is "trivial" to fix dual display support because it would be a real plus and pretty much overcome the need to reverse engineer EFI in the short term.

#30
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts
I have just looked over the Natit source code and it appears to already include what Omni suggested for dual displays. However, it is set for Display B to be a CRT (Display A is set to be an LCD).

I have Titan installed right now, so I am going to be removing it and testing Natit with one LCD and one CRT next.

Take a look at the new Natit I posted. Values can be added and set from the Info.plist, so no more recompiling for changing values.


Great, I guess I need to get that next instead.

Why did you choose one CRT and one LCD originally? Have you tried dual displays yet?


EDIT: Note that this means you do not have to program to try to make Natit work with dual displays. All one has to do is use Property List Editor (in Apple's Developer (Xcode) tools) to go inside the Natit.kext, open Info.plist (inside the Natit.kext->Contents folder) and find the "entriesToAdd" dictionary (Root->IOKitPersonalities->Natit->entriesToAdd). Again, it looks like this is already set up to work with dual displays, that is it incorporates Omni suggestions (and the CRT and LCD keys are no longer being added).

So, people with dual displays should go ahead and test the new version of Natit and report results here.

#31
nekton

nekton

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 125 posts
Swapped to the new Natit.kext and booted with two LCD panels connected to the 7300GT. Same result as reported above, although the loss of signal time is now only a second or two. The Graphics Display screen shows GeForce 7300 GT whereas before it showed nVidia display-B
The status of the second panel is No display connected.

Guess there is still something in there that needs setting!

#32
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts

At start, both screens display the BIOS flash screen which then proceeds to the gray Apple screen with rotating "clockface time" (what is this actually called?).


I am not sure about the screen name, but try "Apple (logo) boot screen" (or "splash" screen) with "spinning progress indicator" (the indicator part I am sure of).

Guess there is still something in there that needs setting!


Ok, I guess the next to try will be adding these:

"@0,display-cfg" = <03033600>

"@1,display-cfg" = <ffff3e01>

Hex: 03033600 => 50542080 decimal

Hex: ffff3e01 => 4294917633 decimal

I am not sure what "cfg" means, nor why these have different values, but would like to find out.

#33
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts

Same result as reported above, although the loss of signal time is now only a second or two.
...
The status of the second panel is No display connected.


Ok, this is basically what I am getting with Titan. I am switching to Natit next.

For the record, I am testing right now with a 3D Fusion 7600GS (VGA / DVI) with the two VGA Samsung 712n's using one DVI->VGA adapter. My XFX 7600GS (Dual DVI) should be here tomorrow and I have two DVI Samsung 204BW's to test with as well.

#34
dm_webd

dm_webd

    InsanelyMac Protégé

  • Retired Developers
  • 63 posts
  • Gender:Male
  • Location:Denmark

I am not sure about the screen name, but try "Apple (logo) boot screen" (or "splash" screen) with "spinning progress indicator" (the indicator part I am sure of).
Ok, I guess the next to try will be adding these:

"@0,display-cfg" = <03033600>

"@1,display-cfg" = <ffff3e01>

Hex: 03033600 => 50542080 decimal

Hex: ffff3e01 => 4294917633 decimal

I am not sure what "cfg" means, nor why these have different values, but would like to find out.

My guess would be "config". I've been messing around with these values. For me ffff3e01 makes the display not initialize(stays at the fb resolution and blank), 03033600 make no difference from without any value at all.
Also I've discovered on both my laptop and desktop, that the primary display is always Display-B.
Try setting the variable @0,NVMT to an empty data object - then detect displays (warning - this might mess up your graphics until reboot). I have no idea what NVMT does (other than mess up my display when using detect displays).
Always try to detect displays after booting up with dual displays, as I have a feeling that NVDAResman for some reason doesn't do this on initialization.

#35
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts

For me ffff3e01 makes the display not initialize(stays at the fb resolution and blank), 03033600 make no difference from without any value at all.


It looks like my results are the same. However, I accidently used fff3e01 (missing an "f") and the results was that both of my displays were blank.

#36
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts
I just looked at my Single User Mode IOReg dump (relevant portion attached) and it looks quite a bit different than what Icyderguru posted for the Mac Pro. In particular, the main display node is not labled "PXS1" but rather "display@0" which like the Mac Pro's node is a child of "IOPCI2PCIBridge" but they differ on the further up the tree as well. The MacPro's "IOPCI2PCIBridge" is a child "NRP4" while on my machine it is "PEG1".

I am going to ignore these differences for the moment and continue to focus on simply inserting more keys and values for now. Ultimately, perhaps with the correct EDID values I could just try adding every key and value from the Mac Pro IOReg dump into the Natit's plist.

Attached Files



#37
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts
Guess what? It now works for dual displays in extended desktop mode! But mirrored displays does not work yet.

I have yet to figure which steps are essential but here is what I did:

(1) Added the correct EDID values for both displays, I retrieved on from OS X using the SwitchResX program: http://www.madrau.co...ml/SRX/DL.shtml

(2) Added the "@0,NVMT" key with the value from both Omni's and Icyderguru's single user mode IOReg dumps.

(3) Add the "NVCAP" key from the same (I know this one is critical).

GeForce 7600 GS:

  Chipset Model:	GeForce 7600 GS
  Type:	Display
  Bus:	PCIe
  VRAM (Total):	256 MB
  Vendor:	NVIDIA (0x10de)
  Device ID:	0x0392
  Revision ID:	0x00a1
  Displays:
SyncMaster:
  Resolution:	1024 x 768 @ 75 Hz
  Depth:	32-bit Color
  Core Image:	Supported
  Main Display:	Yes
  Mirror:	Off
  Online:	Yes
  Quartz Extreme:	Supported
SyncMaster:
  Resolution:	1024 x 768 @ 75 Hz
  Depth:	32-bit Color
  Core Image:	Supported
  Mirror:	Off
  Online:	Yes
  Quartz Extreme:	Supported

This is the relevant part of the Info.plist I used:
<key>@0,EDID</key>
				<data>
				AP///////wBMLSQBNzFKTSkOAQNsIht4KqqlplRUmSYU
				UFS/74CBgHFPAQEBAQEBAQEBAQEBMCoAmFEAKkAwcBMA
				Ug4RAAAeAAAA/QA4Sx5RDgAKICAgICAgAAAA/ABTeW5j
				TWFzdGVyCiAgAAAA/wBINEpYQTExMjI5CiAgACg=
				</data>
				<key>@0,NVMT</key>
				<data>
				CgN/IEwtHAJ4BRoESAfQBWAGAABBBB0EIQQAAPDBQQcA
				AAEAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
				AAD//wAAAAAAAAAAAAABAAAAAAAAAA==
				</data>
				<key>@0,compatible</key>
				<string>NVDA,NVMac</string>
				<key>@0,device_type</key>
				<string>display</string>
				<key>@0,fboffset</key>
				<integer>131072</integer>
				<key>@0,name</key>
				<string>NVDA,Display-A</string>
				<key>@1,EDID</key>
				<data>
				AP///////wBMLSQBNzFKTSkOAQNsIht4KqqlplRUmSYU
				UFS/74CBgHFPAQEBAQEBAQEBAQEBMCoAmFEAKkAwcBMA
				Ug4RAAAeAAAA/QA4Sx5RDgAKICAgICAgAAAA/ABTeW5j
				TWFzdGVyCiAgAAAA/wBINEpYQTExMjI5CiAgACg=
				</data>
				<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>
				BAABAAAAAwAMAAAAAAAACgAAAAA=
				</data>
				<key>device_type</key>
				<string>NVDA,Parent</string>

The Info.plist that works in attached as a text file (rename it to Into.plist).

Attached Files



#38
james2mart

james2mart

    InsanelyMac Sage

  • Retired Developers
  • 344 posts
bofors-how did you retrieve EDIDs with that program? Cannot find it in the control panel...

#39
nekton

nekton

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 125 posts

Guess what? It now works for dual displays in extended desktop mode! But mirrored displays does not work yet.

I have yet to figure which steps are essential but here is what I did:

(1) Added the correct EDID values for both displays, I retrieved on from OS X using the SwitchResX program: http://www.madrau.co...ml/SRX/DL.shtml

(2) Added the "@0,NVMT" key with the value from both Omni's and Icyderguru's single user mode IOReg dumps.

(3) Add the "NVCAP" key from the same (I know this one is critical).

GeForce 7600 GS:

  Chipset Model:	GeForce 7600 GS
  Type:	Display
  Bus:	PCIe
  VRAM (Total):	256 MB
  Vendor:	NVIDIA (0x10de)
  Device ID:	0x0392
  Revision ID:	0x00a1
  Displays:
SyncMaster:
  Resolution:	1024 x 768 @ 75 Hz
  Depth:	32-bit Color
  Core Image:	Supported
  Main Display:	Yes
  Mirror:	Off
  Online:	Yes
  Quartz Extreme:	Supported
SyncMaster:
  Resolution:	1024 x 768 @ 75 Hz
  Depth:	32-bit Color
  Core Image:	Supported
  Mirror:	Off
  Online:	Yes
  Quartz Extreme:	Supported

This is the relevant part of the Info.plist I used:
<key>@0,EDID</key>
				<data>
				AP///////wBMLSQBNzFKTSkOAQNsIht4KqqlplRUmSYU
				UFS/74CBgHFPAQEBAQEBAQEBAQEBMCoAmFEAKkAwcBMA
				Ug4RAAAeAAAA/QA4Sx5RDgAKICAgICAgAAAA/ABTeW5j
				TWFzdGVyCiAgAAAA/wBINEpYQTExMjI5CiAgACg=
				</data>
				<key>@0,NVMT</key>
				<data>
				CgN/IEwtHAJ4BRoESAfQBWAGAABBBB0EIQQAAPDBQQcA
				AAEAAAAA/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
				AAD//wAAAAAAAAAAAAABAAAAAAAAAA==
				</data>
				<key>@0,compatible</key>
				<string>NVDA,NVMac</string>
				<key>@0,device_type</key>
				<string>display</string>
				<key>@0,fboffset</key>
				<integer>131072</integer>
				<key>@0,name</key>
				<string>NVDA,Display-A</string>
				<key>@1,EDID</key>
				<data>
				AP///////wBMLSQBNzFKTSkOAQNsIht4KqqlplRUmSYU
				UFS/74CBgHFPAQEBAQEBAQEBAQEBMCoAmFEAKkAwcBMA
				Ug4RAAAeAAAA/QA4Sx5RDgAKICAgICAgAAAA/ABTeW5j
				TWFzdGVyCiAgAAAA/wBINEpYQTExMjI5CiAgACg=
				</data>
				<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>
				BAABAAAAAwAMAAAAAAAACgAAAAA=
				</data>
				<key>device_type</key>
				<string>NVDA,Parent</string>

The Info.plist that works in attached as a text file (rename it to Into.plist).



WELL done Bofors. I will give it a try this evening but can you post the exact path to where this (renamed) Info.plist file should go to avoid any confusion.


Thanks.

#40
bofors

bofors

    ConvertIt2Mac.com

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,462 posts

bofors-how did you retrieve EDIDs with that program? Cannot find it in the control panel...


Run the program after installation and rebooting by clicking on it's icon in the Control Program. Then click "Export DDC", this dumps the monitor information into text file, at the beginning of which is the EDID in an array-like format.

DisplayConfigX is also supposed to get the EDID but I did not try it: http://www.3dexpress.de/

WELL done Bofors. I will give it a try this evening but can you post the exact path to where this (renamed) Info.plist file should go to avoid any confusion.
Thanks.


Just reinstall the new version of Natit I posted here: http://forum.insanel...showtopic=32536

And don't forget to go through all the normal kext installation steps (chown, chmod, rm .mkext, rm .kextcache).





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy