Jump to content

Natit new development version with ATI and nVidia dual screen


dm_webd
 Share

803 posts in this topic

Recommended Posts

I can confirm that both the XFX Geforce 6500 TC 64/256Mb (only 64 in OSX) and the MSI 7300GT (TD256EH) 256Mb do work with dual displays (one VGA and one DVI) by just dropping bofors' "Natit_Dual_v0.02.zip" into the Extensions folder (unzipping and removing .mkext and .kextcache of course :thumbsdown_anim: ).

 

 

EDIT: Oh.. yeah, forgot to mention, QE/CI enabled on both cards without the need of any further modifications. :)

 

EDIT2: The 7300GT works in dual (VGA+DVI) with Natit_ati_auto+x1600dual.plist (renamed of course) also. Didn't expect that, or should I have?

Edited by tomtefar
Link to comment
Share on other sites

Hi,

 

my short story:

 

- Gigabiyte x1600 Pro Silentpipe2

- Samsung Syncmaster 19' on VGA

- Samsung Syncmaster 19' on DVI with DVI -> VGA Converter

- OS X AMD Test1 newest kernel

 

Install OS X -> Bluescreen (without natit -> full QE/CI no res change, only the same picture on both screens) :P

 

ATIX1x00_3.5.mpkg.zip -> no gui

 

ATIX1x00_3.5.mpkg.zip with IONDRV*.kext (10.4.5) -> gui, full QE/CI, resolution change, rotation. Only the same picture on both screens, no dual :)

 

 

i need Dualview... any ideas?

 

EDIT:

 

Natit_Auto + dualx1600natit.zip + ATIDRV (10.4.5) + IONDRV (10.4.5) -> Dual View (screen 1 = blurry), res change, rotation.

 

 

sorry for my bad english <_<

Edited by da8ter
Link to comment
Share on other sites

Hi, i keep earing about X1x00 ATI cards, but i never saw my specific card in any post.

 

I have an ATI Radeon Xpress 1100 and tried a lot of solutions and none of them worked, should i wait for a specific solution or do you think that this Natit could work...

Link to comment
Share on other sites

Ok people, I think some explaining will help some of you understand why XXXX won't be supported ever, or why YYYYY config won't work with dual display or the internal LCD screen of your laptop.

 

Natit is NOT a driver per se. It doesn't talk to your gfx card. It doesn't really know anything about your gfx card, nor does it matter. Natit (as well as Titan and the now discontinued ATIinject) all do the same thing; they cheat. They forcedly place information on the ioreg AS IF the card was a proper EFI card and loaded this info itself. It is just placing the information MacOS expects to find from a gfx card, and letting MacOS load the Apple provided driver.

 

This means Natit can't do magic. If the driver DOES NOT EXIST, then there is NOTHING Natit can do for you. So if you have a XXXX gfx card (ATI Xpress 1100 for example) it probably ain't supported. Why? Because there is no current or past shipping laptop with that GPU. There is NO DRIVER provided by Apple. Some cards use the same GPU (X1300, X1400), so that helps (the 1300 driver works with a 1400 card, and there is a 1300 driver). Other brands (nVidia) have wider support (dunno if nVidia wrote the drivers for Apple and were much broader in scope or what happened there, but lot's of nvidia cards are supported). The thing is that if no current or past Mac shipped with your gfx card, there is no "magic Natit solution". If a future Mac sports your chipset you might hit the jackpot. But you shouldn't hold your breath.

 

Now, onto specific issues, like the "x1400 and internal LCD screen" or the "only get blurry x1600 dual display". These are my guesses, but I strongly believe it is not a matter of settings but a driver issue (remember, driver provided by Apple, not Natit). And modifying a plist just won't change a driver's behaviour. Let's take the x1400 example. The x1400 works (QE/CI external display but NOT internal LCD) because it uses the same GPU as the x1300. MacOS sports an x1300 driver because the xServe (Intel Xeon one) includes an x1300 gfx vid card. But the thing here is that only the external video works on laptops with x1400. Why? Because the x1300 driver Apple includes ONLY contemplates the Xserve. There is no LVDS (internal digital LCD screen port) on the Xserve. Why support it on the driver? That's why I believe you can't and won't get X1400 internal LCD support ... ever. It is a DRIVER limitation. Not a Natit induced one. Same thing with x1600 DESKTOP and dual display. None of us can't get past our port 0 being "blurry". Again, the driver is designed for the X1600 MOBILITY (found in MacBook Pro and Intel iMac, both using internal LVDS LCD as port 0). Apple has "hardcoded" LVDS in port 0, there is no way you are getting a VGA or DVI output signal from port 0 without modifying the driver. Again, it is NOT a Natit issue. So it all boils down to how the gfx card is supported.

 

If you have a card that is supported as is, you are a lucky guy. Examples: X1600 MOBILITY (on a laptop, works great), X1900 (there is an Apple option for x1900 on the MacPro, so you are good to go, but careful with x1950 there are GPU differences and it doesn't work smoothly). Many nVidia cards are supported since MacOS includes a plethora of nVidia support in the nv20, 30 and 40 families. I dunno if there is a proper compatibility list. But my guess is the nVidia drivers are broader and less SPECIFIC (so most features work) than the ATI drivers. I don't have an nVidia card so I don't really know the details. Someone could probably shed some light on the supported cards.

 

So, basically, if there is no current or recently supported gfx card (be nVidia or ATI, but ATI having more trouble with this) on a Mac, you won't be able to use it with Natit or any similar solution. nVidia has more options available since they seem to support generic chipsets (nv20, 30, 40). But there could still be trouble. ATI, your are basically stuck with the X1000 series that are supported (x1300/x1400 partially, X1600 partially, x1800/1900). That's it.

 

I hope this helps some people and maybe incites a much more interesting and detailed dialogue. It would be good if someone could assemble a complete list of nVidia and ATI supported cards.

Link to comment
Share on other sites

nVidia has more options available since they seem to support generic chipsets (nv20, 30, 40). But there could still be trouble.

 

 

actually nvidia have support for NV30 and NV40 ONLY, G70/71 are used as NV40

apple drivers for NV10/20 do not exist for x86 part - just empty stubs, yes they are complete for PPC version

laptop or not chip is same as on any card used

different is in switching head ( port ) - each head have diff base address

and that part comes from efi not from driver

i can see that natit /titan do same mistake to pass "cheat" info for two displays in same moment witch is wrong

i don't know about "ATI" but nvidia port ( head ) can be programed as primary/secondary on fly

these values are stored in "NVRAM" who miss on any hackingtosh ( AppleEFIRuntime )

along with value "boot display" = primary + boot resolution ( again stored in NVRAM )

that for laptops have this problem - apple driver did not know exactly witch is primary and witch secondary head ie internal LCD = always primary on laptops , external secondary ( but that also can be changed on many lappies by "function button" and some if F keys)

 

and from there comes confusion , because driver set what he want for primary

you can seen from your own ioregs that "Display-B" is set to be primary always witch is WRONG

the only hardcoded part in apple drivers are GPU registry , mean apple don't calculate them depend on chip arch but set directly depend of chip device ID

apple NVDAResman is helper driver , depend on chip arch "inject" functions arch specific

these functions are located in NVDAXXHAL's

natit or titan can do them job as real drivers if they start to set head , select head, read and set EDID info ..etc or even override NVDAXXXHal's functions :)

the way this things should work need to be in way like

 

1: map card GPU registry mem space

2: read EDID from i2c

3: use EDID info to guess how much display are connected and who is set as primary and who is secondary ( simple guess is if not EDID returned there is no display connected, but on laptops always return EDID from internal LCD )

4: based on all info on top set these "EFI" keys into ioregs ...

 

then will work even on laptops

 

that i think ...maybe i am wrong but i am open for suggestions

Link to comment
Share on other sites

I'm going crazy trying to use natit with my new Asus EN7600GS Silent. This is a PCIe card with 256mb Ram and has a DVI and a VGA, both connected to 2 LG20"WIde, (1 in DVI and 1 in VGA).

First of all I read all the 3d about 7600gs and the started.

First of all I disabled my gma 950 in Bios and installed the card in the PCIe slot.I started with a clean 10.4.8 installation with semthex kernel. Then I've updated with the live update in the genius bar. I tried with Naitit installer, then with Natit uni installer, but my x86 doesn't go over the "starting Mac Os X" screen (it stucks at the end, when the bar is all in blue).

So I try to install Natit in manual mode. I edited the 3 kext with my id (0392) and made several boot with natit 0.1, 0.2, titan, etc.

Doing this I got the message that I've to restart (Is this what you call "Kernel Panic"?).

I tried also with the Nvidia accelerated Kext found on Dem, and with the archive made by spanakorizo.

Of course, I've always repaired permission and eliminated the kcache, etc.

 

Is possible that this particular 7600GS has something different from the others? Any of you was successful with this card?

 

Please, I'm desperate, so I accept evry advice you could give me. Also tell me what's the best way to try among those I tried.

 

Thanks to all the people who contribut with this project.

Link to comment
Share on other sites

actually nvidia have support for NV30 and NV40 ONLY, G70/71 are used as NV40

apple drivers for NV10/20 do not exist for x86 part - just empty stubs, yes they are complete for PPC version

laptop or not chip is same as on any card used

different is in switching head ( port ) - each head have diff base address

and that part comes from efi not from driver

i can see that natit /titan do same mistake to pass "cheat" info for two displays in same moment witch is wrong

i don't know about "ATI" but nvidia port ( head ) can be programed as primary/secondary on fly

these values are stored in "NVRAM" who miss on any hackingtosh ( AppleEFIRuntime )

along with value "boot display" = primary + boot resolution ( again stored in NVRAM )

that for laptops have this problem - apple driver did not know exactly witch is primary and witch secondary head ie internal LCD = always primary on laptops , external secondary ( but that also can be changed on many lappies by "function button" and some if F keys)

 

and from there comes confusion , because driver set what he want for primary

you can seen from your own ioregs that "Display-B" is set to be primary always witch is WRONG

the only hardcoded part in apple drivers are GPU registry , mean apple don't calculate them depend on chip arch but set directly depend of chip device ID

apple NVDAResman is helper driver , depend on chip arch "inject" functions arch specific

these functions are located in NVDAXXHAL's

natit or titan can do them job as real drivers if they start to set head , select head, read and set EDID info ..etc or even override NVDAXXXHal's functions :D

the way this things should work need to be in way like

 

1: map card GPU registry mem space

2: read EDID from i2c

3: use EDID info to guess how much display are connected and who is set as primary and who is secondary ( simple guess is if not EDID returned there is no display connected, but on laptops always return EDID from internal LCD )

4: based on all info on top set these "EFI" keys into ioregs ...

 

then will work even on laptops

 

that i think ...maybe i am wrong but i am open for suggestions

It's really good to see you, np_ :)

 

I was using Macvidia v1.0.8 on my Sony Vaio (go 6200 turbocache) and I upgraded to

Semthex 10.4.8 hoping to enable qe/ci via Titan/Natit.

The end result was only external LCD display connected via d-sub works, laptop's LCD doesn't.

 

Maybe we need some kind of special version of Titan/Natit or something else i don't know.

Is it just a wishful thinking if, somehow, we wish you could help us laptops users? :(

Link to comment
Share on other sites

I'm going crazy trying to use natit with my new Asus EN7600GS Silent. This is a PCIe card with 256mb Ram and has a DVI and a VGA, ...

...but my x86 doesn't go over the "starting Mac Os X" screen (it stucks at the end, when the bar is all in blue).

 

I just put together a hacky for a friend and got an identical problem with a Galaxy 7600GS (bottom VGA, top DVI). Got a blank display w/ 0.2 (but monitor showed signal input, just blank). With 0.1 I got it as far as the end of the blue bar -same as you. Then, after a few restarts, it suddenly started working. I did a permission repair from the dvd, but that was a couple of boots before it lurched into life. Weird

Edited by consolation
Link to comment
Share on other sites

actually nvidia have support for NV30 and NV40 ONLY, G70/71 are used as NV40

apple drivers for NV10/20 do not exist for x86 part - just empty stubs, yes they are complete for PPC version

laptop or not chip is same as on any card used

different is in switching head ( port ) - each head have diff base address

and that part comes from efi not from driver

i can see that natit /titan do same mistake to pass "cheat" info for two displays in same moment witch is wrong

i don't know about "ATI" but nvidia port ( head ) can be programed as primary/secondary on fly

these values are stored in "NVRAM" who miss on any hackingtosh ( AppleEFIRuntime )

along with value "boot display" = primary + boot resolution ( again stored in NVRAM )

that for laptops have this problem - apple driver did not know exactly witch is primary and witch secondary head ie internal LCD = always primary on laptops , external secondary ( but that also can be changed on many lappies by "function button" and some if F keys)

 

and from there comes confusion , because driver set what he want for primary

you can seen from your own ioregs that "Display-B" is set to be primary always witch is WRONG

the only hardcoded part in apple drivers are GPU registry , mean apple don't calculate them depend on chip arch but set directly depend of chip device ID

apple NVDAResman is helper driver , depend on chip arch "inject" functions arch specific

these functions are located in NVDAXXHAL's

natit or titan can do them job as real drivers if they start to set head , select head, read and set EDID info ..etc or even override NVDAXXXHal's functions :(

the way this things should work need to be in way like

 

1: map card GPU registry mem space

2: read EDID from i2c

3: use EDID info to guess how much display are connected and who is set as primary and who is secondary ( simple guess is if not EDID returned there is no display connected, but on laptops always return EDID from internal LCD )

4: based on all info on top set these "EFI" keys into ioregs ...

 

then will work even on laptops

 

that i think ...maybe i am wrong but i am open for suggestions

 

Hi np_!

 

There are some questions I would like to ask you. I noticed that apple computers create an entry in the registry for the internal panel. This is what can be found on apple (intel) computers:

 

+-o PNLF <class IOACPIPlatformDevice, registered, matched, active, busy 0, retain count 6>

| | {

| | "_UID" = "10"

| | "name" = <"APP0002">

| | "_STA" = 11

| | "compatible" = <"backlight">

| | }

 

This seems to be created by some ACPI driver at the early stages of booting. Could this "backlight" device do the job for nVidia and/or ati drivers to work with internal LCDs?

 

After booting the above entry is filled with more information and a new entry is connected to this one:

 

| +-o PNLF <class IOACPIPlatformDevice, registered, matched, active, busy 0, retain count 7>

| | | {

| | | "ApplePanelRawBrightness" = 255

| | | "ApplePanelRawTable" = <0000350035003500350035003500350035003600370039003a003c003d003f004000420044004

00470048004a004b004d004f005000520053005500560058005a005b005d005e0060006100630065

06600680069006b006c006e0070007100730074007600770079007a007c007e007f0081008200840

8500870089008a008c008d008f009000920094009500970098009a009b009d009f00a000a200a300

500a600a800aa00ab00ad00ae00b000b100b300b400b600b800b900bb00bc00be00bf00c100c300c

00c600c700c900ca00cc00ce00cf00d100d200d400d500d700d900da00dc00dd00df00e000e200e4

0e300e700eb00ef00f300f700fb00ff00>

| | | "compatible" = <"backlight">

| | | "name" = <"APP0002">

| | | "_STA" = 15

| | | "_UID" = "10"

| | | }

| | |

| | +-o AppleIntelPanelA <class AppleIntelPanelA, !registered, !matched, active, busy 0, retain count 5>

| | {

| | "IODisplayParameters" = {"brightness"={"min"=0,"max"=128},"commit"={"reg"=0}}

| | "CFBundleIdentifier" = "com.apple.driver.AppleBacklight"

| | "IOClass" = "AppleIntelPanelA"

| | "IONameMatched" = "backlight"

| | "IOProbeScore" = 2000

| | "ApplePanels" = {"F10P9c63"=<0000000000e500ff>,"F10P9c57"=<0000003500e200ff>,"F10P9c58"=<0046004600d700ff>,"F10P9c5f"=<0000003e01070128>,"F10P9c5a"=<004c004c00cc00ff>,"F10P9c59"=<004c004c00cc00ff>,"F10P9c65"=<0000000000e500ff>,"F11P9c58"=<004a004a00ee0128>,"F10P9c5b"=<0000003e01070128>,"F10P9c60"=<0000003500e200ff>,"F10P9c5c"=<0000003e01070128>,"F10P9c61"=<0000003700e700ff>,"Default"=<000007400af7fffe>,"F10P9c56"=<0000003500e200ff>,"F10P9c5d"=<0000003e01070128>,"F10P9c62"=<0000003700e700ff>,"F10P9c5e"=<0000003e01070128>}

| | "IOMatchCategory" = "IODisplayParameters"

| | "IONameMatch" = "backlight"

| | "IOProviderClass" = "IOACPIPlatformDevice"

| | }

 

Will this be of any help or do nVidia drivers use totally different approach? I'm confused about IONDRV drivers...

 

I see no one in the horizon that could help us except you...

Link to comment
Share on other sites

last night i was playing with apple drivers trying to force driver to use head ( port ) i want

 

but for some stupid reason all i got is black screen, seems need more play with it

 

i think about lappies and card's > 256 MB problems is in again missing f***ng "efi" key + some value

 

it's can be that damn apple hard code base registers for head selection , but there is a way to override that too outside apple drivers

 

please some one if can found full ioreg from iMac 24" who is with nvidia chip in single user mode without any UI and under UI and send to me

 

as attachment

 

thanks

Link to comment
Share on other sites

please some one if can found full ioreg from iMac 24" who is with nvidia chip in single user mode without any UI and under UI and send to me

 

I think we are also interested getting IOReg dumps from a 24" iMac with 7600GT driving an external display.

Link to comment
Share on other sites

last night i was playing with apple drivers trying to force driver to use head ( port ) i want

 

but for some stupid reason all i got is black screen, seems need more play with it

 

i think about lappies and card's > 256 MB problems is in again missing f***ng "efi" key + some value

 

it's can be that damn apple hard code base registers for head selection , but there is a way to override that too outside apple drivers

 

please some one if can found full ioreg from iMac 24" who is with nvidia chip in single user mode without any UI and under UI and send to me

 

as attachment

 

thanks

 

 

Hi, np_

 

These are ioreg files from real Macs including iMac 24".

 

However, there are no files in single user mode; all files are extracted from Terminal in GUI.

 

I hope that these files are useful for you.

 

Besides, I have the same black screen problem with my laptop.

 

My laptop is

 

Toshiba qosmio F20

Intel pentium M 750 1.86 Ghz (only SSE2)

nVidia go 6600 128M

10.4.8 - semthex kernel beta 9 exp 6

 

np_, or someone, please solve the QE/Ci issue on laptops.

 

Thankx.

AppleMacIoreg.zip

Link to comment
Share on other sites

I have an X1300 with dev. ID 7142. I changed the device ID in ATIRadionX1000.kext and it works fine with your UNI 1.0 driver pkg. But:

 

It will boot and have VGA running. Only after when I go to the display preferences and click 'detect displays' the DVI will work fine. So DVI does not work on boot but it does work!

 

Bug? What do you want to see to help you? which logs?

Link to comment
Share on other sites

I have an X1300 with dev. ID 7142. I changed the device ID in ATIRadionX1000.kext and it works fine with your UNI 1.0 driver pkg. But:

 

It will boot and have VGA running. Only after when I go to the display preferences and click 'detect displays' the DVI will work fine. So DVI does not work on boot but it does work!

 

Bug? What do you want to see to help you? which logs?

nevermind.. it seems to have remembered the settings now.

Link to comment
Share on other sites

Hi, np_

 

These are ioreg files from real Macs including iMac 24".

 

However, there are no files in single user mode; all files are extracted from Terminal in GUI.

 

I hope that these files are useful for you.

 

Besides, I have the same black screen problem with my laptop.

 

My laptop is

 

Toshiba qosmio F20

Intel pentium M 750 1.86 Ghz (only SSE2)

nVidia go 6600 128M

10.4.8 - semthex kernel beta 9 exp 6

 

np_, or someone, please solve the QE/Ci issue on laptops.

 

Thankx.

 

hey thanks for ioregs, also log's in singe user from imac24" will be big plus

 

and they do set card registry after all ...damn apple

Link to comment
Share on other sites

hmm "lappie" problem start to clean up

 

there is two factors "delta" not present in current lappies with NV

 

1: "built-in" property in pci nub ( telling driver is onboard chip )

2: backlight display ( that is internal LCD panel - iMac or laptop )

 

so why apple drivers don't work on latop internal LCD ?

simple - because drivers don't know that is internal LCD

even have no clue is nvchip on board

ie nv chip on laptops is seen and used as any nv card

problem n:1 - easy to "fix"

problem n:2 is the real problem

apple backlight display class look's for vendorID "apple" ( hard coded )

and that comes from EDID info

sure your laptop panels EDID report whatever vendor ID but apple

and that's real problem , all known apple internal display's info are in /System/Library/Displays/Overrides/DisplayVendorID-610/DisplayProduct9cXX

when EDID display info don't match , internal panel is seen as normal "generic display"

result = black screen

i seen only one solution for laptops

i2c interface, read proper LCD EDID , replace vendor/model header's with apple/close to most laptops model, and set as "@0,EDID" property

 

if this don't help - nothing will ...

start on i2c inerface already and other {censored} for laptops and when i have some done i will post here , i wish some one with latop to catch me at #macvidia channel so we can test this on fly

 

wish you all happy x-mas :)

 

np_

Link to comment
Share on other sites

 Share

×
×
  • Create New...