Jump to content

New AGPGart


Slice
 Share

941 posts in this topic

Recommended Posts

Actually, I am using Titan as it is the only one I have seemed able to get a working EDID string to drive my SGI 1600SW properly. I do not use PC-EFI at this time, though I may try it in the future.

 

I tried the 2.4.4 IOPCIFamily and it seemed to behave the same as 2.4.1; the 4mb aperture size allows a boot, without CI/QE, but anything higher fails to boot properly.

As I found two graphic engine exists: flat framebuffer and OpenGL framebuffer. If Titan gives you good flat framebuffer then there is no fact that OpenGL framebuffer would be initialized in good way. For me Callisto003 works good but noone has QE/CI with this version. So I think we need to find some keys "EntryToAdd" for good versions of titan, natit, nvinject or else to have good working OpenGL.

May be I am catching black cat in black room trying to find a bug in AGPGart.

 

Hey, can anyone tell me if these AGPGart drivers will fix my Intel865GME problems? and whether or not it will work in 10.4.8?

 

I coded my own driver, but I still don't have Core Image, OpenGL, or Quartz Extreme support.

 

One site I was one said that my graphics card chipset was Intel 852 (Intel Extreme Graphics)

 

If this works I will be totally amazed.

I am not sure that internal graphics work as AGP. If you are programmer you can get my AGPGart sources at the thread and include your own codes in it. If you need advice ask me.

 

There was mention that the AGPGart would support SiS chipsets.

I am running an iATKOS 10.5.1 install that has been updated to 10.5.2 with the update from Apple on a:

Asus P5S-MX SE 1.8 core2duo

SiS 671FX NorthBridge

SiS 968 SouthBridge

SiS Mirage 3 for the graphics

 

I have tried so far with no luck so far, I would love to get QE / CI running if possible.

Any help would be appreciated

Attached is my ioreg output.

 

Thanks

Yes, AGPGart support SIS AGP bus but not SIS graphics. Without graphics driver AGP driver have no sense.

Link to comment
Share on other sites

Why you understand me in reverse order again? I say that good values are

(50)=0fc29778 (5c)=fd9be7c0 (e4)=08670020

It may be good writings for Leo

pciwrite32(hammer, 0x5c,pciread32(hammer, 5c) | 0x800);

pciwrite32(hammer, 0xe4,pciread32(hammer, e4) | 0x40000);

I think that (50) is a result, so we don't write it, only read.

Try and report!

 

@ Slice

 

It did not work unfortunately but i'm going to do some more testing in the next couple of days and try and see. The values as you noted are not the same as you gave me and that's because I took the values from 2.2 IOPCIFamily in Tiger since I like the idea of taking the values from the unmodified version.

 

where do the values 0x800 and 0x40000 come from? Is there other values to try? As you might guess all those numbers are greek to me :)

 

When fumbling around with just the mouse cursor I accidently pressed logout instead of reboot (its hard to choose the right) and got some messages printed on the black screen.

 

MIG: server died: CGS Release Shmem: cannot release shared memory

ipc/send invalid destination port: CGS Release Shmem: cannot release shared memory

 

I know they probably dont say that much.

 

Anyway I will be back in a couple of days, right now I have to finish my master thesis report. But I will be back soon!

Link to comment
Share on other sites

Yes, AGPGart support SIS AGP bus but not SIS graphics. Without graphics driver AGP driver have no sense.

 

Under windows my "chip set" has PCI to AGP bridge. Maybe my graphics won't actually work unless I have a real driver before adding AGPGart. Could you point me in the direction of find the proper memory adresses for my video card? in system profilier it has

 

Vendor: Intel (0x8086)

Device ID: 0x3582

 

It also has

 

Kernel Extension Info: No Kext Loaded

 

I am sure I installed my driver. Maybe you can give me instructions on how to do this properly? I only just started "coding" like 48 hours ago so I'm like uber nOOb.

Link to comment
Share on other sites

Why you understand me in reverse order again? I say that good values are

(50)=0fc29778 (5c)=fd9be7c0 (e4)=08670020

It may be good writings for Leo

pciwrite32(hammer, 0x5c,pciread32(hammer, 5c) | 0x800);

pciwrite32(hammer, 0xe4,pciread32(hammer, e4) | 0x40000);

I think that (50) is a result, so we don't write it, only read.

Try and report!

 

@ Slice

 

It did not work unfortunately but i'm going to do some more testing in the next couple of days and try and see. The values as you noted are not the same as you gave me and that's because I took the values from 2.2 IOPCIFamily in Tiger since I like the idea of taking the values from the unmodified version.

 

where do the values 0x800 and 0x40000 come from? Is there other values to try? As you might guess all those numbers are greek to me :)

 

When fumbling around with just the mouse cursor I accidently pressed logout instead of reboot (its hard to choose the right) and got some messages printed on the black screen.

 

MIG: server died: CGS Release Shmem: cannot release shared memory

ipc/send invalid destination port: CGS Release Shmem: cannot release shared memory

 

I know they probably dont say that much.

 

Anyway I will be back in a couple of days, right now I have to finish my master thesis report. But I will be back soon!

Link to comment
Share on other sites

What does mean your question? You want to look new sources?

 

No, was just a stupid joke, forget it!

 

Your previous stop was at Radeon registers while you have nVidia. I made more careful check a type of VGA.

Second problem is Aperture address. For you I set manually address from your ioreg. It is not good programming but I want to get a result at any price.

 

Slice, ok let's go on with it, it seems a good idea to me.

Once we have a driver that works we will know where the problem exactly is.

Link to comment
Share on other sites

Slice, ok let's go on with it, it seems a good idea to me.

Once we have a driver that works we will know where the problem exactly is.

???

It works? You have tried 264?

 

2 Common Sense

And this is my mistake

In Tiger you have no bit 800 so for Leo you might write:

pciwrite32(hammer, 0x5c,pciread32(hammer, 5c) & ~0x800);

I have no AMD documentation about hammer and I don't know how these bits sets or clears by Tiger and Leo.

I am waiting for new achievments from you.

 

2 UzuNaU

Vendor: Intel (0x8086)

Device ID: 0x3582

It is Intel Graphics. It needs no AGP driver, you need Intel graphics driver.

Link to comment
Share on other sites

@ Slice

 

I'm uploading ioreg and dmesg. I'm using iopcifamily-243 for Leopard. Unforunately it didn't work this time, i'm including the code that I inserted into amd64.cpp so you can make sure its correct, im assuming that line (2) should be modified the same way as you did with line (1) changing | to &. I have also tried with using | for both of them and no dice.

 

(1) pciwrite32(hammer, 0x5c,pciread32(hammer, 0x5c) & ~0x800);
(2) pciwrite32(hammer, 0xe4,pciread32(hammer, 0xe4) & ~0x40000);

 

 

@ All

 

I'm including iopcifamily-2.43 for Leopard if anyone have difficulties compiling it.

dmesg_ioreg.zip

IOPCIFamily.kext.zip

Link to comment
Share on other sites

Slice: sorry, not yet. I will do further tests in the weekend and report ASAP.

 

Slice: I tried Titan and Natit 0.2: they give the same results (strange and casual colors on screen on single mode, like it's copying from a bad framebuffer memory address, monitor off on normal mode) .

 

I'm a little afraid aboout messing with frameworks (OpenGL, CoreImage), last time I tried I broke up my installation. So I'm setting up a Jas 10.4.6 installation from scratch, but it'll require some time.

Link to comment
Share on other sites

I'm uploading ioreg and dmesg. I'm using iopcifamily-243 for Leopard. Unforunately it didn't work this time, i'm including the code that I inserted into amd64.cpp so you can make sure its correct, im assuming that line (2) should be modified the same way as you did with line (1) changing | to &. I have also tried with using | for both of them and no dice.

 

(1) pciwrite32(hammer, 0x5c,pciread32(hammer, 0x5c) & ~0x800);
(2) pciwrite32(hammer, 0xe4,pciread32(hammer, 0xe4) & ~0x40000);

I said that (1) must has & and (2) must has |. But if you already try this variant without success so the problem is not here.

In your PCI trace I found VIA host but I want to see hammer. Check and repeat the test.

One new thought. For my ATI bus I also have (e4)=00040000. What is the magic value?

May be set it also in VIA host?

 

Slice: I tried Titan and Natit 0.2: they give the same results (strange and casual colors on screen on single mode, like it's copying from a bad framebuffer memory address, monitor off on normal mode) .

 

I'm a little afraid about messing with frameworks (OpenGL, CoreImage), last time I tried I broke up my installation. So I'm setting up a Jas 10.4.6 installation from scratch, but it'll require some time.

OK, I am waiting for your new attempt. May be you really need other framebuffer address.

Look MacMini (Radeon 9000 AGP) ioreg

| | | "IODeviceMemory" = (({"address"=0xffffffff98000000,"length"=0x8000000}),({"address"=0xffffffff90020000,"length"=0x20000}),

({"address"=0xffffffff90000000,"length"=0x10000}))

| | | "ATY,memsize" =

| | | "VRAM,memsize" =

| | | "AAPL,vram-memory" =

I see that 9c00=9800+(800/2) that is AGP framebuffer begin from the middle of the real memory. But it is for ATI as I try to do in AGPGartToad. But nVidia require another approach.

 

NEXT

Link to comment
Share on other sites

I said that (1) must has & and (2) must has |. But if you already try this variant without success so the problem is not here.

In your PCI trace I found VIA host but I want to see hammer. Check and repeat the test.

One new thought. For my ATI bus I also have (e4)=00040000. What is the magic value?

May be set it also in VIA host?

I corrected my misstake and now i'm printing the hammer. I'm running iopcifamily-2.43 as usually. I have ioregs and dmesgs from both Tiger and Leopard. On Tiger it works great as usual and on Leopard it's still the same black screen and cursor. This is the code changes made to amd64.cpp:

 

(1) pciwrite32(hammer, 0x5c,pciread32(hammer, 0x5c) & ~0x800);
 (2) pciwrite32(hammer, 0xe4,pciread32(hammer, 0xe4) | 0x40000);

 

EDIT: Slice I just did a little investigation and compared the Tiger hammer traces, identified all the values that remain constant between the runs (all values that always was the same when running Tiger regardless of version of iopcifamily) and compared the values to Leopard and they always matched! This must mean that they are correct for both Tiger and Leopard and that this isn't the problem.

 

All the values that changed between runs in Tiger ofcourse was not considered.

 

The idea is that if some values are always the same when running Tiger they should be the same when running Leopard, and since they always are the same it's probably not a problem.

 

What do you think?

 

EDIT2: I dont think there is a magic value for (e4) as this value changes for me in Tiger and it always works, this ofcourse indicates that there are several values that could be correct or more likely that this value is random.

dmesg_ioreg.zip

Link to comment
Share on other sites

Nontheless I see that e4 differ in Tiger and in Leo

(e4)=08630020 - Leo

(e4)=08660020 - Tiger

despite you set explicitly 0x00040000. It is absent! Is this place read-only?

Or other writings clear this bit?

H-mmm, AMD in Leo is a puzzle.

 

Now compare ioregs

Tiger

| | | | | "display-cfg" =

| | | | | "name" =

| | | | | "AAPL,ndrv-dev" = Yes

| | | | | "device_type" =

| | | | | "VRAM,memsize" =

| | | | | "IOFBDependentIndex" = 0x1

| | | | | "nativeNDRV" =

| | | | | "display-connect-flags" =

| | | | | "compatible" =

Leo

| | | | | "display-connect-flags" =

| | | | | "nativeNDRV" = -- advn

| | | | | "display-cfg" =

| | | | | "connector-type" =

| | | | | "AAPL,iokit-ndrv" =

| | | | | "noNVRAM" =

| | | | | "name" = -- NVDA,display-A

| | | | | "device_type" =

| | | | | "compatible" =

| | | | | "IOFBDependentIndex" = 0x0

| | | | | "AAPL,ndrv-dev" = Yes

| | | | | "VRAM,memsize" =

Why "noNVRAM"?

What is happen with memsize?

May be you should try Tiger's nVidia drivers in Leo?

Are you sure that IOPCIFamily and AGPGart exactly the same in both case?

Link to comment
Share on other sites

Nontheless I see that e4 differ in Tiger and in Leo

(e4)=08630020 - Leo

(e4)=08660020 - Tiger

despite you set explicitly 0x00040000. It is absent! Is this place read-only?

Or other writings clear this bit?

H-mmm, AMD in Leo is a puzzle.

 

Now compare ioregs

Tiger

 

Leo

 

Why "noNVRAM"?

What is happen with memsize?

May be you should try Tiger's nVidia drivers in Leo?

Are you sure that IOPCIFamily and AGPGart exactly the same in both case?

 

I'm testing the Tiger video kexts in Leopard and the results might give a hint, QE/CI doesn't work but the vram size is correct and there is no noNVRAM. Have a look!

 

Tiger kexts can never work with QE/CI in Leopard if i'm correct, I have read this all over the forum.

 

EDIT: It would be interesting to get hold of the kexts from an early Leopard beta and try the video drivers. Perhaps they work the same as the Tiger kexts does but can make QE/CI work in Leopard.

dmesg_ioreg_tiger_vid_kexts.zip

Link to comment
Share on other sites

I'm testing the Tiger video kexts in Leopard and the results might give a hint, QE/CI doesn't work but the vram size is correct and there is no noNVRAM. Have a look!

 

Tiger kexts can never work with QE/CI in Leopard if i'm correct, I have read this all over the forum.

 

EDIT: It would be interesting to get hold of the kexts from an early Leopard beta and try the video drivers. Perhaps they work the same as the Tiger kexts does but can make QE/CI work in Leopard.

 

Very interesting to compare!

Tiger kexts

"AAPL,iokit-ndrv" =

Leo kexts

"AAPL,iokit-ndrv" =

What is it?

 

I found no differencies in NVDA that give you QE/CI. May be something wrong with GA.plugin?

Link to comment
Share on other sites

Very interesting to compare!

Tiger kexts

"AAPL,iokit-ndrv" = <e0b2d033>

Leo kexts

"AAPL,iokit-ndrv" = <e002d03f>

What is it?

 

I found no differencies in NVDA that give you QE/CI. May be something wrong with GA.plugin?

 

I think that Tiger video drivers are not compatible with Leopard OpenGL framework and Tiger OpenGL framework is not compatible with Leopard.

 

Thats why Tiger video drivers + Leopard OpenGL framework = no QE/CI and Leopard/Tiger video drivers + Tiger OpenGL framework = can't boot GUI, not even in safe mode.

 

if Tiger drivers were compatible with Leopard OpenGL framework it might have been the solution.

 

Thats why I want to try early beta Leopard video drivers that works with Leopard OpenGL framework.

Link to comment
Share on other sites

I think that Tiger video drivers are not compatible with Leopard OpenGL framework and Tiger OpenGL framework is not compatible with Leopard.

 

Thats why Tiger video drivers + Leopard OpenGL framework = no QE/CI and Leopard/Tiger video drivers + Tiger OpenGL framework = can't boot GUI, not even in safe mode.

 

if Tiger drivers were compatible with Leopard OpenGL framework it might have been the solution.

 

Thats why I want to try early beta Leopard video drivers that works with Leopard OpenGL framework.

I just think same.

 

I someone want to compile here is latest sources 264

 

NEXT

Link to comment
Share on other sites

Hi Slice (and all posters)

 

I have been reading the whole topic (pff) but on the end I am confused of what to do. I have Leopard, running on amd64 x2 5400+ with an 0x71c6 a x1650pro AGP. But i don't know what to do now. I have installed (during the install) some ati drivers that don't work.

 

Display:

 

Type: Display

Bus: PCI

VRAM (Total): 256 MB

Vendor: ATI (0x1002)

Device ID: 0x71c6

Revision ID: 0x0000

Kernel Extension Info: No Kext Loaded

Displays:

Display:

Resolution: 1024 x 768

Depth: 32-bit Color

Core Image: Software

Main Display: Yes

Mirror: Off

Online: Yes

Quartz Extreme: Not Supported

 

 

Do i need to install AGPGart or is that not yet Leopard proof?

Link to comment
Share on other sites

AGPGart can give you acceleration, if you already have working graphics driver. Search topics about X1650.

Common Sense have a problem with AGPGart in Leo. He has AMD64 too. The problem is under consideration.

Link to comment
Share on other sites

Hi Slice.

 

I just installed your AGPGart and it is working on my computer and it works. It shows in System Profiler:

 

ATI Radeon X1600:

 

Chipset Model: ATY,RadeonX1600

Type: Display

Bus: AGP

VRAM (Total): 256 MB

Vendor: ATI (0x1002)

Device ID: 0x71c6

Revision ID: 0x0000

EFI Driver Version: 01.00.068

Displays:

Display:

Resolution: 1024 x 768

Depth: 32-bit Color

Core Image: Software

Main Display: Yes

Mirror: Off

Online: Yes

Quartz Extreme: Not Supported

Display Connector:

 

I installed ATIinject.kext that gave me 1024x768 with a bit tearing. After that i installed your AGPGart and that works. It removed the tearing and it shows in system profiler as an AGP card instead of PCI. Downside its shows my card as a x1600 one :S

 

AGPGart is working on my amd64 x2 5400+ Leopard.

Link to comment
Share on other sites

 Share

×
×
  • Create New...