Jump to content

ATI Framebuffer development


Slice
 Share

466 posts in this topic

Recommended Posts

I'm new to OS X and graphics development, but I might be able to lend a hand. And I have a laptop I'd love to get working properly (Dell 1705 w/X1400M graphics card). I'll report back later after I've had a chance to test RadeonDump and get XCode installed on the laptop so I can build. It sounds like my hardware is very similiar to Dong's, so I'm not sure I can do much for diversity, but I can verify results and try to help debug/port. Running OSX 10.5.5 booting from an EFI partition.

Link to comment
Share on other sites

to Slice and whoever else develop those drivers

 

difference beetwin rv6xx and rv7xx - different FB_LOCATION var, and a way to get dcc info(it has to be got directly via gpio)

 

first can be seen here - http://cgit.freedesktop.org/~ndim/xf86-vid...f5435fded0a5e78

 

and here http://cgit.freedesktop.org/~ndim/xf86-vid...f5435fded0a5e78

 

+ R7XX_MC_VM_FB_LOCATION = 0x2024,

+

R6XX_MC_VM_FB_LOCATION = 0x2180,

Link to comment
Share on other sites

to Slice and whoever else develop those drivers

 

difference beetwin rv6xx and rv7xx - different FB_LOCATION var, and a way to get dcc info(it has to be got directly via gpio)

Hi netkas (FB guru :( )

I had some discussion with lastexile about framebuffer triakis vs framebuffer lamna plugin for my MSI 3850 512 MB (has an onboard HD Audio dev ID too, )

lastexile means "avoid triakis because bad powermanagement (fan)".

But that triakis fb is the only one which worked for my MSI 3850.

natit (from lastexile, 19.9.08 10.5.5 package) gives kernel panic / gfxstring blue screen (both using lamna fb)

gfxstring(link to ATY triakis insted of lamna plugin) works.

Do you know who made this triakis (Apple / X labs?) and why my card may have problmes with lamna, lastexile and other users (not all!) can use ?

Can it be the added HD Audio device or differences in the ATOMBIOSES of some cards ?

Thanks netkas - i dont think i get an solution but i am very interested to get somewhen an ati_semiguru :unsure:

 

EDIT:

I tested an other Triakis plugin (is within ATINDRV.kext - triakis.kext with newer version number than i use with success) , also blue screen like using Lamna plugin.

So i am sure that bluescreen on ATI 3850/3870 has to do with some framebuffer things (adresses?!)

Are there some tools (maybe like some Test.kext which show internals of ATI cards? ) which can show used adresses / needed adressspaces which may vary between different ATI 3850/3870 cards ?

Link to comment
Share on other sites

  • 2 weeks later...
to Slice and whoever else develop those drivers

 

difference beetwin rv6xx and rv7xx - different FB_LOCATION var, and a way to get dcc info(it has to be got directly via gpio)

 

first can be seen here - http://cgit.freedesktop.org/~ndim/xf86-vid...f5435fded0a5e78

 

and here http://cgit.freedesktop.org/~ndim/xf86-vid...f5435fded0a5e78

 

+ R7XX_MC_VM_FB_LOCATION = 0x2024,

+

R6XX_MC_VM_FB_LOCATION = 0x2180,

Thank netkas for the attention to the theme.

I know. Different Rxxx have different registers. FB_LOCATION - is one of the problem.

It is not really a problem to write conditions

if(chip == R7XX) {} else {}

The real problem is to write all that we already know.

 

So i am sure that bluescreen on ATI 3850/3870 has to do with some framebuffer things (adresses?!)

Are there some tools (maybe like some Test.kext which show internals of ATI cards? ) which can show used adresses / needed adressspaces which may vary between different ATI 3850/3870 cards ?

I don't have the card and so don't know about triakis/lamna.

But I remember some observation about bluescreen. Some ATI users resolve the problem by using IONDRVSupport.kext version 1.4.3. You can find it at AGPGart FAQ.

I always dream about tools to show addresses used by Radeon. No idea.

May be write to screen some watermark and then scan all memory to find it?

Link to comment
Share on other sites

Slice, with atilead.kext + radeon pci i have this

ATI RADEON XPRESS 200M Series:

 

Modello Chipset: ATI RADEON XPRESS 200M Series

Tipo: Monitor

Bus: PCI

VRAM (totale): 256 MB

Fornitore: ATI (0x1002)

ID dispositivo: 0x5a62

ID revisione: 0x0000

Versione driver EFI: 01.00.068

Monitor:

Monitor:

Risoluzione: 1024 x 768

Profondità: Colore 32-bit

Core Image: Software

Monitor principale: Sì

Mirror: Spento

Online: Sì

Quartz Extreme: Non Supportata

the bus isn't pcie, but pci, it is showwing at monitor and not at Display :(,with ati.kext it hangs at start!, why? (i'm usign iDeneb 10.5.5)!

I will tr with the open ati files!

Link to comment
Share on other sites

Hey guys,

 

I've been sidetracked for a while and haven't felt like messing with this, but I'm going to hack on it a bit more now.

 

I'm basing my work off of the kernel modesetting work for r5xx by glisse/airlied/etc in the Linux world.

 

It's modular, based off of the kgrids atombios parser, and overall much much easier to understand. The modesetting functionality is pretty much completely separate from all of the X11 specific bits in this codebase so it should be way easier!

Link to comment
Share on other sites

I hear the issue with ATi Mobility series chips is frame buffer is there any break through in this department? I am using a Mobility 34XX HD Dev ID 95c4 I would almost kill for a working solution

 

I believe that card is actually supported in the latest Snow Leopard builds - it's pretty unlikely that any of the stuff being worked on in this thread will ever support anything newer than r500 cards. I'm targetting the X1400 (devid 0x71451002) specifically right now.

Link to comment
Share on other sites

Well I know that some of the info was added in the Macbook/Pro update and after updating a few things we noticed that the card was asking for megaladon...... however with the help of a couple of people we used an old natit and adjusted the kext and now I can boot up with my card.... I can see it however i do not have full support and I still can not get out of default resolution.....

 

Here is the code I get in verbose this maybe the problem could you tell me what I may want to check?

 

07/11/08 23:45:09 com.apple.kextd[9] /System/Library/Extensions/ATINDRV.kext/Contents/PlugIns/ATY_Megalodon.kext/Contents/MacOS/ATY_Megalodon isn't a valid mach-o, bad symbols

07/11/08 23:45:09 kextd[29] error mapping module file /System/Library/Extensions/ATINDRV.kext/Contents/PlugIns/ATY_Megalodon.kext/Contents/MacOS/ATY_Megalodon

07/11/08 23:45:09 kextd[29] can't map module files

07/11/08 23:45:09 kextd[29] can't check load addresses of modules

07/11/08 23:45:09 kextd[29] a link/load error occured for kernel extension /System/Library/Extensions/ATINDRV.kext/Contents/PlugIns/ATY_Megalodon.kext

Link to comment
Share on other sites

For those who have black screen on Laptop LCD and good image on outer CRT.

 

I had the same issue with IntelX3100 on Dell Laptop. Now all is OK!

I patched DSDT.

http://forum.insanelymac.com/index.php?sho...=133683&hl=

 

Namely. I erase from DeviceTree the follow devices: VID2, CRT, TV and DVI. Only LCD remains.

Try!

May be you need no new framebuffer.

Link to comment
Share on other sites

Slice, have you a soluction for hangs at starts with ati.kext?

Sorry, I didn't make changes in Ati.kext very long time cause I am busy with LAN problem. I am only one and have very few time for more then one problem.

 

TODO:

	if (rinfo->ChipFamily < CHIP_FAMILY_R520) 		rinfo->fb_local_base = INREG(MC_FB_LOCATION) << 16;

	else //TODO

		rinfo->fb_local_base = rinfo->fb_base_phys;

  IOLog("ATIFB: fb_phys_base=%08lx fb_local_base=%08lx\n", rinfo->fb_base_phys, rinfo->fb_local_base);

Must be corrected as Netkas said.

Radeon_CardDetect(PCIDevice);

For ATOMBIOS we have no Card name - take it from list (as in Dong driver)

 

if ((data = OSDynamicCast(OSData, provider->getProperty("display-type")))

Need to use this value to inject good EDID:

sprintf(name, "%s,EDID",radeon_get_mon_name(rinfo->MonType));

This method works only for R300. So use injected display-type.

 

	radeon_check_modes(rinfo, 0); 	radeon_set_fbinfo (rinfo);

After that we have array of video modes but currently they are not used except initial one.

 

With good EDID injected you must have working driver. Else - debugging needed.

Link to comment
Share on other sites

I hear the issue with ATi Mobility series chips is frame buffer is there any break through in this department? I am using a Mobility 34XX HD Dev ID 95c4 I would almost kill for a working solution

I have same device in my ASUS laptop, so please keep me informed, if you'll find a solution.

so far I know, it's compatible with x2400 (maybe)

 

and it's 2 times thinner bus than HD 36xx (64 against 128, so maybe the problem is in high-half range register(s), helping to address highest 64 bit of the dedicated DDR3 memory bus, which register(s) is not used in HD 34xx)

 

for HD36xx the solution is here

and this is only about OpenGL part (hardware graphics acceleration)

 

as about LCD display resolution, which you may have 1200x800 (apart from VESA 1024x768), this is possible (needs to be checked) with ATILead from here

 

one again, please post in respective Topic if you'll find the way.

another thread involved is here

Link to comment
Share on other sites

It is new for me. Thanks for the information. I will try it.

About correction of my Ati.kext I am sorry for delay. I am busy with another tasks now but I am always here catching news.

Does it work for you? I can't check cause I need 8500. Other testers?

 

I've downloaded that archive and investigated it's content.

according to following article and binary internals I confirm, it contain both PowerPC and Intel binaries.

which mean, it may be used in Intel Tiger also, however doesn't mean it's API compatible with Leo expectancy.

Link to comment
Share on other sites

Okay I was wondering if someone could look at this and tell me what they think.

I have installed the latest 9f23 installer extracted and installed the latest ait drivers from the macbook update 1.2 and then inserted a efi string that was made by H4ckster, and now i see my card in the abou7t this mac however I do not have a res option or qe/ci can anyone help?

Link to comment
Share on other sites

Okay I was wondering if someone could look at this and tell me what they think.

I have installed the latest 9f23 installer extracted and installed the latest ait drivers from the macbook update 1.2 and then inserted a efi string that was made by H4ckster, and now i see my card in the abou7t this mac however I do not have a res option or qe/ci can anyone help?

aparently in the next kalyway theres going to be 3450 support it will be released in 2 weeks

Link to comment
Share on other sites

For those who have black screen on Laptop LCD and good image on outer CRT.

 

I had the same issue with IntelX3100 on Dell Laptop. Now all is OK!

I patched DSDT.

http://forum.insanelymac.com/index.php?sho...=133683&hl=

 

Namely. I erase from DeviceTree the follow devices: VID2, CRT, TV and DVI. Only LCD remains.

Try!

May be you need no new framebuffer.

 

I assume this is not possible with the ATI Radeon x1300 mobility(m52)?

I get resolution change and everything working perfectly on an external screen using a x1300 mobility version of natit, but nothing on the internal lcd.

Without natit, the internal screen works, but is stuck on 1024 x 768.

 

I would like to try this DSDT patching solution... but from what I understand, I need a framebuffer solution for my card..?

 

Ztardust

Link to comment
Share on other sites

I assume this is not possible with the ATI Radeon x1300 mobility(m52)?

I get resolution change and everything working perfectly on an external screen using a x1300 mobility version of natit, but nothing on the internal lcd.

Without natit, the internal screen works, but is stuck on 1024 x 768.

 

I would like to try this DSDT patching solution... but from what I understand, I need a framebuffer solution for my card..?

Try a solution by lebidou

http://forum.insanelymac.com/index.php?sho...91042&st=74

Link to comment
Share on other sites

is it possiblw to do this with fglrx? for debian systems i know that debian uses alot of system calls that mac osx uses

 

@painWarlock how or where did you hear about this?

 

 

 

Also PainWarlock are you running the Mobility 3450 or desktop 3450?

 

im running the desktop version

Link to comment
Share on other sites

 Share

×
×
  • Create New...