Jump to content

Natit new development version with ATI and nVidia dual screen


dm_webd
 Share

803 posts in this topic

Recommended Posts

Takuro: Probably, they do the same thing (Natit and ATIinject). They do whatever you tell them in the plist to do :). Actually I noticed the following behavior:

 

I am using IONDRV 4.5 in ALL cases, since it's the only one that works (4.8 doesn't work and I get eternal blue screen with pointer)

 

ATINDRV 4.5 won't show 512mb whatever you inject to IOREG

 

ATINDRV 4.7 and 4.8 will show 512mb

 

4.5-4.7 I can get it to do dual monitor (with blurry screen), 4.8 I CANNOT get it to do dual screen

 

So, here goes my dual monitor support theory. The x1600 driver is for a mobility. So mostly it works. But for dual monitor, it expects one of the ports to be LVDS and the other one DFP1. Because that is what an x1600 mobility on an iMac or MacBook Pro would have. That's why the only way to get dual to work is to use LDVS and DFP1. If you change either of them ... no more dual monitor. That is my experience. Now, if I use an analog monitor's EDID with LVDS (which is digital by definition), then, goodbye my sweet dual monitor). So I have to use a "digital" EDID (from an LCD, probably with DVI connector). To someone that really understands (I don't), how is my theory sounding up to now?

 

So I believe strongly that since LVDS maps to port 0 and port 0 is analog (VGA), unless we patch the driver itself in some way, we will never get a non blurry output from this (albeit we won't be able to feed it an analog monitor's EDID on port 0 or LVDS being problem number #2). Since LVDS is digital, and port is analog, that's why the screen looks "blurry and with timing issues". Makes sense? Anyone that knows more than me please!?

 

Ok, that's as much as I can figure out of my "stupid ass" research. I believe to get dual screen, we will have to patch the driver, ATINDRV at some point. Also, I wonder why ATINDRV 4.8 just doesn't give us dual monitor, while the earlier ones do. I am going to keep trying, but the solution ain't easy. But it is there. We just need more people with the correct knowledge.

Link to comment
Share on other sites

Click me!

 

Note that it is in beta stage!

 

Gave it a whirl on a clean install 10.4.8 JaS, repaired permissions, booted up to a blue screen and then would just hang. Maybe I am doing something wrong but I haven't been able to get anything to work. I was using one of your other installers for my 10.4.7. Thanks by the way for all your work, it is appreciated

Link to comment
Share on other sites

Hi guys,

 

I have a Saphire X1600Pro (AGP) with 1 VGA port and 1 DVI port. I have a JaS DVD Reseed MacOSX installed system.

 

I had a 4x3 LCD monitor (Samsung) with a VGA port only and it was connected to my video card in the DVI port (using a VGA to DVI adapter). Everything was working perfectly (especialy the LCD sleep).

 

Now, i purchased a 16x10 (Widescreen) Acer LCD (22 inches) that has 1 VGA port and 1 DVI port.

 

I tried using this new monitor via the DVI ports on both the video card and LCD and it obviously didn't work. So i then tried to use my new monitor via the VGA ports on both the video card and the LCD.

 

This works (VGA on both the video card and the LCD using the boris method) but i lost LCD sleep !!!

 

So this brings me to this thread ... can i use Natit and connect my new LCD to my video card via the DVI ports OR ... can i use it to connect via the VGA ports ?

 

I don't care about dual display, all i want is what i have right now (fully working setup) PLUS the LCD sleep which i lost.

Link to comment
Share on other sites

ATINDRV 4.5 won't show 512mb whatever you inject to IOREG

 

Well this is what happened. I removed Natit from my system. I rebooted in VESA mode via DVI. I found a backup of ATIinject that I made just before installing Natit. I decided to set both of those values you mentioned to 512mb. I think I had tried this in the past, but for some reason it didn't work, and it kept showing 256mb.

 

Here's what happened, it's weird:

I rebooted the system and DVI was yet again busted. I switched to a DVI-to-VGA adapter. System Profiler displayed my card as having 512mb ram (even with the 10.4.5 IONDRV kext)! However, I can't find out for my life why DVI doesn't work anymore. I think that by using Natit, any cache of my display got deleted, including resolution info for DVI.

 

I deleted the ATIinject that had the updated ram values. I then replaced it with the EXACT kext (totally unmodified) that I had been using prior to trying Natit. DVI still doesn't work.

 

This might be the answer to our DVI woes. It shows that with some luck, DVI can work if you try enough different configurations. However, it's ridiculously fragile. One false move can make it incredibly difficult to get working DVI again, even with the exact same kext. Ugh.. :)

Link to comment
Share on other sites

Takuro: Probably, they do the same thing (Natit and ATIinject). They do whatever you tell them in the plist to do :D. Actually I noticed the following behavior:

 

I am using IONDRV 4.5 in ALL cases, since it's the only one that works (4.8 doesn't work and I get eternal blue screen with pointer)

 

ATINDRV 4.5 won't show 512mb whatever you inject to IOREG

 

ATINDRV 4.7 and 4.8 will show 512mb

 

4.5-4.7 I can get it to do dual monitor (with blurry screen), 4.8 I CANNOT get it to do dual screen

 

So, here goes my dual monitor support theory. The x1600 driver is for a mobility. So mostly it works. But for dual monitor, it expects one of the ports to be LVDS and the other one DFP1. Because that is what an x1600 mobility on an iMac or MacBook Pro would have. That's why the only way to get dual to work is to use LDVS and DFP1. If you change either of them ... no more dual monitor. That is my experience. Now, if I use an analog monitor's EDID with LVDS (which is digital by definition), then, goodbye my sweet dual monitor). So I have to use a "digital" EDID (from an LCD, probably with DVI connector). To someone that really understands (I don't), how is my theory sounding up to now?

 

So I believe strongly that since LVDS maps to port 0 and port 0 is analog (VGA), unless we patch the driver itself in some way, we will never get a non blurry output from this (albeit we won't be able to feed it an analog monitor's EDID on port 0 or LVDS being problem number #2). Since LVDS is digital, and port is analog, that's why the screen looks "blurry and with timing issues". Makes sense? Anyone that knows more than me please!?

 

Ok, that's as much as I can figure out of my "stupid ass" research. I believe to get dual screen, we will have to patch the driver, ATINDRV at some point. Also, I wonder why ATINDRV 4.8 just doesn't give us dual monitor, while the earlier ones do. I am going to keep trying, but the solution ain't easy. But it is there. We just need more people with the correct knowledge.

 

 

Uh, I don't qualify as "knows more...", so keep that in mind.

 

Here's some anecdotal evidence to support your theory - - -

I have 2 machines, configuration as follows:

 

Machine #1

  • 925 chipset
  • celery P4 (apparently SSE3 capable?)
  • X1600Pro PCIe with dual DVI & S-video
  • connected via DVI-D to 2 LCDs

Machine #2

  • 915 chipset
  • prescott P4 (apparently also SSE3 capable?)
  • X1600Pro PCIe with 1xD-Sub 1xDVI & S-video
  • connected via D-Sub to LCD

On both machines I used JaS 10.4.8 (the reseed)

I chose to NOT install the included X1x00 PCIe video package.

Instead I used the Natit_ATIauto kext.

Copied. Checked root:wheel. Checked chmod 755. Removed Extensions.*.

Modified ATIRadeonX1000.kext Info.plist to include DevID 0x71C2 (both cards have same ID - which I think is a little strange)

Reboot

 

On Machine #1

I am able to output via DVI-D to just one LCD panel. The other LCD drops signal after the grey screen.

 

On Machine #2

After grey screen the output to the LCD appears to be pixelized, or block-form static output. Moving the mouse around seemed to cause some rippling effect of the pattern - leading me to believe the machine was not frozen.

 

As you stated - - - If the VGA port on the Machine #2 is port 0, the output of this port may actually be digital, which causes this macro blocking pattern to appear. When I connected a DVI-to-VGA adapter to the second port and switched the cable over, the screen loses signal.

 

On Machine #1, only one port is active (and it must be DVI-D). Of interest is that this ioreg output lists a DFP1,EDID item, but no corresponding LVDS,EDID.

 

I'm still looking through ioreg... But I think you're on to something here....

Link to comment
Share on other sites

I'm gonna try another bios on my X1600XT(Dual dvi) now... if it doesn't give me dual screen i'm just gonna buy a card that has dual screen working since trying to get this card to work is wasting waaaaaaaaay too much of my time.

Link to comment
Share on other sites

After studying many ioregs and comparing them, I found out the following for iMac/MBP

 

"ATY,ActiveFlags" = <22> analog external

"ATY,ActiveFlags" = <40> digital internal

"ATY,ActiveFlags" = <04> digital external

"ATY,ActiveFlags" = <01> none

 

"connector-type" = <04000000> same in every ioreg (DVI?)

 

"display-connect-flags" = <04000000> internal

"display-connect-flags" = <00000000> external

 

Thats why I made two new plist for ATIinject, but since it is not

developed anymore, I will post here, what I thought, what might

has to be injected:

 

 

For Desktop-Users:

 

<key>@0,compatible</key>

<string>ATY,Wormy</string>

 

<key>@1,compatible</key>

<string>ATY,Wormy</string>

 

 

 

<key>@0,device_type</key>

<string>display</string>

 

<key>@1,device_type</key>

<string>display</string>

 

 

 

<key>@0,name</key>

<string>ATY,Wormy</string>

 

<key>@1,name</key>

<string>ATY,Wormy</string>

 

 

 

<key>@0,display-connect-flags</key>

<integer>0x00000000</integer>

 

<key>@1,display-connect-flags</key>

<integer>0x00000000</integer>

 

 

 

<key>@0,connector-type</key>

<integer>0x00000004</integer>

 

<key>@1,connector-type</key>

<integer>0x00000004</integer>

 

 

 

 

<key>AAPL00,Coherency</key>

<data>AgAAAA==</data>

 

<key>AAPL01,Coherency</key>

<data>AgAAAA==</data>

 

 

 

 

<key>DFP0,EDID</key> //Edit this to CRT0 if you have an external analog-Monitor!

<data></data> //INSERT-YOUR-EDID(EXTERNAL,PORT0)-HERE

 

<key>DFP1,EDID</key> //Edit this to CRT1 if you have an external analog-Monitor!

<data></data> //INSERT-YOUR-EDID(EXTERNAL,PORT1)-HERE

 

 

 

 

<key>ATY,Copyright</key>

<string>Copyright ATI Technologies Inc. 2005</string>

 

<key>ATY,DeviceID</key>

<integer>29125</integer>

 

<key>ATY,EFIVersion</key>

<string>01.00.068</string>

 

<key>ATY,FrameBufferOffset</key>

<integer>256</integer>

 

<key>ATY,VRAM,MemSize</key>

<integer>256</integer>

 

<key>ATY,VendorID</key>

<integer>4098</integer>

 

 

 

<key>device_type</key>

<string>ATY,WormyParent</string>

 

<key>model</key>

<string>ATY,RadeonX1600</string>

 

<key>name</key>

<string>ATY,WormyParent</string>

 

 

For Laptop-Users:

 

Same as above but...

 

<key>@0,display-connect-flags</key>

<integer>0x00000040</integer>

 

 

 

<key>@0,display-link-component-bits</key>

<integer>6</integer>

 

<key>@0,display-pixel-component-bits</key>

<integer>6</integer>

 

<key>LVDS,EDID</key> //Instead of DFP0

<data></data> //INSERT-YOUR-EDID(INTERNAL)-HERE

 

 

For those who know, how to insert this information in Natit, please try and report back! Please do not ask me about "where do I put this", "I'm using TextEdit, why is....", "how do I get EDID of..." and so on :)

Link to comment
Share on other sites

I'm gonna try another bios on my X1600XT(Dual dvi) now... if it doesn't give me dual screen i'm just gonna buy a card that has dual screen working since trying to get this card to work is wasting waaaaaaaaay too much of my time.

 

 

Don't blame you, I can't figure out why both "ATY,Wormy@0" and "ATY,Wormy@1" are both listed under "display@0" in ioreg. But there does not exist a "display@1" under the major heading "display@0,1".

 

I just tried using 1 LCD connected via DVI-D and 1 LCD with a DVI-VGA adapter and then neither works. When both are DVI-D, then only one works. And it's always the same one.

 

Anyone have any suggestions here??????

 

 

 

After studying many ioregs and comparing them, I found out the following for iMac/MBP

 

............

 

For those who know, how to insert this information in Natit, please try and report back! Please do not ask me about "where do I put this", "I'm using TextEdit, why is....", "how do I get EDID of..." and so on :)

 

 

HA!! Maxx320000 to the rescue!!!

 

Hey, great work!! And thanks for the input here... I will try this out in the morning!

Link to comment
Share on other sites

I have uncovered something of new on the X1600PRO if the old ATIinject is used or Natit with two monitor with new kext 10.4.8 ATINDRV and IONDRV all works. The important is that monitor VGA is connected but off.

Link to comment
Share on other sites

After studying many ioregs and comparing them, I found out the following for iMac/MBP

 

For those who know, how to insert this information in Natit, please try and report back! Please do not ask me about "where do I put this", "I'm using TextEdit, why is....", "how do I get EDID of..." and so on :)

 

Well, none of that worked, tried just about every combination including using dvi to vga adapters. I'm just gonna thrown in the towel and buy an Nvidia card and call it a day, heh.

 

 

Thanks for trying though. :)

Link to comment
Share on other sites

Maxx: I have not been able to get anything working from your post. Again, I thank you for the input. Now, these are the values I consider A MUST (after extensive testing) to inject for dual display to work in x1600 (albeit again, blurry screen in VGA out because it uses LVDS). Again, these are the REQUIRED, with only these in Natit I get dual screen, no need for anything else (apart from the ones that come std with Natit):

 

<key>@0,display-link-component-bits</key>

<integer>6</integer>

 

(even more, it doesn't need to be 6, it can be ANY number and it will work, just a sidenote)

 

And the LVDS, DFP1 EDIDs ...

 

That's all (aside from the std Natit 0,compatible, name, device_type)

 

Also, as a sidenote, you mention CRT0, DFP0, etc. I took a dive inside ATY_Wormy (inside plugins in 4.8 extension), and ATIDRV (inside ATINDRV I believe it is in 4.5) and in neither is there any mention of a 0 port. I mean, you will see:

 

NONE,EDID,CRT1,EDID,DFP1,EDID,CRT2,EDID, etc (something like that)

 

But no mention whatsoever on 0. In any case, I tried DFP1, DFP2 and DFP1, CRT2, etc, combos, and still didn't work. The moment I put anything else than LVDS on one port, I loose dual. This is why I believe the whole issue is that the driver only supports LVDS as one of the outputs, due ot it's "mobility" nature.

 

All the rest you can take out, and "it's redundant" at least from my tests.

Link to comment
Share on other sites

I deleted the ATIinject that had the updated ram values. I then replaced it with the EXACT kext (totally unmodified) that I had been using prior to trying Natit. DVI still doesn't work.

 

This might be the answer to our DVI woes. It shows that with some luck, DVI can work if you try enough different configurations. However, it's ridiculously fragile. One false move can make it incredibly difficult to get working DVI again, even with the exact same kext. Ugh.. :construction:

 

 

I suspected this also. Since my DVI output is working at the momemt (in my case a NVidia 7600GS) without the black screen delay, I am afraid to do more testing. It has been very consistent in these last few days always booting up normally.

 

Did you try booting with -x flag?

 

Fernando

Link to comment
Share on other sites

I dropped the AGPGart.kext latest version 2.1 (Joblo) build q in Extensions folder, did all the bits (repair etc)

This is on top of the natit pakaged by Neopheus.

And this is what I get: (ie AGP now recognized) - So the new AGPGart.kext co-operates well with Natit, at least on my system... Thanks everyone.

Next I will test Nvidia FX5600XT on same computer, and see how it fares :angel:

 

Radeon X1600 Series:

 

Chipset Model: Radeon X1600 Series

Type: Display

Bus: AGP

VRAM (Total): 512 MB

Vendor: ATI (0x1002)

Device ID: 0x71c2

Revision ID: 0x0000

Displays:

VGA Display:

Resolution: 1024 x 768 @ 75 Hz

Depth: 32-bit Color

Core Image: Supported

Main Display: Yes

Mirror: Off

Online: Yes

Quartz 2D Extreme: Supported

Quartz Extreme: Supported

Rotation: Supported

Display:

Status: No display connected

Link to comment
Share on other sites

I did this using Neo's installer which worked great.

 

I have QE/CI and resolution switching, however, the cube effect won't work.

 

I even get the ripple effect in dashboard but cant seem to get any of the other effects to work. (I pretty much went through and tried all the transitions in virtue desktops). Any ideas?

Link to comment
Share on other sites

What are your system specs. :hysterical:

 

The DVI-to-HDMI dose change the signal and sometimes can interfere with your intension's :)

 

I have a Saphire X1600 Pro PCIe 512 Mb with one DVI and one VGA port. It is th same card as Neo and this seems to be one of the last cards that just doesn't output native DVI.

 

So, I wound up running out to BestBuy last night and picking up a PNY 7900GS and would like to report that Neo's Natit_uni beta worked and now I have DVI out of the card (top port). Bottom port works but resolution is reversed (e.g. instead of 1280x1024 it is 1024x1280 and so on for every other resolution...kind weird and funny at the same time).

 

Here's my rig:

 

JaS 10.4.8 Intel ISO w/semthex kernel, updated w/_Prasys_ auto update/installer 11/13/06

ASrock 945G-DVI (1.3 Bios)

Core 2 Duo E6600 (overclocked to 2.705 Ghz)

(now) PNY 7900GS 256 Mb DDR3

2x Seagate 320 Gb drives (SATA 3 Gb/s perpendicular technology)

Pioneer 110D DVD +/- RW DL (and read DVD-RAM)

2 x 1 Gb Super Talent DDR2 PC6400 (4-4-3-8 and 100% stable at current rate)

SYBA IEEE 1394a FireWire PCI Card with Internal 9-pin Header

LIAN LI V COOL PC-V600A Silver Aluminum ATX Mid Tower

Lian Li Aluminum USB 2.0 Card Reader 50 in 1 Model CR-33

SeaSonic (S12-380) 380-Watt Power Supply

IOgear Bluetooth 2.0 Class 1 USB Adapter (GBU321)

Apple iSight

Apple White (Bluetooth) Wireless Keyboard and Mouse

Keyspan URM-17A Express Remote Control (for FrontRow) :D

Ran Xbench late last night and got 158 (is that good??)

 

 

....I hooked this up to my Sammy via a DVI > HDMI cable and all of the Sammy's supported resolutions are now available via auto resolution selection on my Silverstreak Hackintosh, and the OS recognizes it as a "Samsung". This includes all of Sammy's Interlaced and Progressive scan resolutions, including 1920x1080 60Hz :D

 

Now my last hurdle now -- the dreaded "overscan" problem that almost everyone has when they hook up their Mac Minis and others to HDTV's. Mine isn't bad though...the overscan is only like 5%.

 

There are 2 applications out there (that are somewhat complicated/cumbersome, from what I've read, but work nearly 100% well) that allow you to manually create the resolution specifics, test the new resolution, and then if it works, "inject" the new resolution specifics as an option into Mac's display preferences. I wonder how this application will behave with all of the mod's, etc? If you have interest, I will work on this tonight and report back.

 

By the way -- the picture quality looks stunning!!! on this 46" 1080P native display...can't wait to get the overscan problem resolved :angel:

Link to comment
Share on other sites

You might want to check out DisplayConfigX and/or SwitchResX to fix your reversed rez problems.

 

Thanks goucho. Those are the two apps I referred to, which I found Googling last night. It appears that DisplayConfigX is the better of the two, from a functionality perspective, ability to recover from blunders and feedback I read in general. Every piece of data I read, the people ultimately resolved their problems with DisplayConfigX, but it was a grueling exercise. I just downloaded all of my Sammy's particulars and see that they match the fields in DisplayConfigX. Let's see if this app lives up to what it promises.

 

Do you have any experience with it? :hysterical:

Link to comment
Share on other sites

After studying many ioregs and comparing them, I found out the following for iMac/MBP

 

Hi!

Thanks for the info Max!

I tried to input this to my Info.plist and tested it with every combination of the EDID data!

And it didn't work....

Please some1 with working dual screen could do a ioreg -l -w0 | grep "EDID"

And post the output here?!

Please :)

 

cYa

Link to comment
Share on other sites

just like to say that contrary to previous postings, ATY_Alopias is for X1800 AND X1900 - ATY_Sphryna (or however you spell it) is, im pretty sure, NOT for X1900.

 

also, thanks consolation for your post about forcing a video repost. i wonder why it doesnt work. i tried some stuff like a series of keypresses to get the Displays control up in System Preferences, then changing res by keyboard, all to no avail. i think this is a red herring - your experience shows that a repost only results in a blue screen. i think the real problem that on our systems, the video card drivers are not being reinitialised properly after a system sleep. if anyone has any info on what steps the mac os takes to reinit the video display upon wake-from-sleep, it would be much appreciated.

 

Natit is getting closer than previous things tho (like ATIinject or the borisbadenov method) because with them my machine totally hung on wake. Now it is responsive to network, at least. maybe some of TheMaxx3200's suggestions may yet help... i'm going to try natit_edited later...

Link to comment
Share on other sites

Please some1 with working dual screen could do a ioreg -l -w0 | grep "EDID"

 

 

This is from a version of Natit which sets the NVMT, NVCAP keys and EDID (I entered the value I got from DisplayConfigX).

 

	| |   |	 | |   "EDID" = <00ffffffffffff004c2d240137314a4d290e01036c221b782aaaa5a654549926145054bfef80
180714f010101010101010101010101302a009851002a4030701300520e1100001e000000fd00384
1e510e000a202020202020000000fc0053796e634d61737465720a2020000000ff0048344a584131
13232390a20200028>
| |   |	 |   |	   "IODisplayEDID" = <00ffffffffffff004c2d240137314a4d290e01036c221b782aaaa5a654549926145054bfef80
180714f010101010101010101010101302a009851002a4030701300520e1100001e000000fd00384
1e510e000a202020202020000000fc0053796e634d61737465720a2020000000ff0048344a584131
13232390a20200028>
| |   |	 | |   "EDID" = <00ffffffffffff004c2d240137314a4d290e01036c221b782aaaa5a654549926145054bfef80
180714f010101010101010101010101302a009851002a4030701300520e1100001e000000fd00384
1e510e000a202020202020000000fc0053796e634d61737465720a2020000000ff0048344a584131
13232390a20200028>
| |   |	 |   |	   "IODisplayEDID" = <00ffffffffffff004c2d240137314a4d290e01036c221b782aaaa5a654549926145054bfef80
180714f010101010101010101010101302a009851002a4030701300520e1100001e000000fd00384
1e510e000a202020202020000000fc0053796e634d61737465720a2020000000ff0048344a584131
13232390a20200028>

 

TVOUT (S-video) will work someday with these drivers?

 

It already does: http://forum.insanelymac.com/index.php?showtopic=33105

Link to comment
Share on other sites

 Share

×
×
  • Create New...