VOGONS


First post, by ubertrout

User metadata
Rank Member
Rank
Member

I remember running a Matrox m3d years ago and always wanted to experience that again, but I got rid of that actual card pretty quickly. I'm now pleased to share a build of 86box which runs PowerSGL games pretty much perfectly: https://github.com/z2k-retro/86Box/releases/tag/pcx-v0.1

It emulates the card itself rather than wrapping the API. I know there are other projects to do that and this is meant as a seperate thing. The emulated m3D sits in an 86Box Windows 95/98 machine as a second card beside the 2D card, just like the real thing, and runs the real Matrox drivers. That means PowerSGL games, Direct3D games through the m3D’s driver, and the PowerVR ports of Quake and Quake II all work the same way they did in 1997.

Here's results comparing frames dumped from this build of 86box against the same frames rendered on the real card:

  • SGL demos (SGLTri, logo): exact
  • Moto Racer demo: 0–13 pixels
  • Shadows of the Empire: 0–5 pixels
  • Ultim@te Race: exact, including fog and mip-mapping
  • Quake (PowerVR) timedemo: exact
  • Quake II (PowerVR): 1 pixel
  • Unreal: 0–2 pixels
  • MDK: exact

Tomb Raider, Hexen II and Terracide also look right but I haven't done dumps yet.

Some quirks are the card’s own, and the emulation reproduces them. For example, Shadows of the Empire has issues but those same issues reproduce on the m3d on the dumped frames. That said, there's clearly still work to do.

The tools, renderer and a full technical reference are here: https://github.com/z2k-retro/powervr-pcx2-tools

That includes:

On speed: on a Core Ultra 7 270K, games are smooth, including Quake II. On my older i7-3960X which I used for most of the testing (due to the working PCI slot wired directly to the southbridge) speed is a problem and it's often more of a somewhat playable slideshow. The renderer runs on its own threads, so the main limit is 86Box’s CPU emulation, the same as with a Voodoo. I used a 450 Mhz Pentium 2 as my emulation choice since that's what the card would have actually thrived with. Unlike with a Voodoo the PowerVR cards needed a fast CPU, something which was somewhat contrary to their attempt to be a cheaper option in market segmentation.

This specifically emulates the Matrox m3d - other drivers may work but I wouldn't try. MechWarrior 2 still needs testing with the Windows 95 version. Generally speaking most of what I throw at it runs fine but this isn't a finished product yet.

In the interest of full disclosure: I wrote this with substantial help from Claude Opus 5.5 Medium. I did the hardware, the testing and the direction, and every result above was checked against the real card. The README says the same.

If you can:

Try games and report anything that looks wrong, with a screenshot and the 86Box log, on the tools repo’s issues page.
If you have an m3D or an Apocalypse 3Dx/5D, the tools can compare frames on your card in a few minutes. A second card, or a PCX1, would be especially useful.
If you have PATCH309.EXE, VideoLogic’s 1998 “Shadows of the Empire support” patch, I’d love to see what it changes.

I’ll keep updating the release as more games are checked.

Reply 1 of 5, by ubertrout

User metadata
Rank Member
Rank
Member

Checked a few more games: Mechwarrior 2 works perfectly, as does Moon Racer (a early demonstration of the card's ability to do colored lighting) and everything else I've tried this far. Only exception so far is POD, which crashes before loading into mission. Probably just need to use a different version of the game. Everything is checked by dumping frames during gameplay emulation and having the real m3d re-render the frames and then comparing.

Reply 2 of 5, by starlord

User metadata
Rank Newbie
Rank
Newbie

That looks great.

Speaking of Matrox, do you plan to add also impression plus support?

Reply 3 of 5, by ubertrout

User metadata
Rank Member
Rank
Member

I'm only planning on working on hardware I physically own and I don't _think_ I own one of those. If I can find a PCI one and documentation exists then I'm open to it.

This was honestly partially unlocked by just how much Impression/Videologic publicly released, including the driver source code and SDK. Combined with probing the card over PCI the rest was just detail. And of course AI filling in so many of the gaps. This wouldn't have been possible at all last year.

Reply 4 of 5, by ubertrout

User metadata
Rank Member
Rank
Member

Pushed out a couple of new releases and this is stable and fully usable without any obvious gaps in testing/compatibility. If you have a PowerSGL / PowerVR 1 game it should run in this as if you had a real card.

Current release: https://github.com/z2k-retro/86Box/releases/tag/pcx-v0.2.1

Games/Demos Tested

  • SGLTri (SDK demo)
  • SGL logo demo
  • PowerVR tech demo: mask and sphere
  • PowerVR tech demo: Stained Glass
  • X demo (non-interactive)
  • Winter Race 3D demo
  • MoonRacer
  • PureVex
  • MechWarrior 2 (PowerVR patch)
  • Flight Unlimited (Compaq OEM)
  • POD
  • World Cup 98
  • Tomb Raider demo
  • Sub Culture
  • Wipeout XL
  • GLQuake
  • Quake II
  • Moto Racer demo
  • Shadows of the Empire
  • Ultim@te Race
  • Unreal
  • MDK
  • Forsaken (demo)
  • Hexen II: Continents of Blackmarsh
  • Terracide Demo

Reply 5 of 5, by EF PC Vintage Planet

User metadata
Rank Newbie
Rank
Newbie
ubertrout wrote on 2026-10-19, 22:59:
I remember running a Matrox m3d years ago and always wanted to experience that again, but I got rid of that actual card pretty q […]
Show full quote

I remember running a Matrox m3d years ago and always wanted to experience that again, but I got rid of that actual card pretty quickly. I'm now pleased to share a build of 86box which runs PowerSGL games pretty much perfectly: https://github.com/z2k-retro/86Box/releases/tag/pcx-v0.1

It emulates the card itself rather than wrapping the API. I know there are other projects to do that and this is meant as a seperate thing. The emulated m3D sits in an 86Box Windows 95/98 machine as a second card beside the 2D card, just like the real thing, and runs the real Matrox drivers. That means PowerSGL games, Direct3D games through the m3D’s driver, and the PowerVR ports of Quake and Quake II all work the same way they did in 1997.

Here's results comparing frames dumped from this build of 86box against the same frames rendered on the real card:

  • SGL demos (SGLTri, logo): exact
  • Moto Racer demo: 0–13 pixels
  • Shadows of the Empire: 0–5 pixels
  • Ultim@te Race: exact, including fog and mip-mapping
  • Quake (PowerVR) timedemo: exact
  • Quake II (PowerVR): 1 pixel
  • Unreal: 0–2 pixels
  • MDK: exact

Tomb Raider, Hexen II and Terracide also look right but I haven't done dumps yet.

Some quirks are the card’s own, and the emulation reproduces them. For example, Shadows of the Empire has issues but those same issues reproduce on the m3d on the dumped frames. That said, there's clearly still work to do.

The tools, renderer and a full technical reference are here: https://github.com/z2k-retro/powervr-pcx2-tools

That includes:

On speed: on a Core Ultra 7 270K, games are smooth, including Quake II. On my older i7-3960X which I used for most of the testing (due to the working PCI slot wired directly to the southbridge) speed is a problem and it's often more of a somewhat playable slideshow. The renderer runs on its own threads, so the main limit is 86Box’s CPU emulation, the same as with a Voodoo. I used a 450 Mhz Pentium 2 as my emulation choice since that's what the card would have actually thrived with. Unlike with a Voodoo the PowerVR cards needed a fast CPU, something which was somewhat contrary to their attempt to be a cheaper option in market segmentation.

This specifically emulates the Matrox m3d - other drivers may work but I wouldn't try. MechWarrior 2 still needs testing with the Windows 95 version. Generally speaking most of what I throw at it runs fine but this isn't a finished product yet.

In the interest of full disclosure: I wrote this with substantial help from Claude Opus 5.5 Medium. I did the hardware, the testing and the direction, and every result above was checked against the real card. The README says the same.

If you can:

Try games and report anything that looks wrong, with a screenshot and the 86Box log, on the tools repo’s issues page.
If you have an m3D or an Apocalypse 3Dx/5D, the tools can compare frames on your card in a few minutes. A second card, or a PCX1, would be especially useful.
If you have PATCH309.EXE, VideoLogic’s 1998 “Shadows of the Empire support” patch, I’d love to see what it changes.

I’ll keep updating the release as more games are checked.

Hi everyone,

I'm not a developer or a technical expert, and I don't usually post on forums, but I am a huge retro-hardware enthusiast with a deep love for early 3D accelerators. I wanted to share my feedback regarding this build because I encountered a very specific issue while testing it.

My Host Specs: Ryzen 7 5800X3D (Host speed stays solid at 100% inside 86Box), 64 GB DDR4, RTX 3070TI.
My Guest Setup: Socket 7, ASUS TX97 (i430TX), Pentium 166 MMX, Matrox Mystique (PCI) + Matrox m3D. OS: tested on both Windows 95c and pure MS-DOS mode.

The Issue:
I'm testing Tomb Raider 1 (using the DOS PowerSGL patch / tomb_pvr.exe) and the game runs in extreme slow-motion, as if Lara is moving through thick syrup. However, here is the paradox:
* The internal 86Box speed counter is solid at 100%.
* The game benchmark/FPS counter reports a rock-solid 30 FPS.
* Curiously, heavier titles like Quake II or Unreal do not suffer from this slow-motion issue and run at a more accettable game speed.

I tried tweaking PIT modes (Automatic vs Slow), changing the guest CPU (from a Pentium 75 up to a Pentium II 450 on an ASUS P3B-F), changing CPU block sizes, and launching with "-novsync", but the slow-motion persists exclusively on Tomb Raider, Quake, Turok etc..

Regarding the Host Renderer: it was originally set to "Qt Software". I tried switching to Vulkan, but 86Box threw an error saying "Renderer not found, shaders will not be available". I then switched to OpenGL and restarted 86Box completely; the emulator successfully retained the OpenGL renderer, but unfortunately, the slow-motion in Tomb Raider and quake powersgl remained exactly the same.

As a reference group, I emulated the exact same machine setup but replaced the m3D with a 3dfx Voodoo 1 (using Glide/Mystique patches), and everything runs beautifully at the correct speed. It feels like the PowerVR rendering thread is somehow decoupling from the guest CPU ticks on lighter PowerSGL titles that cap at stable frame rates.

Since you mentioned successful tests, do you have any config suggestions or specific SGL environment variables to fix this frame-pacing mismatch?

Thank you so much for this build, it's amazing to see the m3D being emulated!