Help - Search - Members - Calendar
Full Version: Natit new development version with ATI and nVidia dual screen
InsanelyMac Forum > InsanelyMac Lounge > The X Labs > Natit
Pages: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
dm_webd
This is a new build with more settings possible in Info.plist. Contains device-id -> name for both nVidia and ATI.
Inside is default settings for ati and nvidia which will be set if not otherwise specified. To specify other settings for a specific device id put a string inside the dictionary of the device id, with key "entriesToAddKey" and value of your choice. Then add to the entriesToAdd dictionary of the vendor, a dictionary with the key you choose before. Then this should be loaded for devices where entriesToAddKey is set to the dictionary's key.
This sounds confusing, but it's actually now. I'm just to tired to explain it better right now. If someone can explain this better, it would be great.
But anyway, this design should make it possible to collect the different configurations that work, and put them inside their own dictionaries, then point the device ids to the right dictionary for the card.

Warning: this has not been tested very much (and only on nVidia), and the default values might not work for you as they're taken from attempts at getting multiple displays working.

Please report back any bugs you find. Stories of success is also welcome. smile.gif

--- EDIT ---
The reason why I'm not releasing source code yet is that the source contains a lot of confusing and messy vbe & gdt/ldt code which is not in use yet. Once I get it fully working and cleaned up I will of course release the source again.

--- EDIT ---
I've removed from some entries from the ATI default values and set the display-connect-flags to the right values on suggestion from MiR.

--- EDIT ---
New release with test of ATI autodetect of X1300, X1600, X1800 & X1900 based on values provided by Ciber.
Please report any results as the code for multiple settings for different device-ids has not been tested yet.

--- EDIT ---
For QE/CI you have to add the device id of your card in ATIRadeonX1000.kext.
phor2zero
Awesome dm_webd!

I've downloaded and will test this on my two screens (both dvi, one 19" one 47") system in signature

Since the titan kext seems to have been abandoned, and you're doing such a great development job on Natit, --> Could you please take a look at this thread I started and let me know if there's anything I can do?
http://forum.insanelymac.com/index.php?sho...c=33003&hl=

ConGratz on your great work!
Ciber
About to test on my X1600XT...
MiR
I removed the unnecessary keys (see the other posting), removed /System/Library/Extensions.* and rebooted...

System starts without troubles, my graphics card is now 100% detected and I can see the real name in 'About this Mac'.

Thank you very, very much!

I will start playing arround with the GMA950 of my Mac Mini tomorrow.

Keep up the great work (and please keep it Open-Source!!!)

MiR
dm_webd
QUOTE(MiR @ Nov 12 2006, 10:39 PM) *
I removed the unnecessary keys (see the other posting), removed /System/Library/Extensions.* and rebooted...

System starts without troubles, my graphics card is now 100% detected and I can see the real name in 'About this Mac'.

Thank you very, very much!

I will start playing arround with the GMA950 of my Mac Mini tomorrow.

Keep up the great work (and please keep it Open-Source!!!)

MiR

I've removed the keys you suggest and set the display-connect-flags to the correct hex values. Do you think the display-connect-flags should be removed completely?
It's great to have people like you experimenting and getting great results - this way this project is developed by the community. So of course I will keep the source open - but for now this was just a quick release for testing. I will release source in a day or two when the vbe code is complete.
Ciber
If you're using an X1600, remember to change all the Alopias entries to Wormy. My X1600XT was fully detected after that, but still no dual screen, my second dvi port is still dead.

Here's my log:

QUOTE
Nov 12 17:01:18 localhost kernel[0]: BSD root: disk0s1, major 14, minor 1
Nov 12 17:01:18 localhost kernel[0]: AppleIntel8254XEthernet: Detected 82573V on PCI-E (x1)
Nov 12 17:01:18 localhost kernel[0]: Jettisoning kernel linker.
Nov 12 17:01:18 localhost kernel[0]: Resetting IOCatalogue.
Nov 12 17:01:18 localhost kernel[0]: display: family specific matching fails
Nov 12 17:01:18 localhost kernel[0]: display: family specific matching fails
Nov 12 17:01:18 localhost kernel[0]: Matching service count = 0
Nov 12 17:01:18 localhost kernel[0]: Matching service count = 2
Nov 12 17:01:18 localhost kernel[0]: Matching service count = 2
Nov 12 17:01:18 localhost kernel[0]: Matching service count = 2
Nov 12 17:01:18 localhost kernel[0]: Matching service count = 2
Nov 12 17:01:18 localhost kernel[0]: Matching service count = 3
Nov 12 17:01:18 localhost kernel[0]: display: family specific matching fails
Nov 12 17:01:18 localhost kernel[0]: display: family specific matching fails
Nov 12 17:01:18 localhost kernel[0]: display: family specific matching fails
Nov 12 17:01:18 localhost kernel[0]: display: family specific matching fails
Nov 12 17:01:18 localhost kernel[0]: display: family specific matching fails
Nov 12 17:01:18 localhost kernel[0]: Natit: Starting.
Nov 12 17:01:18 localhost kernel[0]: device-id: 0x71E0
Nov 12 17:01:18 localhost kernel[0]: Found device
Nov 12 17:01:18 localhost kernel[0]: Found device name
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting device_type=ATY,WormyParent
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @1,device_type=display
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @0,compatible=ATY,Wormy
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @0,display-connect-flags=0x00000400
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @1,compatible=ATY,Wormy
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @1,display-connect-flags=0x00000400
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @1,name=ATY,Wormy
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @0,name=ATY,Wormy
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @0,device_type=display
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting model=ATI Radeon X1600 Series Secondary
Nov 12 17:01:18 localhost kernel[0]: display: family specific matching fails
Nov 12 17:01:18 localhost kernel[0]: display: family specific matching fails
Nov 12 17:01:18 localhost kernel[0]: Natit: Starting.
Nov 12 17:01:18 localhost kernel[0]: device-id: 0x71C0
Nov 12 17:01:18 localhost kernel[0]: Found device
Nov 12 17:01:18 localhost kernel[0]: Found device name
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting device_type=ATY,WormyParent
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @1,device_type=display
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @0,compatible=ATY,Wormy
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @0,display-connect-flags=0x00000400
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @1,compatible=ATY,Wormy
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @1,display-connect-flags=0x00000400
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @1,name=ATY,Wormy
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @0,name=ATY,Wormy
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @0,device_type=display
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting model=ATI Radeon X1600 Series
Nov 12 17:01:18 localhost kernel[0]: display: family specific matching fails
Nov 12 17:01:18 localhost kernel[0]: Natit: Starting.
Nov 12 17:01:18 localhost kernel[0]: device-id: 0x71C0
Nov 12 17:01:18 localhost kernel[0]: Found device
Nov 12 17:01:18 localhost kernel[0]: Found device name
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting device_type=ATY,WormyParent
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @1,device_type=display
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @0,compatible=ATY,Wormy
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @0,display-connect-flags=0x00000400
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @1,compatible=ATY,Wormy
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @1,display-connect-flags=0x00000400
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @1,name=ATY,Wormy
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @0,name=ATY,Wormy
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting @0,device_type=display
Nov 12 17:01:18 localhost kernel[0]: Natit: Setting model=ATI Radeon X1600 Series
Nov 12 17:01:18 localhost kernel[0]: IPv6 packet filtering initialized, default to accept, logging disabled
Nov 12 17:01:18 localhost mDNSResponder-108.2 (Aug 25 2006 14: 50:48)[56]: starting
Nov 12 17:01:18 localhost memberd[63]: memberd starting up
Nov 12 17:01:18 localhost lookupd[64]: lookupd (version 369.6) starting - Sun Nov 12 17:01:18 2006
Nov 12 17:01:18 localhost DirectoryService[68]: Launched version 2.1 (v353.5)
Nov 12 17:01:19 localhost diskarbitrationd[62]: disk0s1 hfs 6F340C06-8291-3969-9A09-67CB117313D8 Macintosh HD /
Nov 12 17:01:20 localhost kernel[0]: ATY,Wormy: Not usable
Nov 12 17:01:20 localhost kernel[0]: ATY,Wormy: Not usable
dm_webd
QUOTE(Ciber @ Nov 12 2006, 11:04 PM) *
If you're using an X1600, remember to change all the Alopias entries to Wormy. My X1600XT was fully detected after that, but still no dual screen, my second dvi port is still dead.

Thanks for the input. I'll write this info down to add for autodetection. Do you know values for other ati cards?
Ciber
QUOTE(dm_webd @ Nov 12 2006, 05:10 PM) *
Thanks for the input. I'll write this info down to add for autodetection. Do you know values for other ati cards?


Caretta = x1300, Wormy = x1600, Alopias = x1800, Sphyrna = x1900
Ruud
great work, this natit version does find my mobility x700 card, so that one stap further to a working x700 biggrin.gif

oke, after he finds the card, it loads the logon window, and doesnt go further, you only see the boot screen.


but, it finds the card so we are one step further.


Ruud
MiR
QUOTE(dm_webd @ Nov 12 2006, 10:50 PM) *
I've removed the keys you suggest and set the display-connect-flags to the correct hex values. Do you think the display-connect-flags should be removed completely?
It's great to have people like you experimenting and getting great results - this way this project is developed by the community. So of course I will keep the source open - but for now this was just a quick release for testing. I will release source in a day or two when the vbe code is complete.


I will re-install my system tomorrow, after that we will know if the entries are necessary.

No hurry with the source, better release source that is complete instead of a hurried version that is difficult to read. One thing to address in the future might be to create specialized patches for several Device-ID's. The entries we have right now may be sufficient for a X1900XT, but there may exist extra settings for a X1600 card that need to be applied if it is detected.

Perhaps it's an idea to keep natit simple and straightforward and to create an installer that does some hardware detection magic and creates parts of the info.plist based on it's findings.

Fortunately the Freepascal Compiler was ported to the mac, creating this hardware detection seems like a nice project for my spare time...

MiR
dm_webd
QUOTE(Ciber @ Nov 12 2006, 11:15 PM) *
Caretta = x1300, Wormy = x1600, Alopias = x1800, Sphyrna = x1900

Thanks for the info. I've added a new version with autodetect based on these values. It has not been tested, so if you could test if it detects your card properly, it would be a great help.
~Neo
QUOTE(MiR @ Nov 12 2006, 11:20 PM) *
I will re-install my system tomorrow, after that we will know if the entries are necessary.

No hurry with the source, better release source that is complete instead of a hurried version that is difficult to read. One thing to address in the future might be to create specialized patches for several Device-ID's. The entries we have right now may be sufficient for a X1900XT, but there may exist extra settings for a X1600 card that need to be applied if it is detected.

Perhaps it's an idea to keep natit simple and straightforward and to create an installer that does some hardware detection magic and creates parts of the info.plist based on it's findings.

Fortunately the Freepascal Compiler was ported to the mac, creating this hardware detection seems like a nice project for my spare time...

MiR


I would say we test the kext out and develop it till it works for all cards! Then I can make an automized installer with DevID detection and plist changing! (Only if you like) biggrin.gif
Edit: Ok, nice work, dm_webd! happy.gif
dm_webd
QUOTE(MiR @ Nov 12 2006, 11:20 PM) *
No hurry with the source, better release source that is complete instead of a hurried version that is difficult to read. One thing to address in the future might be to create specialized patches for several Device-ID's. The entries we have right now may be sufficient for a X1900XT, but there may exist extra settings for a X1600 card that need to be applied if it is detected.

This is already implemented. You can see an example in the Info.plist of the version I just posted. I don't know if it works yet.
QUOTE(MiR @ Nov 12 2006, 11:20 PM) *
Perhaps it's an idea to keep natit simple and straightforward and to create an installer that does some hardware detection magic and creates parts of the info.plist based on it's findings.

Fortunately the Freepascal Compiler was ported to the mac, creating this hardware detection seems like a nice project for my spare time...

MiR

A installer would be nice, although NeoPheus already made one available for the nVidia version. Perhaps he'll make one for this version too.
~Neo
QUOTE(dm_webd @ Nov 12 2006, 11:48 PM) *
A installer would be nice, although NeoPheus already made one available for the nVidia version. Perhaps he'll make one for this version too.


1. The autodetection works!!
2. DVI isn't working for me yet! (hmm...)
3. Yep, I will make an installer tomorrow!
4. Keep up the great work! I'm going to bed now biggrin.gif

cYa!!
MiR
QUOTE(NeoPheus @ Nov 12 2006, 11:46 PM) *
I would say we test the kext out and develop it till it works for all cards! Then I can make an automized installer with DevID detection and plist changing! (Only if you like) biggrin.gif
Edit: Ok, nice work, dm_webd! happy.gif


I love your installers!

Seems to me that I will have to find another spare-time project... angel.png

MiR
Ruud
QUOTE(Ruud @ Nov 12 2006, 11:16 PM) *
great work, this natit version does find my mobility x700 card, so that one stap further to a working x700 biggrin.gif

oke, after he finds the card, it loads the logon window, and doesnt go further, you only see the boot screen.
but, it finds the card so we are one step further.
Ruud



MiR, do you hava any idea what has to be changed? its x700 on an internal 15.4" laptop screen.


Thanks for your work.
dm_webd
QUOTE(NeoPheus @ Nov 12 2006, 11:58 PM) *
1. The autodetection works!!
2. DVI isn't working for me yet! (hmm...)
3. Yep, I will make an installer tomorrow!
4. Keep up the great work! I'm going to bed now biggrin.gif

cYa!!

Great.. Thanks for the testing & installer.
I think it's time for me to get some sleep too. smile.gif
Ciber
QUOTE(dm_webd @ Nov 12 2006, 05:44 PM) *
Thanks for the info. I've added a new version with autodetect based on these values. It has not been tested, so if you could test if it detects your card properly, it would be a great help.


The auto detection is working properly, QE, CI, Res change etc, are supported and the card is showing up as the correct card.

I have a feeling that my second DVI port not working has to do with the fact that i flashed my card with a sapphire bios a while back in order to get it working at all. I'm gonna try to flash it back to the original bios and see what happens.

If anyone has a HIS X1600XT or can get me the bios for it somehow i would really appreciate it.


Thanks.
esmith1977
Uh what are the differences in the three downloads... If I have an ATI x1300, do I just download Natit_ATIauto.kext.zip ???

Uh what are the differences in the three downloads... If I have an ATI x1300, do I just download Natit_ATIauto.kext.zip ???
Ciber
QUOTE(esmith1977 @ Nov 12 2006, 06:57 PM) *
Uh what are the differences in the three downloads... If I have an ATI x1300, do I just download Natit_ATIauto.kext.zip ???


Use Natit_ATIauto.kext.zip and let us know if it works for you.
Ruud
QUOTE(Ciber @ Nov 13 2006, 01:03 AM) *
Use Natit_ATIauto.kext.zip and let us know if it works for you.



it didnt work here, i found my card a ati mobility x700. When loading the loginwindow, it doesnt go any further.



Ruud
TheZigPC
QUOTE(Ruud @ Nov 12 2006, 07:12 PM) *
it didnt work here, i found my card a ati mobility x700. When loading the loginwindow, it doesnt go any further.
Ruud



Unless the video card is supported by the original drivers, it will not work.
Ruud
QUOTE(TheZigPC @ Nov 13 2006, 01:33 AM) *
Unless the video card is supported by the original drivers, it will not work.



so i have to use the ATIRadeon9700.kext that was used with callisto? this was hex eddited for use with this card.


Ruud
Takuro
This sounds like a very interesting project. I'm just wondering: what are the key differences between this and ATIinject?

I see you're taking a solid approach: create a huge catalogue of vendor IDs, device IDs, and data about each general type of card, including whether each would be classified as wormy, caretta, etc. This saves a lot of work for end-users.

A few questions:
1) Has anybody managed to get DVI working?
2) Does this kext function without the need for EDID data?
3) Will ram finally display correctly? My 512mb x1600 is shown as having only 256mb. I know its a common issue.
gaucho
Ok, first of all, as a mini tutorial, you need to do something else to get QE/CI working besides installing Nanit.kext. You need to change (in the case of X1000 series for example) the device id list inside ATIRadeonX1000.kext:

ATIRadeonX1000.kext/Contents/Info.plist

Edit the Info.plist and where it says (dont mind the numbers, they are from a 9700 plugin, just an example):

<key>IOPCIMatch</key>
<string>0x71c01002 0x41441002 0x4E481002</string>

Change it to reflect YOUR deviceid (get it from System Profiler / Graphics):

<string>0x71c2</string>

In the case you have a common mill x1600, 0x71c2 is usually the number.

Repair permissions and reboot. You should be fine. I will post a complete tutorial for "not cli friendly" later.

As a side note, ATIInject or this solution, I DO NOT GET DUAL DISPLAY. I just get a cloned (not mirroring, just the same one display) on both ports (DVI and VGA).

Now, I believe the solution is in initializing the second port which in my card where first port is 0x71c2, secondary display is 0x71e2. If I ass this value to X1000 kext too (so it initializes) I get a kernel panic upon boot.

If anyone can please give me any info or link I can follow to read up, I would appreciate it. Am I correct that we should pursue secondary port, or is that a non issue? Thanks.

I am thinking we can add all the "possible" ATI deviceids out of the PLIST, add them to the corresponding ATIRadeonX1000.kext, ATIRadeon9700.kext, etc, and then build an installer that installls Natit and ALL possible ATI* kexts and it would provide pretty automatic detection of ATIs. I could do this if you guys think it would work ok. I just need to not put secondary ids, because its kernel panicking my computer.

EDIT: As a side note, and as suggested by some of you, I tried different Kernels, versions of ATINDRV (IONDRV has always been 4.5 since 4.8 won't work for me, blue screen), and even AppleSMBIOS (someone suggested using the original that came with JaS DVD). Of course I tried without AGPGart too. I tried all this combos, and still get Kernel Panic when loading secondary adapter. Just so nobody looses time doing the same ...
Ciber
I tried adding my card's secondary ID and also got a kernel panic heh... I'm still trying to find a HIS X1600XT bios to flash my card to see if that brings my second dvi port back to life, since i remember it working with the original bios.


Update: Flashed my card with a MSI X1600XT's bios(it's also dual dvi) and now both my dvi ports work in mirrored mode all the way until the login window starts and then the monitor connected to the second dvi port goes to sleep, i'm guessing this is when the driver loads.

Gonna try some EDID stuff, but i have a feeling that the second port is just not being initialized by the driver somehow.
Fuzzlet
No luck with Natit auto on my x1900gt. Just got a black screen. Is there anything else I need to do besides using that (provided it does work)?
BladeRunner
I tried the Natit-Auto version. My card is Radeon 9250-PCI (not PCIe) and it has a DVI and dsub/VGA port. My monitor is an IBM G96 19" CRT connected to the analog dsub connector. My system is a clean install from the jas-10.4.8-intel-only sse3 install dvd with the semthex gvm_rc12 kernel.

I had been using Callisto which gave me partial recognition of the card and resolution changing. I tried several other methods to get QE/CI running but none of them worked. This one didn't either, but I think it came the closest.

I removed Callisto and ATIinject and ran these commands:
CODE
rm -f /Library/Preferences/com.apple.window*
rm -f /users/lrh/Library/Preferences/ByHost/com.apple.window*
rm -f /users/lrh/Library/Preferences/ByHost/com.apple.pref*
rm -f /System/Library/Extensions.*


When I rebooted I saw the gray Apple / pinwheel then the screen went black. Reboot with -v showed entries from Natit being inserted and references to my 9250 graphics card. but again a blank screen.

I keep a copy of Callisto in the root directory so a boot to single user mode allows me to easily put them back. With Callisto restored the system boots to the GUI and I have resolution change again.

System Profiler shows the ATIRadeon8550 extension which supports the 9250 - id code 0x5960. It also showed an extension called ATY_Alopias. I have not seen it before.

The dmesg output shows the 9250 being assigned as secondary display. That could mean the blank screen is because it was switched to the empty connector. Dmesg output follows:
CODE
display-connect-flags=0x00000400
Natit: Setting @1,name=ATY,Alopias
Natit: Setting @0,name=ATY,Alopias
Natit: Setting @0,device_type=display
Natit: Setting model=ATI Radeon 9250 Secondary
display: family specific matching fails
display: family specific matching fails
Natit: Starting.
device-id: 0x5960
Natit: Found device
Natit: Found device name
Natit: Setting device_type=ATY,AlopiasParent
Natit: Setting @1,device_type=display
Natit: Setting @0,compatible=ATY,Alopias
Natit: Setting @0,display-connect-flags=0x00000400
Natit: Setting @1,compatible=ATY,Alopias
Natit: Setting @1,display-connect-flags=0x00000400
Natit: Setting @1,name=ATY,Alopias
Natit: Setting @0,name=ATY,Alopias
Natit: Setting @0,device_type=display
Natit: Setting model=ATI Radeon 9250
CallistoHAL Initialized!
VGA0: family specific matching fails
display: family specific matching fails
Natit: Starting.
device-id: 0x5940
Natit: Found device
Natit: Found device name
Natit: Setting device_type=ATY,AlopiasParent
Natit: Setting @1,device_type=display
Natit: Setting @0,compatible=ATY,Alopias
Natit: Setting @0,display-connect-flags=0x00000400
Natit: Setting @1,compatible=ATY,Alopias
Natit: Setting @1,display-connect-flags=0x00000400
Natit: Setting @1,name=ATY,Alopias
Natit: Setting @0,name=ATY,Alopias
Natit: Setting @0,device_type=display
Natit: Setting model=ATI Radeon 9250 Secondary


Hope this helps point to a solution for those of us that have this card.
ramius
QUOTE(BladeRunner @ Nov 12 2006, 07:45 PM) *
I tried the Natit-Auto version. My card is Radeon 9250-PCI (not PCIe) and ...

Hope this helps point to a solution for those of us that have this card.



Don't quote me on this, BUT - - - I don't think a PCI card will provide you with the acceleration capabilities. I seem to recall that was a big stink between PCI G4's and the AGP G4's. Only the AGP G4's would benefit from acceleration.

It had something to do with the necessary bandwidth of the bus...
Fuzzlet
AHHHH IT ALL WORKS!!!!

Dual screen, QE/CI NO TEARING!

Never thought I'd see the day!!!

Thank you everyone involved!

For the record used Natit_edited, and only did what gaucho described a few posts up about CI/QE. Amazing!
ramius
AITauto just tried....

Clean JaS 10.4.8 install.
Checked permissions and ownership.
X1600pro

I get display on 1 lcd panel using DVI-D.
Second display also connected via DVI-D. No Video.

No acceleration - - - BUT - - - I have not modified the ATIRadeonX1000.kext as mentioned earlier.

I am more interested in the dual display possibility than acceleration , for the moment.

So knowing that I haven't made any other mod's, any suggestions?
Rammjet
I've been trying ATIauto.kext for my x1600xt.

The kext loads 4 times during boot - once for the primary device 71c0 and 3 times for the secondary device 71e0. When I look at ioreg, I have 4 entries.

I have tried a bunch of different options, but can only get mirroring on my two displays - same as I have had using the Boris method. I get resolution control, QE/CI and no artifacts, but no spanning.

Any ideas why the kext wants to load 3 times for the secondary device?
~Neo
I just want to add one thing to this thread:
This kext is for X1x00 series first!!!! It CANNOT work with other cards because the drivers for the different X1000 cards will be loaded!

Ok, right now... At circa 4 PM (Its 6.44 AM) there will be an installer for this and I hope I can get DVI to work too! biggrin.gif

cYa NeoPheus
asstastic
The autodetect kext isn't working on my Mobility X1600.

I've tried editing the plist a number of ways but none have worked. Every time I get black and blue stripes then the screen dies. I sometimes get the same thing using ATIinject but after rebooting the GUI pops up and I have full support, for some reason upgrading to the new AppleSMBIOS and semthex kernel caused this to happen all the time.

Here's what I've tried with autodetect natit:

unmodified: ...failed
removed entries for 2nd monitor: ...failed
added additional entries for internal display(backlight, display-link-pixel/component-bits): ...failed
added EDID using <key>LVDS,EDID</key>: ...failed
tried <key>@0,EDID</key> instead: ...failed
replaced entire <entriesToAdd> under X1600 with ATIinject entries: ...kext didn't load

There are some card specific entries such as <ATY,DeviceID> that i didn't try but it doesn't look like that's the problem here. I did make all the edits with notepad so perhaps I messed up the plist formating? Still doesn't explain why I get the same results half the time with ATIinject. Any help on tracking down the cause of this bug would be great.
np_
i just want to add note on 512MB ram cards

i don't think there will be some "special" reason to these cards don't work more that just other missing property

some one can try this below

//////////////////////////////////////////////////////
IODeviceMemory *fVRAMMemory
IOMemoryMap *fFBBaseMap;

UInt32 totalVRam = 512 *1024 * 1024; //512MB VRAM , you can try also 256 *1024*1024, even force as 128MBRAM ie 128 * 1024 *1024; // this also can go as other Info.plist property setting

fFBBaseMap = pciNub->mapDeviceMemoryWithRegister( kIOPCIConfigBaseAddress1 ); //vram NVCards
fVRAMMemory = IODeviceMemory::withRange( fFBBaseMap->getPhysicalAddress(), totalVRam );

UInt64 Len = fVRAMMemory->getLength();
pciNub->setProperty("AAPL,vram-memory", &Len, sizeof(Len));

when IONDRVFramebuffer want to make vram range first look for this property "AAPL,vram-memory"

after it look for ""VRAM,memsize", if don't found these two keys its look direcly in PCIDevice mem

for NVDAResman possible key are "NVDA,memsize" ( at less in PPC version of it )

for ATI known property is "ATY,memsize"
//////////////////////////////////////////////////////////////

offcourse after mapping these range you need to retain (release ) mapped memory before damn NVDAResman load's

other think on GL , only working GL driver is GeforceFXGLDriver , rest just are ppc version and x86 parts empty stubs, mean cards under NV arch = 30 will not work

NV arch 40 and G50 are threated as NV30 in current GL driver implementation

i am sorry i do sell my 7900GTX 512 and rest my cards except my beloved 6800 GTO ( i just love that card )

but also i do plan to get 8800 GTX and this will be big dick to make it work with current apple drivers

about automatic way of getting EDID best way is i2c , apple do provide i2cinterface but problem with it is work "when he want" ....

experimenting with all this on top have pretty good chance for workaround on 512MB ram card's problem

other think , all these properties is very recommended to be set before any video drivers loaded

ie probescore 100 ( who is also video and accelerator ) or even prove score = 0, with pci match for vole vendor not any name matches

in service "probe" read pcidevice class code must be 30000 ( video card ) this will avoid problems with nfoce chipset where most vendor device = nvidia


simple check for that below

//////////////////////////////////////////
bool MyClass::IsVideo(IOService *provider)
{
bool isvideo = false;
UInt32 clcode = 0;
UInt32 vendor = 0;
IOPCIDevice *pci = OSDynamicCast(IOPCIDevice, provider);
pci->setIOEnable(true);

vendor = pci->configRead32(kIOPCIConfigVendorID);
clcode = pci->configRead32(kIOPCIConfigClassCode);

if((((clcode >> 16) & 0xffff) == 0x0300 ) && ((vendor & 0xffff) == 0x10de))
{
isvideo = true;
}

return isvideo;

}

IOService * MyClass::probe( IOService * provider, SInt32 *score )
{
IOService *ret = 0;
bool IsNvVideoCard = false;

IsNvVideoCard = IsVideo(provider);

if (!super::probe(provider, score))
return (0);

if(IsNvVideoCard)
{
ret = this;

}

return (ret);

}


hope it help in extending natit to work on most nvidia cars


np_
bofors
QUOTE(np_ @ Nov 13 2006, 12:53 AM) *
i just want to add note on 512MB ram cards


Thanks for your input and code.
Mariusz
QUOTE(asstastic @ Nov 13 2006, 06:50 AM) *
The autodetect kext isn't working on my Mobility X1600.

I've tried editing the plist a number of ways but none have worked. Every time I get black and blue stripes then the screen dies. I sometimes get the same thing using ATIinject but after rebooting the GUI pops up and I have full support, for some reason upgrading to the new AppleSMBIOS and semthex kernel caused this to happen all the time.

Here's what I've tried with autodetect natit:

unmodified: ...failed
removed entries for 2nd monitor: ...failed
added additional entries for internal display(backlight, display-link-pixel/component-bits): ...failed
added EDID using <key>LVDS,EDID</key>: ...failed
tried <key>@0,EDID</key> instead: ...failed
replaced entire <entriesToAdd> under X1600 with ATIinject entries: ...kext didn't load

There are some card specific entries such as <ATY,DeviceID> that i didn't try but it doesn't look like that's the problem here. I did make all the edits with notepad so perhaps I messed up the plist formating? Still doesn't explain why I get the same results half the time with ATIinject. Any help on tracking down the cause of this bug would be great.



I've exactly the same problem, ATIinject sometimes works and mostly not. I can't really undersatand how it is like that. Starting system 1st time,display is works fine, I do reboot and second one display is fine, third, fourth, fifth reboot and screen goes blue, sometimes dark.... I'm lost and confused. Have no idea what can be the cause of this behaviour (NATIT with FX5200 AGP works fine every time I reboot)
shmk
Hey I am a retard so could somebody explain how you get this to work. Do you just drop it in the extensions folder and then use the terminal to load it up?
ie
chown -R root:wheel /System/Library/Extensions/Natit.kext
kextload -v /System/Library/Extensions/Natit.kext

?
Ruud
QUOTE(NeoPheus @ Nov 13 2006, 06:44 AM) *
I just want to add one thing to this thread:
This kext is for X1x00 series first!!!! It CANNOT work with other cards because the drivers for the different X1000 cards will be loaded!

Ok, right now... At circa 4 PM (Its 6.44 AM) there will be an installer for this and I hope I can get DVI to work too! biggrin.gif

cYa NeoPheus



so wat you are saying is that i can stop testing this kext with my ati x700?
Fernando Birra
Hi!

I just want to thank np_ for sharing his knowledge and insight with us. Perhaps now someone can make the 512Mb cards work. Another problem where np_ might be the key to the solution (as always) is the support for the laptop displays. The drivers work but only on the external port...

Fernando
Ruud
well, just got qe and ci working with my x700 on the new amd .8 kernel.


I had to hex edit the radeon9700.kext with my device id using koverge patch, and edit my device id in the plist.

now had qe and ci, so now when i use natit, it detects my card perfectly, but still isn't going to loginwindow.

But again, im one step further and i think the ATIRadeon9700.kext is usable to get full functions with this card.

hope someone could use this info. by the way, i also got a little mouse tearing sad.gif but i can live with that.






Ruud.

Here is some information a got using callisto, maybe you can use it.

CallistoHAL Initialized!
Callisto: omni's ATI Driver&FrameBuffer, build 006, 20-May-2006
Callisto: Model Mobility Radeon X700/FireGL V500SV (r420)
Callisto: MMIO range@0x18 (c0100000) mapped to kernel virtual address 0x35258000
Callisto: 128 MB DDR found on 128 bit wide bus
Callisto: VRAM range@0x10 (c8000000:08000000)
Callisto: Found ROM @0xc0000
Callisto: ATOM ATI BIOS detected
Callisto: PLL values from ATOM BIOS: ref_clk=2700, ref_div=0, xclk=40000, min_freq=20000, max_freq=50000
Callisto: Port[0]: DDC: N/C, DAC: Primary, TMDS: Internal, Connector: Proprietary
Callisto: Port[1]: DDC: DDC_MonID, DAC: Unknown, TMDS: Internal, Connector: Unsupported
Callisto: No connector info table detected
Callisto: Non-DDC laptop panel detected
Callisto: Found Monitor: LCD
Callisto: Default panel mode: 1280x800, dot clock: 71250
Callisto: Flat Panel values:
Xres: 1280, Yres: 800, isValid: 1, dotclock: 71250
HOver_plus: 48, HSync_width: 32, Hblank: 160
VOver_plus: 2, VSync_width: 6, Vblank: 23
HAct_high: 0, VAct_high: 0, interlaced: 0
pwr_delay: 15368, use_bios_dividers: 0
ref_div: 0, post_div: 0, fb_div: 0
Callisto: done with Mobility Radeon X700/FireGL V500SV
dm_webd
QUOTE(np_ @ Nov 13 2006, 06:53 AM) *
hope it help in extending natit to work on most nvidia cars
np_

Thank you very much - this will be a great help. I'll try to implement some of this tonight. smile.gif
asapreta
I know we are talking about x1x00 cards here, but there are a lot of x600/x800 and x850 users here. Any news for them?

In my case I grabed the ATIAUTO (x1600XT), and will test soon.

As I have only used ATIinject.kext will be easy to test this one.


@neopheus, in the lastetīs installers I always had problems to boot after uninstalling the drivers (single user ./uninstallscript). It got stuck on the blue screen after reboot. Any issues?
joe75
Will this work for x800xt AIW, and is it new kernel only construction.gif
~Neo
Hey out there! biggrin.gif

Bahooza...
The new version of Natit_Uni_1.0 is ready for testing!
Please give me a report in this thread and DONT give the link/file away!!
For me it worked, but still no DVI! (Any help here please angel.png )

It will only work with Kernel verison 8.8.1!!
(For: NVidia AND ATIX1x00 users!)

Click me!

Note that it is in beta stage!
np_
QUOTE(Fernando Birra @ Nov 13 2006, 07:50 AM) *
Hi!

I just want to thank np_ for sharing his knowledge and insight with us. Perhaps now someone can make the 512Mb cards work. Another problem where np_ might be the key to the solution (as always) is the support for the laptop displays. The drivers work but only on the external port...

Fernando


for lappies or "internal display" apple key are

"backlight-control"
"AAPL,backlight-control"
"use-backlight-blanking"

these all on top should be boolean values ( ioreg from imac with nv card can help a lot about all this )

and probably property involved also "NVPanelData" - this must be EDID raw

generally for apple all who is "backlight" mean internal display ( LCD ) for laptops, imac ..etc

more info you can found into IOGraphicsFamily there is class for backlight with super IODisplay specially written for internal displays

same as in IONDRVSupport

smile.gif
icyderguru
QUOTE(dm_webd @ Nov 13 2006, 05:21 PM) *
Thank you very much - this will be a great help. I'll try to implement some of this tonight. smile.gif


would be great! My 7900 GTO 512MB Card is waiting gun.gif

Thanks for sharing np_
joe75
QUOTE(NeoPheus @ Nov 13 2006, 11:56 AM) *
It will only work with Kernel verison 8.8.1!!
(For: NVidia AND ATIX1x00 users!)


Figures wallbash.gif
bgrau
Hi NeoPheus,
I am very interested in trying this new drivers method, but I am using Borisbadenov with your installer 3.5, I am unable to remove it because I used pacifist to install before.
Can u please advise me how to install this new one?
Thank you very much
~Neo
QUOTE(Billy @ Nov 13 2006, 06:17 PM) *
Hi NeoPheus,
I am very interested in trying this new drivers method, but I am using Borisbadenov with your installer 3.5, I am unable to remove it because I used pacifist to install before.
Can u please advise me how to install this new one?
Thank you very much


Ahm I think you can just install the new package but PLEASE save your setting and files before (because of the beta stage)! I don't want that the files will be blown away because of my installer biggrin.gif

@joe75:
Sorry but Natit isn't working with the other cards yet! Maybe the future brings more support!
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.