News:

Consult the old Forum Archive for vintage discussions!

Main Menu

Releasing the Radeon 9250 PCI driver for OPENSTEP 4.2.

Started by onionmixer, Sep 29, 2026, 09:06 AM

Previous topic - Next topic

onionmixer

20260929_180114.jpg
20260929_180118.jpg
20260929_180120.jpg

https://github.com/onionmixer/openstep-radeon9250
https://github.com/onionmixer/openstep-mesa342
https://github.com/onionmixer/sdl2quake-openstep


Just a heads-up, this work was done with the assistance of AI.

Following the previous Matrox project, a package (.pkg) is also provided.

I haven't been able to test many other applications yet... but at least sdlquake (glquake) runs correctly.

Compared to the Matrox G450 PCI, there was plenty of usable VRAM, so I could proceed with the work with a lot less worry.

Of course! For those who don't intend to use separate 3D features, the driver works just fine on its own without installing Mesa or Quake. However, the Quake test was only performed at 1024x768/RGB32 with a 640x480 Quake window.

And just like the Matrox driver provided, it supports 256-level grayscale. You can feel that classic NeXT hardware vibe.

It took a little less than 3 weeks or so. Originally, I planned to stop at just making the G450, but strangely enough, just 3 days after finishing the G450 driver, the card's VGA died. So I had to hunt for another 3D-supported PCI card and build a VGA driver all over again. I'm hoping this one holds up and works well for a while... but who knows.. T.T

Rhetorica

Absolutely glorious! Making Quake usable on NeXT is very poetic, since development and even mapping happened on our beloved operating system. (We have the source for QuakeEd here. They hadn't even moved on to the OPENSTEP API yet.) Rhapsody did eventually get binaries for Quake 2 and Q3Test, but they were ported by OmniGroup. (I'm not clear on whether the Q2 binary supported Intel or not, it may have been PowerPC only.)

All of this is to say... if you send a screenshot to John Carmack or John Romero, they might be pleasantly surprised. :)
WARNING: preposterous time in Real Time Clock -- CHECK AND RESET THE DATE!

onionmixer

Quote from: Rhetorica on Sep 29, 2026, 03:29 PMAbsolutely glorious! Making Quake usable on NeXT is very poetic, since development and even mapping happened on our beloved operating system. (We have the source for QuakeEd here. They hadn't even moved on to the OPENSTEP API yet.) Rhapsody did eventually get binaries for Quake 2 and Q3Test, but they were ported by OmniGroup. (I'm not clear on whether the Q2 binary supported Intel or not, it may have been PowerPC only.)

All of this is to say... if you send a screenshot to John Carmack or John Romero, they might be pleasantly surprised. :)

https://github.com/onionmixer/openstep-matrox-remade

I've already posted this on the .org community, but... I've actually done a similar project before with the Matrox G450 PCI. I implemented OpenGL acceleration using Matrox's Warp. This new project is sort of an extension of that.

Back in the Rhapsody days, OS X had already started supporting OpenGL at the OS level. I also remember the news back then about the OmniGroup quickly porting Quake. However, OPENSTEP didn't provide a way to support OpenGL at the OS level, so when I rewrote the Matrox driver, I implemented it by mapping the VGA's VRAM directly to AppKit. The basic theory for this new Radeon driver is the same. (Though it's a secret that when I thought of this approach and presented it to AI, I actually got praised by the AI, haha)

OPENSTEP doesn't provide a display overlay at the OS level, and if I had tried to implement OpenGL purely through hardware overlays, I would have had to deal with a lot more headaches regarding how the OS handles keyboard and mouse input. Plus, windowed mode probably wouldn't have been feasible. I wanted to focus as much as possible on portability, which is why I ported SDL2 to OPENSTEP and used `sdquake` as a proof-of-concept for OpenGL on OPENSTEP.

I know that QuakeEd originally started on OPENSTEP, and making Quake *itself* run on OPENSTEP—rather than just Ed—was one of my long-held bucket list goals. Since I already pulled it off with the Matrox, the thrill is maybe just a tiny bit less this time around (smile), but thanks to the hardware performance, the Radeon 9250 PCI gets much better framerates :D

As a side note... a friend of mine posted a video of the Quake running on the Matrox setup on X and retweeted John Carmack, but judging by the lack of any reaction... I'm guessing Quake is just a distant memory to John Carmack by now :D


jade_nekotenshi

Now that's super-cool. Working 3d acceleration? That's a first AFAIK! I was under the impression that we mostly don't even have 2D acceleration because of how DPS works.

onionmixer

Quote from: jade_nekotenshi on Oct 01, 2026, 09:01 PMNow that's super-cool. Working 3d acceleration? That's a first AFAIK! I was under the impression that we mostly don't even have 2D acceleration because of how DPS works.

Yes, I did use Mesa and SDL2 (since I based the work on sdlquake), but hardware acceleration actually works.

And if you check out my GitHub repository, I've already uploaded a driver version that supports 3D acceleration for the G450 as well. Radeon took a bit of time, but the underlying theory for implementing 3D acceleration is pretty similar. :D

Ah... the sound in Quake stutters just a tiny bit. That seems to be a limitation of OPENSTEP's threading model... so pushing it any further proved pretty tough. For now, I've squeezed out as much sound optimization (using SDL2) as I possibly could with the help of AI.