Projects » Amiga OS 4 Projects » RadeonHD Driver » Almost There

Almost There

Snapshot of the qr-code in the RadeonHD_RM.resource demoI assume that you are reading this page because you found the qr-code in the RadeonHD_RM.resource proof-of-concept test application video. If yes, congratulations. If not, you can view the video here. No, this isn't a fully usable 3D driver, but it gives you a glimpse of what will be possible once AmigaOS has OpenGL 2.0+ support.

I started the Radeon HD driver for AmigaOS 4.x project back in 2008. At the time, I was a Ph.D. student at the University of Toronto who was using the shader capabilities of modern graphics cards (a Radeon X800 at the time) for computer vision. You can read more about my research via this link, if you're interested. Harnessing the power of the GPU enabled my 3D object tracking code to work in real-time. I wanted to bring this power to the Amiga, and the opportunity came when AMD started releasing the hardware documentation for the Radeon X1000 series and newer. I bought a PCI Radeon X1300 on E-Bay, and started tinkering. On 8 September 2008, I had the first images showing via the Radeon X1300. Many further milestones have been reached since.

The proof-of-concept demo that you have seen marks another milestone. The driver has finally reached a point where an external 3D driver (or test-application in this case) can render graphics via a Radeon HD 2000-4000 series graphics card. It is also the first 3D graphics to be rendered on these cards in AmigaOS. It has been a long time coming, and there is still much work to do, but we're almost there.

Another frame from the RadeonHD

Demo features:

  • 3D transformation and lighting (MiniGL/Warp3D cannot do this)
  • Per-pixel lighting (incl. bump-mapping, also not possible via MiniGL/Warp3D)
  • 8 Lights, each rendered in its own pass (light 0 is controlled by the mouse)
  • Uses a barebones 3D library (dubbed Nano3D) and an OpenGL rendering engine (adapted to Nano3D) to render the 3D objects
  • Renders graphics using the GPU via the RadeonHD_RM.resource (render-manager)
  • Shaders written directly in R600/R700 assembly

Amiga What?

AmigaOS 4.x is the latest version of an alternative Operating System (OS) that was originally released with the Commodore Amiga range of computers. These computers were well ahead of their time, offering thousands of colours and full motion video at a time when most computers still displayed graphics in black and white (or black and orange/green). Normally I would give you an overview, but others have done such a good job, that I'll just give you a link to their website.

What Hardware does it Run On?

AmigaOS 4.x requires a computer with a PowerPC processor (so no standard PC). Only a select group of machines are supported. While older machines will also be able to use Radeon HD cards, if you're considering buying a machine, I recommend getting a one of the new ones that have PCI-Express slots. PCI-Express is much faster than PCI, and that makes a difference. There are currently two such machines.

Sam460ex (Available Now)

Developed by ACube Systems, the Sam460ex is the first AmigaOS machine to include PCI-Express slots and DDR2 RAM. It is a nice entry-level machine. Best of all, it is available right now, including as a complete system.Sam460ex

AmigaOne-X1000 (the Soon to be Released Power-House)

Currently in beta-testing, the AmigaOne-X1000 is the most powerful AmigaOS machine ever built. It is based around the PASemi dual-core PA6T-1682M. AmigaOS presently doesn't support multi-core operation, but support is planned. This machine provides plenty of power, especially for an OS as efficient as AmigaOS.AmigaOne-X1000

Where to buy

If you'd like to join in the fun, here is a list of dealers that sell AmigaOS hardware:

NOTE: This is not an exhaustive list. If you are an Amiga dealer who sells the hardware listed above, and are not on this list, please contact me.

Another frame from the RadeonHD_RM.resource proof-of-concept demo

Projects » Amiga OS 4 Projects » RadeonHD Driver » Almost There