Jump to content

Natit new development version with ATI and nVidia dual screen


dm_webd
 Share

803 posts in this topic

Recommended Posts

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.

Link to comment
Share on other sites

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:

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:

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.

Link to comment
Share on other sites

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...

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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! :whistle:

 

cYa NeoPheus

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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 {censored} 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_

Link to comment
Share on other sites

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)

Link to comment
Share on other sites

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

 

?

Link to comment
Share on other sites

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! :D

 

cYa NeoPheus

 

 

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 :D 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

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

Hey out there! :gun:

 

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 :compress: )

 

It will only work with Kernel verison 8.8.1!!

(For: NVidia AND ATIX1x00 users!)

 

Click me!

 

Note that it is in beta stage!

Link to comment
Share on other sites

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

 

:compress:

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 :sorcerer:

 

@joe75:

Sorry but Natit isn't working with the other cards yet! Maybe the future brings more support!

Link to comment
Share on other sites

 Share

×
×
  • Create New...