Jump to content

New AGPGart


Slice
 Share

941 posts in this topic

Recommended Posts

I have also noticed a difference in dmesg in Leo and Tiger. In Leo I always have (with or without AGPGart):

 

NVDA,Display-A: vram [00000000:10000000]
NVDA,Display-B: vram [00000000:08000000]

 

While in Tiger it is always:

 

NVDA,Display-A: vram [ef8c0000:10000000]
NVDA,Display-B: vram [00000000:01000000]

:)

It means VRAM address in Tiger = ef9c0000 but in Leo =0 !?!?!?

May be you try AGP_Base=00000004 that is not equal zero but near to it.

Or 0x08000000 = VRAM_addr + Memory/2

Link to comment
Share on other sites

It is really great difference between 32-bit real space Tiger and 64-bit virtual space Leo.

I don't remember exactly about such attempt but may be good idea to set Host_Base as is and AGP_Base is equal to zero. Is it interesting for anybody to make a new attempts?

 

2 toadspit.

I undestand. My AGP ATI works because I use my own patch for ATIRadeon8500.kext with readdressing. You have nVidia without such patch so you got only black screen if AGP is switched on. What to do?

As I said you may try AGP_Base=0x00000008 or 0x04000000. If not successful I can write 268 with new address settings.

 

:) O, my god! New version only to change one digit!

If I have computer with AGP nVidia I shall found a solution during one day.

If other programmer have such computer the AGPGart was ready half years ago.

But a programmer with one configuration and tester with other - impossible!

Link to comment
Share on other sites

Hi Slice,

 

I can see that your the man to speak to about this. Well done for your progress this far. As you can see, i can keen to get something up and runnign for agp on leo for nvidia cards.

 

If you need someone to test your driver on leo with AGP, AMD and NVIDA please let me know.

 

Thanks again for your great work :D

Link to comment
Share on other sites

I probably understand addressing scheme.

HOST_Base is the same as AGP_Base but

HOST_Base in CPU address space

AGP_Base in GPU address space.

If so I have prepared a new version of AGPGart 2.7.0

I need reports:

what values of AGP_Base you tried and what results.

Don't forget that values 80000000 and 0x80000000 are different! You must write always hexadecimal, for example

			<key>AGP_Base</key>
		<integer>0xf0000000</integer>

 

May be someone would be more happy? Toadspit?

About AMD64. If so I don't understand why AGPGart for AMD works under Tiger. Another CPU address space? What about new version under Leo? Cybland?

AGPGart.kext.zip

Link to comment
Share on other sites

I've tried following values (with both 64Mb and 128Mb aperture size):

 

0xe4000000

0xf8000000

0x00000004

0x04000000

0x02000000

 

result: always black screen but never KP. Only one time, with 0x04000000 and 64mb ap. s.: blue screen.

What does it mean???

 

t.

Link to comment
Share on other sites

I've tried following values (with both 64Mb and 128Mb aperture size):

 

0xe4000000

0xf8000000

0x00000004

0x04000000

0x02000000

 

result: always black screen but never KP. Only one time, with 0x04000000 and 64mb ap. s.: blue screen.

What does it mean???

 

t.

I don't know yet. Some users resolve Blue Screen by replacing IONDRVSupport.kext. But there is interesting result: you have Blue and not Black Screen when AGP_Base=Aperture_Size. You are in Tiger or in Leo?

Link to comment
Share on other sites

How to fix this? It doesn't load for me.

 

can't determine immediate dependencies for extension com.slice.driver.AGPGart
Can't determine dependencies for com.slice.driver.AGPGart.
can't determine immediate dependencies for extension com.slice.driver.AGPGart
Can't determine dependencies for com.slice.driver.AGPGart.
Couldn't alloc class "AGPGart"
Couldn't alloc class "AGPGart"

 

Why 2 times?

 

Tiger, 10.4.11, 8.1.10 SSE3, intel 865G, GFX Geforce 5900 AGP, 10.4.11 beta IOPCIFamily.

Link to comment
Share on other sites

How to fix this? It doesn't load for me.

 

can't determine immediate dependencies for extension com.slice.driver.AGPGart
Can't determine dependencies for com.slice.driver.AGPGart.
can't determine immediate dependencies for extension com.slice.driver.AGPGart
Can't determine dependencies for com.slice.driver.AGPGart.
Couldn't alloc class "AGPGart"
Couldn't alloc class "AGPGart"

 

Why 2 times?

 

Tiger, 10.4.11, 8.1.10 SSE3, intel 865G, GFX Geforce 5900 AGP, 10.4.11 beta IOPCIFamily.

It may be IOPCIFamily problem, try my version at topic

Link to comment
Share on other sites

That helped, but results:

0 - KP, displayed "Windows is shutting down" from VMWare :P
0xf0000000 - KP, light blue goes to black.
0xe4000000 - KP, "Windows shutt..."
0xf8000000 - 128:  freez on loginwindow start, 64: KP, light blue ...
0x00000004 - same 
0x04000000 - ....
0x02000000 - ....

Link to comment
Share on other sites

That helped, but results:

0 - KP, displayed "Windows is shutting down" from VMWare :P
0xf0000000 - KP, light blue goes to black.
0xe4000000 - KP, "Windows shutt..."
0xf8000000 - 128:  freez on loginwindow start, 64: KP, light blue ...
0x00000004 - same 
0x04000000 - ....
0x02000000 - ....

I am sorry but what is your config? 865G ?

Attach please

ioreg -l -x -w 2048 >ioregRiws.txt

AGPGart tuned for many chipsets but not for any.

I am ready to correct version if this addressing methow fails. I only need more testing.

Link to comment
Share on other sites

I don't know yet. Some users resolve Blue Screen by replacing IONDRVSupport.kext. But there is interesting result: you have Blue and not Black Screen when AGP_Base=Aperture_Size. You are in Tiger or in Leo?

 

I am in Tiger 10.4.11.

I replaced IONDRVSupport with 10.4.9 ver, same blue screen.

Same result with 0x08000000 and 128Mb Aperture Size!

It seems to be the right address. :jerry:

Link to comment
Share on other sites

Hi Slice,

 

I've tested ver. 2.7.0 and still no luck in Leo. Tried with following AGP_Base:

 

0xf0000000

0x08000000

0x04000000

0xe4000000

0xf8000000

0x00000004

0x02000000

 

and always black screen with mouse pointer. System log always shows:

 

cyblands-acpi kernel[0]: NVChannel(GL): Graphics channel exception! status = 0xffff info32 = 0x6 = Fifo: Parse Error

cyblands-acpi kernel[0]: 0000000b

 

I did a google search for this error and it seems that a lot of Mac users with nVidia cards and Leo 10.5.2 have the same black screen issue when booting their Mac's from sleep (both Intel with PCIe and PPC with AGP). All have reported that this issue started after they have done Leopard Graphic Update 1.0 so all have kexts version 1.5.24.9 (same as mine). It seems that they have been able to resolve this issue by installing back older version graphical kexts from Leo 10.5.0. They have posted those kexts so I'll try them out, and also I think I have installation disk for Leo 10.5.1, so if those kexts fail I'll just downgrade to 10.5.1 and do the same tests. Here are links to the forums and kexts if someone is interested:

 

Display freezing - NVChannel(GL): Graphics channel exception

Topic : Solution for broken Leopard Graphics Update (black displays after wake)

Leopard Graphics Update Rollback files - You will need Pacifist to extract kexts from pkg files. DO NOT TRY TO INSTALL THIS FILES AS THEY ARE!!! The files are prepared for real Mac's and can possibly brake your hack installation.

 

Anyway I will not be posting for some time as I'll be busy trying out what can be done with this kexts but I'll get back to you with results.

Link to comment
Share on other sites

Thanks for testing! I was waiting more good results. Sorry!

I am in Tiger 10.4.11.

I replaced IONDRVSupport with 10.4.9 ver, same blue screen.

Same result with 0x08000000 and 128Mb Aperture Size!

It seems to be the right address. :rolleyes:

As you remember CycloneFr said that ONLY working version is 10.4.6 (1.4.3) and I upload it at the thread at post 463. Later comments by CycloneFR and DanDruff.

http://forum.insanelymac.com/index.php?sho...1308&st=462

One more attempt

AGP_Base=Aperture * 2.

Check please!

 

 

and always black screen with mouse pointer. System log always shows:

 

cyblands-acpi kernel[0]: NVChannel(GL): Graphics channel exception! status = 0xffff info32 = 0x6 = Fifo: Parse Error

cyblands-acpi kernel[0]: 0000000b

As a programmer I think that this message means sending data to wrong address 000000b. It happen with OpenGL transaction that performed in PCI mode and in AGP mode in different way.

The switch lays in GA.plugin.

So there is the same problem "Good address in AGP mode". How to find it? How to debug? I can't influence on internal algorith of Host Controller.

Pacifist to extract kexts from pkg files. DO NOT TRY TO INSTALL THIS FILES AS THEY ARE!!! The files are prepared for real Mac's and can possibly brake your hack installation.

:hysterical:

Anyway I will not be posting for some time as I'll be busy trying out what can be done with this kexts but I'll get back to you with results.

I hope you find some new information to the problem.

Link to comment
Share on other sites

Pacifist to extract kexts from pkg files. DO NOT TRY TO INSTALL THIS FILES AS THEY ARE!!! The files are prepared for real Mac's and can possibly brake your hack installation.

 

:hysterical:

 

Hi Slice,

 

Just to clarify the warning.

 

The pkg file contains, besides kexts for all VGA cards (Intel, Ati and nVidia), OpenGL framework. This framework has cpuids and if installed may cause an error with loginwindow.app effectively braking Leo. Cpuids are a big issue that any AMD user faces whenever he is replacing OS X files, that’s why I’ve recommended to first extract the files with Pacifist. Maybe I should have explained everything in my previous post but it was 03:00 AM at the time and I was looking forward to retire for the night.

Link to comment
Share on other sites

I am sorry but what is your config? 865G ?

Attach please

ioreg -l -x -w 2048 >ioregRiws.txt

AGPGart tuned for many chipsets but not for any.

I am ready to correct version if this addressing methow fails. I only need more testing.

Yes, 865G.

Link to comment
Share on other sites

Yes, 865G.

First look.

Host devid=2570 - same as JaS - supported.

Host IODeviceMemory = 0xf0000000 size = 0x08000000=128Mb

VGA IODeviceMemory = 0xe0000000 size = 0x08000000=128Mb

For AGPGart 267 I recommend to try AGP_Base=0xf0000000 @aperture=128

For 270 - 0x10000000

If black screen - deep thinking.

And give me dmesg before black screen (or last part of system.log)

Link to comment
Share on other sites

As you remember CycloneFr said that ONLY working version is 10.4.6 (1.4.3) and I upload it at the thread at post 463. Later comments by CycloneFR and DanDruff.

 

oops sorry you're right.. but it has become really difficult to keep trace of every working/not working configuration..

 

So, with this new IONDRVSupport, the results are:

 

1. AGP_Base = 0x08000000 = Aperture Size (128 Mb)

The system boot in GUI!!!!! :hysterical:

 

BUT

 

2. Though system profiler says QE/CI is supported, XBench OpenGL test, OpenGL Extension Viewer and OpenMark crash. Why? Maybe IONDRVSupport 10.4.6 is not compatible with 10.4.11 OpenGL Framework?

(EDIT: without AGPGart, QE/CI don't crash, so it seems IONDRVSupport from 10.4.6 and OpenGL Framework from 10.4.11 are compatible. Other reasons!)

 

3. XBench results for UI interface and QG tests are lower than without AGPGart. Maybe I can test different flushtime values?

 

4. Strange behavoiur: after a while GUI booted and desktop appeared, screen colors became a little lighter.. :hysterical:

Link to comment
Share on other sites

oops sorry you're right.. but it has become really difficult to keep trace of every working/not working configuration..

 

So, with this new IONDRVSupport, the results are:

 

1. AGP_Base = 0x08000000 = Aperture Size (128 Mb)

The system boot in GUI!!!!! :P

:) At last!

BUT

 

2. Though system profiler says QE/CI is supported, XBench OpenGL test, OpenGL Extension Viewer and OpenMark crash. Why? Maybe IONDRVSupport 10.4.6 is not compatible with 10.4.11 OpenGL Framework?

(EDIT: without AGPGart, QE/CI don't crash, so it seems IONDRVSupport from 10.4.6 and OpenGL Framework from 10.4.11 are compatible. Other reasons!)

I have same crashes even in PCI mode but I am trying to find solution in ATIRadeon8500.kext (binary patch).... Thinking....

3. XBench results for UI interface and QG tests are lower than without AGPGart. Maybe I can test different flushtime values?

It would be fine! I think as much as possible. I found in AMD64 same technology but with infinite wait for flush

4. Strange behavoiur: after a while GUI booted and desktop appeared, screen colors became a little lighter.. :wacko:

Little lighter is an OpenGL property. Or... you have double output to screen AGP and PCI at the same place! So why Xbench result become lower. Same result as CycloneFR previously have. But Izmael had fast UI at the same configuration. What is the difference?

So I need to compare IONDRVSupport sources once more. What is the difference between 1.4.3 and next versions? Where is best version for AGP support? It seems the key in it but not in AGPGart.

A question: did you replace IOGraphics.kext?

m-m-m... Correct IONDRVSupport.kext/info.plist

			<key>IOPCIClassMatch</key>
		<string>0x03000000&0xff000000</string>

to ;0xffff0000

It means disable Framebuffer for second head that is non-working PCIClass=0x038000

 

 

System Log is empty in that place, where it crashes, but some new logs

If you can get ioreg in single user mode may be you can get dmesg ?

Look: JaS, Izmael, DanDruff, CycloneFR have the same chipset and boot into gui.

Toadspit and CommonSense have AGP NVidia.

I think you might be successful too.

Partially.

I see that OpenGL performance is still under question except Common Sense with AMD64 in Tiger.

Link to comment
Share on other sites

If you can get ioreg in single user mode may be you can get dmesg ?

Look: JaS, Izmael, DanDruff, CycloneFR have the same chipset and boot into gui.

Toadspit and CommonSense have AGP NVidia.

I think you might be successful too.

Partially.

I see that OpenGL performance is still under question except Common Sense with AMD64 in Tiger.

There is no much Info in dmesg:

DEBUG fixing subordinate bus setting on P0P4 device(30, 0) - was 2 now 255
AGP: Found Intel 82865 host to AGP bridge
AGP: saveBridgeState OK
AGP create nub for 033210de bus=1 cap=68
AGPGart: publishNub display
USB caused wake event (EHCI)

 

Sometimes I see such Error on boot:

Undefined symbol entry with non-zero section /System/Library/Extensions/IOPCIFamily.kext/IOPCIFamily:ZN11IOPCIBridge4stopEP9IOService

I have your IOPCIFamily.kext

 

With AppleI386PCI.kext I'm able to boot into GUI, but it freezes after 10 sec. What's the difference with AGPGart?

Link to comment
Share on other sites

There is no much Info in dmesg:

DEBUG fixing subordinate bus setting on P0P4 device(30, 0) - was 2 now 255
AGP: Found Intel 82865 host to AGP bridge
AGP: saveBridgeState OK
AGP create nub for 033210de bus=1 cap=68
AGPGart: publishNub display
USB caused wake event (EHCI)

And where is second part...

Boot with -s -v

then type sh /etc/rc

wait 3 minute

type ctrl-c

and now dmesg

Sometimes I see such Error on boot:

Undefined symbol entry with non-zero section /System/Library/Extensions/IOPCIFamily.kext/IOPCIFamily:ZN11IOPCIBridge4stopEP9IOService

I have your IOPCIFamily.kext

Never see!

There are two IOPCIFamily.kext version. One for Tiger, second for Leo. Great difference is in using CPU-rendervouz.

With my version of IOPCIFamily I have kernel panic if mix new extension.kextcache with old extension.mkext.

No other bugs is still reported.

With AppleI386PCI.kext I'm able to boot into GUI, but it freezes after 10 sec. What's the difference with AGPGart?

I know three compilation of AppleI386PCI: by Apple, by Csoft, and by Slinger2G.

First one works only with native Mac (namely?).

Second intended for 865 chipset but no one good report.

Last one created as light and works fine...without acceleration.

I have the sources and carefully read its. No new for me.

Why freezes? Slinger works and show xbench rezults.

I see some difference

| | | | "IOAGPFlags" = 0x10001 with I386

I set by default 0x1 but anyone can change.

 

2 Carlos

Default value AGP_Base=0 is not best.

As we found best value AGP_Base = Aperture_Size.

Thus if you have Aperture=128Mb you must set AGP_Base=0x08000000.

Link to comment
Share on other sites

Hi Slice,

 

I am still strying to find the correct AGP_Base value for my Radeon9600M.

I am using AGPGart270.

As you remember CycloneFr said that ONLY working version is 10.4.6 (1.4.3) and I upload it at the thread at post 463. Later comments by CycloneFR and DanDruff.

I also went back from IONDRVSupport 1442 to 143 (of your last post),

with <string>0x03000000&0xffff0000</string>, just to be safe.

 

I have used a crazy amount of base values without sucess; I just don't get your way to convert decimal to hex values to begin with: 128 (decimal) is 0x80 (hex), so that 128 Mb is 0x08000000 ???

I could use some help...

I started with 0x04000000, as I windows reports 64Mb aperture (not in BIOS of this labtop): KP

0x08000000, or 128 MB, also KP (these KP when loading the Firewire kext).

0x10000000 (or ???) black screen (Extensions.mkext is not created)

0x20000000, black screen (Extensions.mkext is created)

The sweet spot is near 0x15000000:

at 0x15200000, I have black with white vertical tripes,

at 0x15500000, I have black turning light gray, very much like with the wrong EDID in callisto???

above 0x16000000 I am back with good old black.

 

Not much of a progress, because the VGA .Display_boot (and any acceleration) does not appear in the ioregs.

 

Frustration, as others seem to get their NVIDIA hardware to run (by the way, with NVInject?).

What to do next?

Link to comment
Share on other sites

2 Toadspit and ExExibit

 

If you have a crash with OpenGL, please, find in crash log information like that

Thread 0 Crashed:
0   com.apple.CoreFoundation	   	0x9080f04a CFRelease + 56
1   com.apple.ColorSyncUtility	 	0x000238ef 0x1000 + 141551
2   com.apple.ColorSyncUtility	 	0x00023a70 0x1000 + 141936

Thread 0 crashed with X86 Thread State (32-bit):
 eax: 0x00000000  ebx: 0x9080f020  ecx: 0x9035e6fc  edx: 0xb000ad40
 edi: 0x00000000  esi: 0x00000000  ebp: 0xbffff298  esp: 0xbffff270
  ss: 0x0000001f  efl: 0x00010246  eip: 0x9080f04a   cs: 0x00000017
  ds: 0x0000001f   es: 0x0000001f   fs: 0x00000000   gs: 0x00000037

I try to find a reason for crash.

Link to comment
Share on other sites

 Share

×
×
  • Create New...