bofors Posted November 8, 2006 Share Posted November 8, 2006 Attached is a version of Natit.kext which should work to drive dual displays in extended desktop mode (mirror mode does not appear to work yet). This is almost exactly the same as Dm_webd's 2nd version except one key, "NVCAP", has been added to the kext's Info.plist "entiresToAdd" dictionary. "NVCAP = <04000100 00000300 0c000000 0000000a 00000000 > Please test and post results here. EDIT: This worked for me with a 3D Fusion 7600GS (VGA / DVI) with the two VGA Samsung 712n's using one DVI->VGA adapter. EDIT2: Attached is Natit dual display version 0.02. This adds the "@0,NVMT" key and value. "@0,NVMT = <0a037f20 4c2d1c02 78051a04 4807d005 60060000 41041d04 21040000 f0c14107 00000100 000000ff 00000000 00000000 00000000 00000000 00000000 00000000 00000000 ffff0000 00000000 00000000 01000000 00000000 > EDIT3: This appears to solve the problem with dual DVI cards, it works with my XFX 7600GS. And don't forget to go through all the normal kext installation steps (chown, chmod, rm .mkext, rm .kextcache) when installing this new version. Just follow Omni's instructions (which I have slightly modified): Note: This might only work on 10.4.8: 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. http://omni.starchaser.org/titan/ Natit_Dual_v0.02.zip Link to comment Share on other sites More sharing options...
Synthology Posted November 8, 2006 Share Posted November 8, 2006 Bofors, Test Results : I have a Syncmaster 225BW Samsung and 1 Apple Cinema Display 20" Both DVI connected to XFX GeForce 7600 GT With Titan, the Syncmaster worked and the Apple screen was black Now with your modified kext, the apple screen is on, but syncmaster is off. Recognized both screens, but Samsung is not functioning. Also, tried detecting displays on System Pref, unsuccessful. Let me know if there's anything else you need me to test. Synthology GeForce 7600 GT: Chipset Model: GeForce 7600 GT Type: Display Bus: PCIe VRAM (Total): 256 MB Vendor: NVIDIA (0x10de) Device ID: 0x0391 Revision ID: 0x00a1 Displays: Cinema Display: Display Type: LCD Resolution: 1680 x 1050 Depth: 32-bit Color Core Image: Supported Main Display: Yes Mirror: Off Online: Yes Quartz Extreme: Supported SyncMaster: Resolution: 1680 x 1050 @ 60 Hz Depth: 32-bit Color Core Image: Supported Mirror: Off Online: Yes Quartz Extreme: Supported Link to comment Share on other sites More sharing options...
bofors Posted November 8, 2006 Author Share Posted November 8, 2006 Test Results : I have a Syncmaster 225BW Samsung and 1 Apple Cinema Display 20" Both DVI connected to XFX GeForce 7600 GT Now with your modified kext, the apple screen is on, but syncmaster is off. Thanks for the report, my XFX 7600GS (Dual DVI) should be here tomorrow and I have two DVI Samsung 204BW's to test with as well. So, I should be able to reproduce your results and isolate the problem. I will be back at this tomorrow. Link to comment Share on other sites More sharing options...
Synthology Posted November 8, 2006 Share Posted November 8, 2006 Rock & Roll, I shall be at the front lines awaiting your progress. Cheers Synthology Link to comment Share on other sites More sharing options...
james2mart Posted November 8, 2006 Share Posted November 8, 2006 No go. Laptop monitor hasn't worked on it - only can use HannsG external monitor. Almost exact same scenario with new Natit II. Link to comment Share on other sites More sharing options...
lord_muad_dib Posted November 8, 2006 Share Posted November 8, 2006 thx bofors i'll try it asap wen'll be back home! GPU in my sig and both displays on vga>>>dvi adapters edit: extended desktop works great! thx! Link to comment Share on other sites More sharing options...
bofors Posted November 8, 2006 Author Share Posted November 8, 2006 Let me know if there's anything else you need me to test. Ok, I posted a new version above: Natit dual display version 0.02. I think it might work for you (but have yet to test it on a dual DVI card myself because XFX 7600GS is not here yet). Link to comment Share on other sites More sharing options...
dm_webd Posted November 8, 2006 Share Posted November 8, 2006 Ok, I posted a new version above: Natit dual display version 0.02. I think it might work for you (but have yet to test it on a dual DVI card myself because XFX 7600GS is not here yet). I can confirm NVMT key is needed too for my dual dvi output 7600GT (although both are analog monitors with DVI->VGA). Link to comment Share on other sites More sharing options...
Synthology Posted November 8, 2006 Share Posted November 8, 2006 Ok, I posted a new version above: Natit dual display version 0.02. I think it might work for you (but have yet to test it on a dual DVI card myself because XFX 7600GS is not here yet). At boot, it takes about 15 seconds longer to get to the desktop than with single display, however, it does indeed work for both screens. One problem: when you click on detect displays, the syncmaster (my left screen - connected to DVI port closest to the motherboard) goes black and never comes up. My mouse gets very slow and I can't get the syncmaster back again until I pressed my reset button. Also, the syncmaster automatically became my dock and finder display. Which is fine, I figured it should default that way considering its connected to the inner most DVI port. As for detect displays, make sure to test that once you get your XFX card in your box. So far so fantastic. I see this as revolutionary as a new kernel to me. I'm amazed there are not too many people jumping all over this like jack rabbits. Anyway, I shall await further testing instruction. Synthology Link to comment Share on other sites More sharing options...
bofors Posted November 8, 2006 Author Share Posted November 8, 2006 My XFX 7600GS just showed up and I can also confirm that the Natit dual v0.02 works for me too. I am running full dual DVI (no VGA convertors) to two Samsung 204BW at 1680 x 1050. 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: 1680 x 1050 @ 60 Hz Depth: 32-bit Color Core Image: Supported Main Display: Yes Mirror: Off Online: Yes Quartz Extreme: Supported SyncMaster: Resolution: 1680 x 1050 @ 60 Hz Depth: 32-bit Color Core Image: Supported Mirror: Off Online: Yes Quartz Extreme: Supported However, selecting "Detect Displays" disables a panel. I will be adding the VGA adapters next. EDIT: Ok, this also works using VGA adapters to a VGA displays (Samsung 712n's here). Link to comment Share on other sites More sharing options...
esmith1977 Posted November 9, 2006 Share Posted November 9, 2006 Please... What are the exact installation steps... I was going to get a new card from CompUSA today... Link to comment Share on other sites More sharing options...
Wallstreet Posted November 9, 2006 Share Posted November 9, 2006 No luck with a PNY 7900GS running dual DVI to 2 Dell LCDs. The system stays up (I can ping it), but there's no display. Is there any info I can get you to possibly get this config working? Link to comment Share on other sites More sharing options...
bofors Posted November 9, 2006 Author Share Posted November 9, 2006 What are the exact installation steps... Note: This might only work on 10.4.8: Just follow Omni's instructions (which I have slightly modified): Instructions - Put Natit kext (remove Titan is necessary) in your /System/Library/Extensions/ folder - Correct the file premissions: sudo chown -R root:wheel Titan.kext; sudo chmod -R 755 Titan.kext - Remove the cached and packed extensions: sudo rm -f /System/Library/Extensions.mkext /System/Library/Extensions.kextcache - reboot. http://omni.starchaser.org/titan/ No luck with a PNY 7900GS running dual DVI to 2 Dell LCDs. The system stays up (I can ping it), but there's no display. Is there any info I can get you to possibly get this config working? Does your 7900 work with Titan or Natit otherwise? Link to comment Share on other sites More sharing options...
Wallstreet Posted November 9, 2006 Share Posted November 9, 2006 Does your 7900 work with Titan or Natit otherwise? Fully working with Natit. Except with only one display. Link to comment Share on other sites More sharing options...
bofors Posted November 9, 2006 Author Share Posted November 9, 2006 I don't expect this to work because you have a dual DVI card, but you can try the attached version of Natit which has the "@0,NVMT" key-value pair removed from the Info.plist. You can also try a version which leaves the "@0,NVMT" key-value pair in but removes the "NVCAP" key-value pair instead, but I do not expect that to work either. I think the problem is that either the "@0,NVMT" value or "NVCAP" value (or both) is wrong for the 7900 (somebody with a VGA / DVI could isolated the "@0,NVMT" question by using the attached kext). I do not know what the correct value(s) is either. However, it might be possible to get this value(s) somehow from Windows or Linux driver analysis through something like an IOReg dump. It also might be useful to look an IOReg dump of a Mac Pro with an Nvidia Quadro card to see what the values are there. Finally, you should post (via a text attachment) a IOReg dump from your system both from single-user mode, and after a normal with and without the version of Natit which works for you. Natit_Dual_v0.01.zip Link to comment Share on other sites More sharing options...
joe75 Posted November 9, 2006 Share Posted November 9, 2006 dm_webd, are you still playing with auto-EDID Link to comment Share on other sites More sharing options...
dm_webd Posted November 9, 2006 Share Posted November 9, 2006 dm_webd, are you still playing with auto-EDID Yes. I don't haven't got so much time for now, but expect to see something in 1-2 days (if everything goes as planned ). Link to comment Share on other sites More sharing options...
james2mart Posted November 9, 2006 Share Posted November 9, 2006 np_ would probably be the best way to go about finding out how to auto-EDID. I'm going to try shortly - also check out the read-edid website source > http://john.fremlin.de/programs/linux/read-edid/ Code that short has to be easy to port. Only difficulty would be IOKit's integration. Guys - moninfo does NOT report the same EDID that SwitchResX reports. Just thought you should know. Link to comment Share on other sites More sharing options...
Rammjet Posted November 9, 2006 Share Posted November 9, 2006 Guys - moninfo does NOT report the same EDID that SwitchResX reports. Just thought you should know. For grins, go to Terminal and type: ioreg -l w 0 | grep "EDID" Link to comment Share on other sites More sharing options...
joe75 Posted November 9, 2006 Share Posted November 9, 2006 For grins, go to Terminal and type: Link to comment Share on other sites More sharing options...
james2mart Posted November 9, 2006 Share Posted November 9, 2006 Sorry rammjet, been there done that. No luck. I've browsed IORegistryExplorer, etc. and not found EDIDs. SwitchResX provides me the EDIDs though, so I'm grateful. Link to comment Share on other sites More sharing options...
dm_webd Posted November 9, 2006 Share Posted November 9, 2006 np_ would probably be the best way to go about finding out how to auto-EDID. I'm going to try shortly - also check out the read-edid website source > http://john.fremlin.de/programs/linux/read-edid/ Code that short has to be easy to port. Only difficulty would be IOKit's integration. I have checked that code and the calls to VBE done there is easy, as real-mode calls are available. I'm not sure about real-mode calls are available in the Mac OS kernel(I doubt it). So my approach will be to try using the VBE/Core 3.0 protected mode interface. But that requires adding entries to the GDT and I haven't written code before to do that. I have just finished making the headers with the structures needed for the GDT pointer and entries, and I have an idea for the asm code to add the entries. I don't know if it'll work, or crash the system. This code needs to run at ring0 (I would believe the code in a kext is run at this level, but I'm not sure as kernel programming is not something I've done too much of - especially regarding the mac kernel). I'm off to work now, but as soon as I get home I'll try to make some code to access the GDT, then add entries and hope that it won't crash. If anyone has more insight into the workings of the GDT and the mac os kernel, I would be very interested in hearing your thoughts about my approach. Link to comment Share on other sites More sharing options...
Wallstreet Posted November 9, 2006 Share Posted November 9, 2006 I'm dual booting WinXP on the same hardware...if there's any information you need me to grab (and a way to get it), please let me know. Link to comment Share on other sites More sharing options...
aberracus Posted November 10, 2006 Share Posted November 10, 2006 Guy you are making history! im jumping like a rabbit! Link to comment Share on other sites More sharing options...
Rammjet Posted November 10, 2006 Share Posted November 10, 2006 np_ is pissed that with Titan and Natit, people are dissing Macvidia and he is threatening to quit developing Macvidia for cards that Apple drivers don't support. Might want to stop over at Macvidia and help him feel better: http://macvidia.starchaser.org/option,com_...id,63/topic,932 Link to comment Share on other sites More sharing options...
Recommended Posts