MiR Posted November 12, 2006 Share Posted November 12, 2006 I just got my X1900XT working with QE/CI & Dual Screen Support + DVI output with 10.4.8 and latest Version of semthex's kernel I simply installed natit and after playing arround for a while I got everything working with the following entries. (Important, make sure that you replace the original entry for IOPCIMatch with the following: <key>IOPCIMatch</key> <string>0x00001002&0x0000ffff</string> otherwise Natit will not load the Keys) You must also make sure that you have the 'original' AppleSMBIOS that came with the latest JaS DVD, if you use the patched version that was created to make 'About this Mac' work your second screen will not show up! MiR <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>CFBundleDevelopmentRegion</key> <string>English</string> <key>CFBundleExecutable</key> <string>Natit</string> <key>CFBundleIdentifier</key> <string>com.dmweb.Natit</string> <key>CFBundleInfoDictionaryVersion</key> <string>6.0</string> <key>CFBundleName</key> <string>Natit</string> <key>CFBundlePackageType</key> <string>KEXT</string> <key>CFBundleSignature</key> <string>????</string> <key>CFBundleVersion</key> <string>1.0.0d1</string> <key>IOKitPersonalities</key> <dict> <key>Natit</key> <dict> <key>CFBundleIdentifier</key> <string>com.dmweb.Natit</string> <key>IOClass</key> <string>com_dmweb_Natit</string> <key>IOMatchCategory</key> <string>IOFramebuffer</string> <key>IONameMatch</key> <string>display</string> <key>IOPCIMatch</key> <string>0x00001002&0x0000ffff</string> <key>IOProbeScore</key> <integer>0</integer> <key>IOProviderClass</key> <string>IOPCIDevice</string> <key>entriesToAdd</key> <dict> <key>device_type</key> <string>ATY,AlopiasParent</string> <key>ATY,FrameBufferOffset</key> <integer>0x80000000</integer> <key>ATY,IOSpaceOffset</key> <integer>0x00001000</integer> <key>ATY,RegisterSpaceOffset</key> <integer>0x90b20000</integer> <key>@0,compatible</key> <string>ATY,Alopias</string> <key>@0,name</key> <string>ATY,Alopias</string> <key>@0,device_type</key> <string>display</string> <key>@0,display-connect-flags</key> <integer>00000400</integer> <key>@1,compatible</key> <string>ATY,Alopias</string> <key>@1,name</key> <string>ATY,Alopias</string> <key>@1,device_type</key> <string>display</string> <key>@1,display-connect-flags</key> <integer>00000400</integer> </dict> Link to comment Share on other sites More sharing options...
~Neo Posted November 12, 2006 Share Posted November 12, 2006 I just got my X1900XT working with QE/CI & Dual Screen Support + DVI output with 10.4.8 and latest Version of semthex's kernel<snip!> This is very interesting! Natit with an ATI card.... cool thing!!! Could you post your Complete Natit.kext? Link to comment Share on other sites More sharing options...
munky Posted November 12, 2006 Share Posted November 12, 2006 Interesting, so ATY_Alopias is for the X1900 too? I use Alopias on my X1800XL... Might give this a try myself... Link to comment Share on other sites More sharing options...
MiR Posted November 12, 2006 Author Share Posted November 12, 2006 ???? The only thing that needs to be changed in natit.kext is Info.plist I've included my complete Info.plist File in my previous post. MiR Link to comment Share on other sites More sharing options...
munky Posted November 12, 2006 Share Posted November 12, 2006 can i ask... the AppleSMBIOS which mifki/vitaliy released with his kernel.. is that one ok? or is that the patched one? the one from the JaS disc.. which version is it? the 10.4.8 one? the 10.4.7 one? the 10.4.4 one? any ideas? Link to comment Share on other sites More sharing options...
~Neo Posted November 12, 2006 Share Posted November 12, 2006 ???? The only thing that needs to be changed in natit.kext is Info.plist I've included my complete Info.plist File in my previous post. MiR Yep, but its not formatted as a plist It would help many people if you post your kext! Ah, and do you know what this does: <key>ATY,FrameBufferOffset</key> <integer>0x80000000</integer> <key>ATY,IOSpaceOffset</key> <integer>0x00001000</integer> <key>ATY,RegisterSpaceOffset</key> <integer>0x90b20000</integer> Thanks for this! Link to comment Share on other sites More sharing options...
MiR Posted November 12, 2006 Author Share Posted November 12, 2006 I'm not 100% sure if those three lines did the trick or if @1,display-connect-flags does the trick of activating the second screen. Unfortunately I found out at the end that the patched version of AppleSMBIOS blocked the detection of the second screen, so I'm not 100% sure which of the following entries are definitely needed or perhaps are unneccessary: <key>ATY,FrameBufferOffset</key> <integer>0x80000000</integer> <key>ATY,IOSpaceOffset</key> <integer>0x00001000</integer> <key>ATY,RegisterSpaceOffset</key> <integer>0x90b20000</integer> <key>@1,display-connect-flags</key> <integer>00000400</integer> I will play arround to find the minimal entries necessary. I've attaced my current info.plist can i ask... the AppleSMBIOS which mifki/vitaliy released with his kernel.. is that one ok? or is that the patched one? the one from the JaS disc.. which version is it? the 10.4.8 one? the 10.4.7 one? the 10.4.4 one? any ideas? Yes, this one should be O.K. MiR Info.plist.natit_xt1900xt.zip Link to comment Share on other sites More sharing options...
~Neo Posted November 12, 2006 Share Posted November 12, 2006 I'm not 100% sure if those three lines did the trick or if @1,display-connect-flags does the trick of activating the second screen. Unfortunately I found out at the end that the patched version of AppleSMBIOS blocked the detection of the second screen, so I'm not 100% sure which of the following entries are definitely needed or perhaps are unneccessary: <key>ATY,FrameBufferOffset</key> <integer>0x80000000</integer> <key>ATY,IOSpaceOffset</key> <integer>0x00001000</integer> <key>ATY,RegisterSpaceOffset</key> <integer>0x90b20000</integer> <key>@1,display-connect-flags</key> <integer>00000400</integer> I will play arround to find the minimal entries necessary. Hm, OK! Let us know what happens if you remove these lines! I've attaced my current info.plist Where is it? Ok, I saw it! Link to comment Share on other sites More sharing options...
MiR Posted November 12, 2006 Author Share Posted November 12, 2006 Hmmm.... I removed <key>ATY,FrameBufferOffset</key> <integer>0x80000000</integer> <key>ATY,IOSpaceOffset</key> <integer>0x00001000</integer> <key>ATY,RegisterSpaceOffset</key> <integer>0x90b20000</integer> <key>@0,display-connect-flags</key> <integer>00000400</integer> <key>@1,display-connect-flags</key> <integer>00000400</integer> and Dual Screen still works. Perhaps somebody could verify on a new machine if the entries are really not needed.... Link to comment Share on other sites More sharing options...
munky Posted November 12, 2006 Share Posted November 12, 2006 i'm about to try this out with my X1800XL, 10.4.8 w/ mifki's kernel and SMBIOS kext. just sorting out my drivers just now, as they are a hodgepodge of borisbadenov installer, ATIInject.kext and manual editing... Link to comment Share on other sites More sharing options...
~Neo Posted November 12, 2006 Share Posted November 12, 2006 Hmmm.... I removed <key>ATY,FrameBufferOffset</key> <integer>0x80000000</integer> <key>ATY,IOSpaceOffset</key> <integer>0x00001000</integer> <key>ATY,RegisterSpaceOffset</key> <integer>0x90b20000</integer> <key>@0,display-connect-flags</key> <integer>00000400</integer> <key>@1,display-connect-flags</key> <integer>00000400</integer> and Dual Screen still works. Perhaps somebody could verify on a new machine if the entries are really not needed.... Ahm I tried this: Loaded Natit_Dual_v0.02 and changed your kext to match my card... Permissions and so on I dont need to talk about this! Reboot... and: No DVI! Just my VGA is working... I did this: ioreg -l -w0 | grep "EDID" and it showed me this: | | | | "CRT2,EDID" = <00ffffffffffff001ab3940501010101290f0103682b1a782ac905a3574b9c25125054bfef807 4f81c081cf818095000101010101019a29a0d051842a30509836009a001100001c000000ff005945 7553032373232330a2020000000fd00384b1f530e000a202020202020000000fc005731392d310a2 20202020202000a3> | | | | | "IODisplayEDID" = <00ffffffffffff001ab3940501010101290f0103682b1a782ac905a3574b9c25125054bfef807 4f81c081cf818095000101010101019a29a0d051842a30509836009a001100001c000000ff005945 7553032373232330a2020000000fd00384b1f530e000a202020202020000000fc005731392d310a2 20202020202000a3> But this is not correct! My monitor is a DFP not a CRT! Link to comment Share on other sites More sharing options...
munky Posted November 12, 2006 Share Posted November 12, 2006 one question: which natit do i use? and do i need EDID info first? Link to comment Share on other sites More sharing options...
gu3d3s Posted November 12, 2006 Share Posted November 12, 2006 hi all! I will tr the kext with x1600 too! []'s Link to comment Share on other sites More sharing options...
icyderguru Posted November 12, 2006 Share Posted November 12, 2006 just tried it, replaced alopias with Wormy (cause i use an x1600) got qeci, res change, and my card shows up as 512mb card (which it is) but still only mirror picture used 2dvi -->d-sub (2xcrt 19 inch) sleep also works tried semthex/mifki-demones kernel Link to comment Share on other sites More sharing options...
munky Posted November 12, 2006 Share Posted November 12, 2006 working for me using the op's Info.plist unknown nvidia - classic fyi, when i use the boris method, i can see the 'Mac OS X Starting Up...' screen, but with this solution and with ATIInject/ATIEFI I dont. With ATIInject/ATIEFI my monitor cant wake from sleep (monitor sleep, not system sleep), but with boris method it can. just about to test whether wake from sleep will work here... EDIT: ok, that worked. now the biggie... will system sleep work (it never has for me...) EDIT2: DAMN IT! wake from system sleep still doesnt work for me. i think its related to mobo, as mifki/vitaliy has the same problem, and he has the same mobo as me. EDIT3: Interesting... the machine is still responding to a ping. Thats progress... Link to comment Share on other sites More sharing options...
Rammjet Posted November 12, 2006 Share Posted November 12, 2006 I tried with an x1600 (Wormy) and modifying the Info.plist appropriately. All I got was a blue screen, no cursor. Used Natit.kext from here: http://forum.insanelymac.com/index.php?s=&...st&p=227574 AppleSMBios.kext was from "final" 10.4.8 JaS Intel SSE3 Only install DVD. Info.plist says: <key>entriesToAdd</key> <dict> <key>device_type</key> <string>ATY,WormyParent</string> <key>ATY,FrameBufferOffset</key> <integer>0x80000000</integer> <key>ATY,IOSpaceOffset</key> <integer>0x00001000</integer> <key>ATY,RegisterSpaceOffset</key> <integer>0x90b20000</integer> <key>@0,compatible</key> <string>ATY,Wormy</string> <key>@0,name</key> <string>ATY,Wormy</string> <key>@0,device_type</key> <string>display</string> <key>@0,display-connect-flags</key> <string>00000400</string> <key>@1,compatible</key> <string>ATY,Wormy</string> <key>@1,name</key> <string>ATY,Wormy</string> <key>@1,device_type</key> <string>display</string> <key>@1,display-connect-flags</key> <string>00000400</string> </dict> Questions: 1) Which Natit.kext did you use? 2) Which versions of ATI kexts do you have installed? 3) Which OpenGL.framework do you have? Link to comment Share on other sites More sharing options...
~Neo Posted November 12, 2006 Share Posted November 12, 2006 AppleSMBios.kext was from "final" 10.4.8 JaS Intel SSE3 Only install DVD. As I understood, you have to use another AppleSMBios!! The one from JaS DVD is fixed, I think.... Link to comment Share on other sites More sharing options...
MiR Posted November 12, 2006 Author Share Posted November 12, 2006 I tried with an x1600 (Wormy) and modifying the Info.plist appropriately. Info.plist says: <key>entriesToAdd</key> <dict> <key>device_type</key> <string>ATY,WormyParent</string> <key>ATY,FrameBufferOffset</key> <integer>0x80000000</integer> <key>ATY,IOSpaceOffset</key> <integer>0x00001000</integer> <key>ATY,RegisterSpaceOffset</key> <integer>0x90b20000</integer> <key>@0,compatible</key> <string>ATY,Wormy</string> <key>@0,name</key> <string>ATY,Wormy</string> <key>@0,device_type</key> <string>display</string> <key>@0,display-connect-flags</key> <string>00000400</string> <key>@1,compatible</key> <string>ATY,Wormy</string> <key>@1,name</key> <string>ATY,Wormy</string> <key>@1,device_type</key> <string>display</string> <key>@1,display-connect-flags</key> <string>00000400</string> </dict> Questions: 1) Which Natit.kext did you use? 2) Which versions of ATI kexts do you have installed? 3) Which OpenGL.framework do you have? I have an unpatched system, fresh from the JaS 10.4.8 DVD 2nd edition) In my point of view lot's of errors come from too much trying without later cleaning up.... (See my problems with AppleSMBios ) Please remove the following entries as they might be special to X1900XT: <key>ATY,FrameBufferOffset</key> <integer>0x80000000</integer> <key>ATY,IOSpaceOffset</key> <integer>0x00001000</integer> <key>ATY,RegisterSpaceOffset</key> <integer>0x90b20000</integer> <key>@0,display-connect-flags</key> <string>00000400</string> <key>@1,display-connect-flags</key> <string>00000400</string> MiR As I understood, you have to use another AppleSMBios!! The one from JaS DVD is fixed, I think.... I just tried the latest version of AppleSMBios from Paulicat, this version also seems to work. I will re-install my system later to see if everithing works out of the box with a completely fresh system. MiR Link to comment Share on other sites More sharing options...
Rammjet Posted November 12, 2006 Share Posted November 12, 2006 In my point of view lot's of errors come from too much trying without later cleaning up This was my first ever "try" Please remove the following entries as they might be special to X1900XT: <key>ATY,FrameBufferOffset</key> <integer>0x80000000</integer> <key>ATY,IOSpaceOffset</key> <integer>0x00001000</integer> <key>ATY,RegisterSpaceOffset</key> <integer>0x90b20000</integer> <key>@0,display-connect-flags</key> <string>00000400</string> <key>@1,display-connect-flags</key> <string>00000400</string> Will do, meanwhile since I had previously installed the Boris-style patch for x1x00, I went back and replaced my ATI* kexts and OpenGL.framework with original 10.4.8 versions. This time I get a display, mirrored on both monitors. But looking at boot messages, Natit.kext ran 6 times during boot and here is a summary of the errors: 4.80.46.0display: family specific matching fails display: family specific matching failsdisplay: family specific matching fails Natit: Starting. Natit: Setting model=Unknown nVidia Natit: Starting. Natit: Setting model=Unknown nVidia display: family specific matching fails Natit: Starting. Natit: Setting @0,device_type=displaydisplay: family specific matching fails Natit: Starting. Natit: Setting model=Unknown nVidia Natit: Setting model=Unknown nVidia display: family specific matching fails Natit: Starting. Natit: Setting model=Unknown nVidia ATY,Wormy: Not usable ATY,Wormy: Not usable Link to comment Share on other sites More sharing options...
ooZberg Posted November 12, 2006 Share Posted November 12, 2006 Finally DVI for X1900 (and dual display too) Is there any chance to get tv-out working? That would be great! Link to comment Share on other sites More sharing options...
MiR Posted November 12, 2006 Author Share Posted November 12, 2006 This was my first ever "try"Will do, meanwhile since I had previously installed the Boris-style patch for x1x00, I went back and replaced my ATI* kexts and OpenGL.framework with original 10.4.8 versions. This time I get a display, mirrored on both monitors. But looking at boot messages, Natit.kext ran 6 times during boot and here is a summary of the errors: 4.80.46.0display: family specific matching fails display: family specific matching failsdisplay: family specific matching fails Natit: Starting. Natit: Setting model=Unknown nVidia Natit: Starting. Natit: Setting model=Unknown nVidia display: family specific matching fails Natit: Starting. Natit: Setting @0,device_type=displaydisplay: family specific matching fails Natit: Starting. Natit: Setting model=Unknown nVidia Natit: Setting model=Unknown nVidia display: family specific matching fails Natit: Starting. Natit: Setting model=Unknown nVidia ATY,Wormy: Not usable ATY,Wormy: Not usable Perhaps you have more than one device that matches the ATI-Signature (1002) and because of this Natit gets called more often than necessary. On my System Nantit is called twice (Once for the Primary Device ID of the Graphics card, the second time it is called for the Secondary ID (this is forthe 2nd Display)) Please edit <key>IOPCIMatch</key> <string>0x00001002&0x0000ffff</string> to: <key>IOPCIMatch</key> <string>0xXXXX1002</string> where XXXX is the Device ID found for the Graphics Card in 'About this Mac' In my case the Device-ID is 7249 ; my Entry is now: <key>IOPCIMatch</key> <string>0x72491002</string> Now you have to rm /System/Library/Extensions.* and reboot. Now Natit only matches once and will only be called once. MiR MiR Link to comment Share on other sites More sharing options...
munky Posted November 12, 2006 Share Posted November 12, 2006 Here's what worked for me: - Installed JaS 10.4.6 w/ Intel SSE3 patch - Installed JaS 10.4.7 Update - Installed Official Apple 10.4.8 Combo - Replaced mach_kernel and AppleSMBIOS.kext with those from Mifki/Vitaliy's release - Booted up - Downloaded Natit.kext from here: http://forum.insanelymac.com/index.php?showtopic=32427 - Downloaded OP's Info.plist and replaced - Repaired permissions/ownership etc, removed mkext and kextcache - Rebooted to working system. EDIT: I just realised i'm probably not using the dual-display Natit. I dont have a second monitor to test with, so its unimportant to me. i can ssh to my reawakened hackintosh. can anyone suggest a terminal command which would force a reposting of the video? btw i can VNC to the machine - it connects but shows a black window... curious... anyone any ideas how i can force it to repost video? (i dont have teh 'repost video on s3 resume' option in bios...) Link to comment Share on other sites More sharing options...
Rammjet Posted November 12, 2006 Share Posted November 12, 2006 Perhaps you have more than one device that matches the ATI-Signature (1002) and because of this Natit gets called more often than necessary. On my System Nantit is called twice (Once for the Primary Device ID of the Graphics card, the second time it is called for the Secondary ID (this is forthe 2nd Display)) I have only one ATI device Please edit <key>IOPCIMatch</key> <string>0x00001002&0x0000ffff</string> to: <key>IOPCIMatch</key> <string>0xXXXX1002</string> where XXXX is the Device ID found for the Graphics Card in 'About this Mac' The generic IOPCIMatch string of "0x00001002&0x0000ffff" worked just fine on my previous Boris-style patched system. It loaded only once and unfortunately recognized only one output of my ATI card. Now Natit only matches once and will only be called once. Won't hard coding it back to a single device id force it to only recognize one of the ATI card outputs and limit me to only one monitor - defeating the whole purpose of this exercise? If I wanted that, I would reload all of my previous kexts and frameworks from my working Boris-style patched system. Link to comment Share on other sites More sharing options...
MiR Posted November 12, 2006 Author Share Posted November 12, 2006 Won't hard coding it back to a single device id force it to only recognize one of the ATI card outputs and limit me to only one monitor - defeating the whole purpose of this exercise? If I wanted that, I would reload all of my previous kexts and frameworks from my working Boris-style patched system. Nope. Natit always does the same on every invocation. Reducing the number of invocations does not hurt, it makes the logging output easier to read. Please remember, Natit is not a display driver, it only fill's the registry with missing entries that are needed for the real graphics driver to load. The 2nd display is handeled internaly in the original driver. I once added the second Device-ID of my graphics card to an extension, the result was a wonderfull crash MiR Link to comment Share on other sites More sharing options...
Rammjet Posted November 12, 2006 Share Posted November 12, 2006 Nope. Natit always does the same on every invocation. Reducing the number of invocations does not hurt, it makes the logging output easier to read. Please remember, Natit is not a display driver, it only fill's the registry with missing entries that are needed for the real graphics driver to load. The 2nd display is handeled internaly in the original driver. Interesting. 4 hours ago you said: (Important, make sure that you replace the original entry for IOPCIMatch with the following: <key>IOPCIMatch</key> <string>0x00001002&0x0000ffff</string> otherwise Natit will not load the Keys) Anyway, I hard-coded IOPCIMatch to "0x71c01002" and Natit.kext loaded 4 times with the same errors as before. The essence of my problem is that when I look at the ioreg output from single-user mode, I don't find very many variables to set/tweak and I'm wondering where you found some of the ones that you did set. For instance, here is the ioreg output for my secondary port (dev id 71e0) on the ATI card: | | | +-o display@0,1 <class IOPCIDevice, registered, matched, active, busy 0, retain count 7> | | | | { | | | | "IODeviceMemory" = (({"address"=18446744073703129088,"length"=65536})) | | | | "device-id" = <e0710000> | | | | "IOChildIndex" = 1 | | | | "name" = "display" | | | | "IOName" = "display" | | | | "vendor-id" = <02100000> | | | | "revision-id" = <00000000> | | | | "IOPCIResourced" = Yes | | | | "subsystem-vendor-id" = <4b170000> | | | | "Power Management private data" = (edited for space considerations) | | | | "Power Management protected data" = (edited for space considerations) | | | | "IOPCIExpressLinkStatus" = 4353 | | | | "IOPCIExpressLinkCapabilities" = 3329 | | | | "class-code" = <00800300> | | | | "compatible" = <"pci174b,881","pci1002,71e0","pciclass,038000"> | | | | "assigned-addresses" = <100106820000000000009eff0000000000000100> | | | | "subsystem-id" = <81080000> | | | | "reg" = <0001060000000000000000000000000000000000100106020000000000000000000000000000 100> | | | | } I find nothing similar to the following <key>'s that you set nor the following <string>: <key>device_type</key> <string>ATY,AlopiasParent</string> <-- would expect ATY,WormyParent for mine <key>ATY,FrameBufferOffset</key> <key>ATY,IOSpaceOffset</key> <key>ATY,RegisterSpaceOffset</key> <key>@1,device_type</key> <key>@1,display-connect-flags</key> Link to comment Share on other sites More sharing options...
Recommended Posts