Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Ignore the specific bytes in my example, that dmesg excerpt is from my PowerMac G4 which has a flashed Radeon 9800 Pro.

The behavior however is very similar if not identical with my X1900. It is an original ATI X1900GT G5 Mac edition with a 128k ROM so I have not flashed it since it already had an OF ROM . I think this should be the corresponding ROM.

Kernel is something recent, 6.13.x or 6.14.x.

Thank you for all the pointers, I will check this out tomorrow and will be able to provide more info then.


This is not a problem for me. I run ArchPOWER which holds on to mesa 24.1 and works very nicely, especially with newer TeraScale GPUs. But I would like to have the X1900 working to have a decent card for both MacOS and Linux.
Hi! You found a solution? I have the same problem... G5 and X1900 Mac Edition (flashed), no way to have a working drm on linux :-(
 
Hi! You found a solution? I have the same problem... G5 and X1900 Mac Edition (flashed), no way to have a working drm on linux :-(
Unfortunately not. I replaced it with a Nvidia 7800GT and the x1900 is now collecting dust 🙁

If anyone knows the solution, it would be very much appreciated. I am quite sure it has to do with the PowerPC ROM because a x1600 Pro PC graphics card did work with Linux.
 
Unfortunately not. I replaced it with a Nvidia 7800GT and the x1900 is now collecting dust 🙁

If anyone knows the solution, it would be very much appreciated. I am quite sure it has to do with the PowerPC ROM because a x1600 Pro PC graphics card did work with Linux.
Yes, the problem is the rom, radeon drivers want a x86 version. What I not understand is because after 15+ years nobody have fixed this know issue.
 
The strange thing is, on my PowerBook G4 with mobility Radeon 9700 it does work. I do get:
Code:
[drm: radeon_get_bios [radeon]] *ERROR* Unable to locate a BIOS ROM
Upon every boot but it works normally.
 
The strange thing is, on my PowerBook G4 with mobility Radeon 9700 it does work. I do get:
Code:
[drm: radeon_get_bios [radeon]] *ERROR* Unable to locate a BIOS ROM
Upon every boot but it works normally.
Good to know! I think: if is a regular, original graphic chip of MacPPC, some guy have fixed the kernel radeon module for make it work. The x1900 Mac edition was dropped and forgotten :-(
 
I have done some more research. It looks like the x1900 Mac Edition lacks an AtomBIOS, which is what the Linux radeon driver needs: https://lists.debian.org/debian-powerpc/2011/09/msg00034.html

Unfortunately the radeon driver reads the AtomBIOS from the PCI ROM and it cannot be read from a file apparently. I heard that the Wii U Linux developers ran into a similar issue because it's custom Radeon GPU is not connected over PCI and doesn't have an AtomBIOS.
 
  • Like
Reactions: ADunsmuir
Unfortunately the radeon driver reads the AtomBIOS from the PCI ROM and it cannot be read from a file apparently. I heard that the Wii U Linux developers ran into a similar issue because it's custom Radeon GPU is not connected over PCI and doesn't have an AtomBIOS.
Include both the AtomBIOS and the Open Firmware images in the same ROM? You might need a bigger ROM chip if the Open Firmware image cannot be compressed enough.
 
  • Like
Reactions: ADunsmuir
Include both the AtomBIOS and the Open Firmware images in the same ROM? You might need a bigger ROM chip if the Open Firmware image cannot be compressed enough.
Likely simpler to modify the Linux kernel DRM support to support a new parm that says “Read the AtomBIOS from this file”.

The more complex alternative for cards with no AtomBIOS is to check for an FCode signature, and support with a minimal specialized Forth interpreter. Might as add another option for “Read the FCode from this file”.

I’ve just got a Sun sparc server (from eBay) and an XVR-600 graphics card - intent is to triple boot Solaris 10, Linux and a BSD. That card would be another use case for FCode support.
 
Likely simpler to modify the Linux kernel DRM support to support a new parm that says “Read the AtomBIOS from this file”.

The more complex alternative for cards with no AtomBIOS is to check for an FCode signature, and support with a minimal specialized Forth interpreter. Might as add another option for “Read the FCode from this file”.

I’ve just got a Sun sparc server (from eBay) and an XVR-600 graphics card - intent is to triple boot Solaris 10, Linux and a BSD. That card would be another use case for FCode support.
One of the problems with providing an AtomBIOS file would be coming up with a file exactly matching the hardware. Some folks seem to be familiar with this with the reflash route.

The other problem is licensing of a modified AtomBIOS file and distribution. Perhaps provide a URL, and hope manufacturer does not object. Workaround could be shipping an original file (or URL), a cutter utility, a patch file and patch utility to have the user do the modification (like with WIFI card firmware).

——-

And no… this is far from the first time I’ve thought about this. I’ve collected about 100 different graphics cards over the years, intending to work on this when I fully retire. I’ve got an x1900 card in one of my G5s, and another from Kijiji still in shrink wrap - a $20 bargain.
 
  • Like
Reactions: Matias_
Good to know! I think: if is a regular, original graphic chip of MacPPC, some guy have fixed the kernel radeon module for make it work. The x1900 Mac edition was dropped and forgotten :-(
The problem is the AtomBIOS was introduced with the x1xxx cards, so there is minimal/no non-AtomBIOS driver support for those cards in the kernel DRM drivers. I think the Intel Macs use AtomBIOS too.

The Mac PPC x1900 card is sort a unicorn - the only x1xxx card Apple shipped, and reliant of FCode.
 
  • Like
Reactions: Matias_
The strange thing is, on my PowerBook G4 with mobility Radeon 9700 it does work. I do get:
Code:
[drm: radeon_get_bios [radeon]] *ERROR* Unable to locate a BIOS ROM
Upon every boot but it works normally.
That’s because the kernel DRM has a full driver for the Radeon graphics cards before the x1000 series, so it complains but soldiers on.
 
  • Like
Reactions: Matias_
One of the problems with providing an AtomBIOS file would be coming up with a file exactly matching the hardware. Some folks seem to be familiar with this with the reflash route.
This thread is about flashing a PC GPU with Mac fcode. I assume the PC GPU comes with AtomBIOS that matches the hardware. We can append the Mac fcode after the AtomBIOS if there's enough free space. We can add compression to the Mac fcode if necessary.
We need three things:
  • Info regarding the size of the ROM chip. Use my lspci for Open Firmware. It will probe the BAR sizes. Or use lspci in linux. I think linux lspci has a method for getting BAR sizes? Or you can use setpci to probe the ROM BAR size. Or lookup the ROM chip data sheet. If the card has only PC BIOS, then I think Open Firmware will create a reg property that includes the ROM BAR size?
  • The original PC BIOS from the ROM chip.
  • The Mac fcode.
 
  • Like
Reactions: Matias_ and eastone
Here's a ROM dump from an original PC x1900GT. This card is the original rev 1 version that physically looks just like the retail Mac Edition card, not the rev 2 version of the card that seems to be pretty common on the used market. It has a 64KB ROM chip. When flashed with the Mac Edition ROM, the card works properly in my G5. Quiet fans and all.
 

Attachments

  • Like
Reactions: Matias_
Here's a ROM dump from an original PC x1900GT. This card is the original rev 1 version that physically looks just like the retail Mac Edition card, not the rev 2 version of the card that seems to be pretty common on the used market. It has a 64KB ROM chip. When flashed with the Mac Edition ROM, the card works properly in my G5. Quiet fans and all.

The AtomBIOS is nearly 64K by itself. The fcode is over 32K. The fcode does not contain a classic Mac OS driver or a Mac OS X driver. Compression can only reduce the fcode to ≈54%. There's no way to compress the fcode to fit in the unused 2K of the 64K ROM chip.

You need a 128K ROM chip to fit both the AtomBIOS and the fcode.

If someone has a flashable 128K ROM chip, then I can make the combined ROM image.
 

Attachments

  • Like
Reactions: Matias_ and eastone
I'd be willing to swap in a larger (128K) flash ROM onto my card for testing. I'm pretty comfortable doing that sort of rework.

Will the Radeon X1900 GT recognize a new flash ROM and detect the new size?

The attached contains a new rom, "Radeon X1900 GT PC & Mac.rom" (97 KiB), which combines the PC ROM you gave me, "Sapphire_x1900_PC.rom", with the Mac ROM, "Radeon X1900 GT rev 109.rom", which I hope is the Mac ROM that works for you (is there more than one Mac ROM?).

If this doesn't work in PC, then maybe I need to fix the checksum of the BIOS image.
 

Attachments

Will the Radeon X1900 GT recognize a new flash ROM and detect the new size?

The attached contains a new rom, "Radeon X1900 GT PC & Mac.rom" (97 KiB), which combines the PC ROM you gave me, "Sapphire_x1900_PC.rom", with the Mac ROM, "Radeon X1900 GT rev 109.rom", which I hope is the Mac ROM that works for you (is there more than one Mac ROM?).

If this doesn't work in PC, then maybe I need to fix the checksum of the BIOS image.
Thanks for piecing that together. I have a larger flashrom chip on order. I can try this in a few days.
 
  • Like
Reactions: Matias_ and eastone
I fixed the checksum for completeness, and just in case.
I flashed the x1900gt card with your double rom. The card works in the PC, but in the G5 it gives a black screen.
PS
Of course it works under MintPPC in G5 🙂
 

Attachments

  • IMG_20260329_161316142.jpg
    IMG_20260329_161316142.jpg
    1.6 MB · Views: 51
Last edited:
I flashed the x1900gt card with your double rom. The card works in the PC, but in the G5 it gives a black screen.
PS
Of course it works under MintPPC in G5 🙂
Does your x1900gt have a 128K ROM chip?
Can you read the flashed ROM and compare with the source ROM to make sure it was all written?
In the G5, does the GPU appear in the Open Firmware device tree? Properties?
 
Does your x1900gt have a 128K ROM chip?
Can you read the flashed ROM and compare with the source ROM to make sure it was all written?
In the G5, does the GPU appear in the Open Firmware device tree? Properties?
OK,

The EEPROM on my card is an M25P10 (128 KB).
Both ROMs—the one source rom and the backup from flashed—contain the same data, except for the empty padding up to the full 128 KB ROM size.
I am attaching both ROM files for verification.
The X1900 is visible in Open Firmware (I’ve attached a photo).
 

Attachments

  • ROMS.zip
    ROMS.zip
    109.2 KB · Views: 31
  • G5_OF_ATI_pci@0.jpg
    G5_OF_ATI_pci@0.jpg
    2.1 MB · Views: 82
OK,

The EEPROM on my card is an M25P10 (128 KB).
Both ROMs—the one source rom and the backup from flashed—contain the same data, except for the empty padding up to the full 128 KB ROM size.
I am attaching both ROM files for verification.
The X1900 is visible in Open Firmware (I’ve attached a photo).
Can you connect with telnet and get result of dump-device-tree?
https://forums.macrumors.com/thread...l-work-in-a-beige-power-macintosh-g3.2303689/
Do you have a PC or Mac x1900GT?
Can you post the backup of the original PC BIOS?
Did you flash the card with Mac firmware previously? Can you post a copy of Mac firmware that you used?
 
Can you connect with telnet and get result of dump-device-tree?
https://forums.macrumors.com/thread...l-work-in-a-beige-power-macintosh-g3.2303689/
Do you have a PC or Mac x1900GT?
Can you post the backup of the original PC BIOS?
Did you flash the card with Mac firmware previously? Can you post a copy of Mac firmware that you used?
I'm at work right now, I will use telnet connection today after work. I have 2 different models of PC x1900GT cards. Unfortunately I don't have an original PC ROM files anymore. Mac ROM was taken from themacelite downloads and card with mac rom is working well.
 
Last edited:
I'm at work right now, I will use telnet connection today after work. I have 2 different models of PC x1900GT cards. Unfortunately I don't have an original PC ROM files anymore. Mac ROM was taken from themacelite downloads and card with mac rom is working well.
Connect your second PC x1900GT card and get dump-device-tree from that. It might be a more suitable match with the Apple firmware?

The problem with the your first PC X1900GT or with the PC & Mac ROM that you applied to your card is that the PC firmware has device IDs that don't match the Mac firmware.

Mac firmware has device ID 7240.
PC firmware has device ID 724B and a secondary function with device ID 726B.

I've attach a new combined firmware where the Mac firmware comes first.
dump-device-tree with this new ROM.
Does it allow the card to work in Mac OS X?
Does the card still work in MintPPC?

If it doesn't work in the latter, then we can try changing device IDs in one of the firmwares to match the device IDs in the other firmware.
 

Attachments

Last edited:
  • Like
Reactions: eastone
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.