Copyright (C) 2018-2025
KJ Liew <liewkj@yahoo.com>
qemu-0/hw/3dfx - Overlay for QEMU source tree to add 3Dfx Glide pass-through device model
qemu-1/hw/mesa - Overlay for QEMU source tree to add MESA GL pass-through device model
scripts/sign_commit - Script for stamping commit id
wrappers/3dfx - Glide wrappers for supported guest OS/environment (DOS/Windows/DJGPP/Linux)
wrappers/mesa - MESA GL wrapper for supported guest OS/environment (Windows)
00-qemu92x-mesa-glide.patch - Patch for QEMU version 9.2.x (MESA & Glide)
01-qemu82x-mesa-glide.patch - Patch for QEMU version 8.2.x (MESA & Glide)
02-qemu72x-mesa-glide.patch - Patch for QEMU version 7.2.x (MESA & Glide)
Witness, experience and share your thoughts on modern CPU/GPU prowess for retro Windows games on Apple Silicon macOS, modern Windows and Linux. Most games can be installed and played in pristine condition without the hassle of hunting down unofficial, fan-made patches to play them on modern Windows or Linux/Wine.
Following instructions are based on MSYS2/mingw-w64 BASH shell environment on modern Windows. It is meant to be simple and minor variations are inevitable due to different flavors of Linux distributions.
Simple guide to apply the patch:
(using 00-qemu92x-mesa-glide.patch)
$ mkdir ~/myqemu && cd ~/myqemu
$ git clone https://github.com/kjliew/qemu-3dfx.git
$ cd qemu-3dfx
$ wget https://download.qemu.org/qemu-9.2.2.tar.xz
$ tar xf qemu-9.2.2.tar.xz
$ cd qemu-9.2.2
$ rsync -r ../qemu-0/hw/3dfx ../qemu-1/hw/mesa ./hw/
$ patch -p0 -i ../00-qemu92x-mesa-glide.patch
$ bash ../scripts/sign_commit
$ mkdir ../build && cd ../build
$ ../qemu-9.2.2/configure && make
Requirements:
base-devel (make, sed, xxd etc.)
gendef, shasum
mingw32 cross toolchain (binutils, gcc, windres, dlltool) for WIN32 DLL wrappers
Open-Watcom-1.9/v2.0 or Watcom C/C++ 11.0 for DOS32 OVL wrapper
{i586,i686}-pc-msdosdjgpp cross toolchain (binutils, gcc, dxe3gen) for DJGPP DXE wrappers
$ cd ~/myqemu/qemu-3dfx/wrappers/3dfx $ mkdir build && cd build $ bash ../../../scripts/conf_wrapper $ make && make clean
$ cd ~/myqemu/qemu-3dfx/wrappers/mesa $ mkdir build && cd build $ bash ../../../scripts/conf_wrapper $ make && make clean
For Win9x/ME:
FXMEMMAP.VXD to C:\WINDOWS\SYSTEMGLIDE.DLL, GLIDE2X.DLL and GLIDE3X.DLL to C:\WINDOWS\SYSTEMGLIDE2X.OVL to C:\WINDOWSOPENGL32.DLL to Game Installation foldersFor Win2k/XP:
FXPTL.SYS to %SystemRoot%\system32\driversGLIDE.DLL, GLIDE2X.DLL and GLIDE3X.DLL to %SystemRoot%\system32INSTDRV.EXE, require Administrator PriviledgeOPENGL32.DLL to Game Installation foldersIf this project helps you relive the nostalgic memory of Good Old Windows Games, you can now donate in the course of supporting Games Preservation with QEMU. Your donation also motivates and encourages further research in making QEMU the ultimate platform for Retro Windows Games.
For $89.99 donation, you will deserve the following donor's privileges:
The purpose of the donation is for preserving retailed CD/DVD games in their originality. It may be used to purchase the game online or from local thrift shops. The donation is NOT the ticket for one to learn how to use QEMU Virtual Machine in general. Sometimes, it may be difficult to get virtualization acceleration working and that would result in serious degradation of game experience with QEMU. It is a willing donation pledge and non-refundable. Many classic Windows games also have re-releases from GOG/Steam that work on modern Windows and Linux. It can be an option to consider before making a donation.
Donations without leaving notes on Platform of Choice are regarded as upper-class donors who have no desire in exercising donor's privileges. A measure to avoid unneccessary spamming on emails. Donors are expected to proactively follow up the communication to exercise donor's privileges as wished. All donations are tracked in PayPal transaction history. Only "ONE" platform of choice per donation. Upgrades eligibility are limited to the SAME platform of choice.
The game election serves the purpose of allocating additional focus and resources to make them work. Sometimes, it means considerable efforts in researching, debugging and tracing the games to root cause the failures and come up with solutions. It is OPTIONAL to make game election upon donation. My YouTube channel has video demos of games which already worked and more may be showing up periodically. It is typically a safe assumption that games using the same engine (IdTech1/2/3, LithTech, Unreal etc.) would work, too. The N counts of eligibility would only be accounted once the game were made to work. If upgrades were neccessary, it would be a FREE upgrade for QEMU binary packages.
539 commits
C
99.3%
Copyright (C) 2018-2025
KJ Liew <liewkj@yahoo.com>
qemu-0/hw/3dfx - Overlay for QEMU source tree to add 3Dfx Glide pass-through device model
qemu-1/hw/mesa - Overlay for QEMU source tree to add MESA GL pass-through device model
scripts/sign_commit - Script for stamping commit id
wrappers/3dfx - Glide wrappers for supported guest OS/environment (DOS/Windows/DJGPP/Linux)
wrappers/mesa - MESA GL wrapper for supported guest OS/environment (Windows)
00-qemu92x-mesa-glide.patch - Patch for QEMU version 9.2.x (MESA & Glide)
01-qemu82x-mesa-glide.patch - Patch for QEMU version 8.2.x (MESA & Glide)
02-qemu72x-mesa-glide.patch - Patch for QEMU version 7.2.x (MESA & Glide)
Witness, experience and share your thoughts on modern CPU/GPU prowess for retro Windows games on Apple Silicon macOS, modern Windows and Linux. Most games can be installed and played in pristine condition without the hassle of hunting down unofficial, fan-made patches to play them on modern Windows or Linux/Wine.
Following instructions are based on MSYS2/mingw-w64 BASH shell environment on modern Windows. It is meant to be simple and minor variations are inevitable due to different flavors of Linux distributions.
Simple guide to apply the patch:
(using 00-qemu92x-mesa-glide.patch)
$ mkdir ~/myqemu && cd ~/myqemu
$ git clone https://github.com/kjliew/qemu-3dfx.git
$ cd qemu-3dfx
$ wget https://download.qemu.org/qemu-9.2.2.tar.xz
$ tar xf qemu-9.2.2.tar.xz
$ cd qemu-9.2.2
$ rsync -r ../qemu-0/hw/3dfx ../qemu-1/hw/mesa ./hw/
$ patch -p0 -i ../00-qemu92x-mesa-glide.patch
$ bash ../scripts/sign_commit
$ mkdir ../build && cd ../build
$ ../qemu-9.2.2/configure && make
Requirements:
base-devel (make, sed, xxd etc.)
gendef, shasum
mingw32 cross toolchain (binutils, gcc, windres, dlltool) for WIN32 DLL wrappers
Open-Watcom-1.9/v2.0 or Watcom C/C++ 11.0 for DOS32 OVL wrapper
{i586,i686}-pc-msdosdjgpp cross toolchain (binutils, gcc, dxe3gen) for DJGPP DXE wrappers
$ cd ~/myqemu/qemu-3dfx/wrappers/3dfx $ mkdir build && cd build $ bash ../../../scripts/conf_wrapper $ make && make clean
$ cd ~/myqemu/qemu-3dfx/wrappers/mesa $ mkdir build && cd build $ bash ../../../scripts/conf_wrapper $ make && make clean
For Win9x/ME:
FXMEMMAP.VXD to C:\WINDOWS\SYSTEMGLIDE.DLL, GLIDE2X.DLL and GLIDE3X.DLL to C:\WINDOWS\SYSTEMGLIDE2X.OVL to C:\WINDOWSOPENGL32.DLL to Game Installation foldersFor Win2k/XP:
FXPTL.SYS to %SystemRoot%\system32\driversGLIDE.DLL, GLIDE2X.DLL and GLIDE3X.DLL to %SystemRoot%\system32INSTDRV.EXE, require Administrator PriviledgeOPENGL32.DLL to Game Installation foldersIf this project helps you relive the nostalgic memory of Good Old Windows Games, you can now donate in the course of supporting Games Preservation with QEMU. Your donation also motivates and encourages further research in making QEMU the ultimate platform for Retro Windows Games.
For $89.99 donation, you will deserve the following donor's privileges:
The purpose of the donation is for preserving retailed CD/DVD games in their originality. It may be used to purchase the game online or from local thrift shops. The donation is NOT the ticket for one to learn how to use QEMU Virtual Machine in general. Sometimes, it may be difficult to get virtualization acceleration working and that would result in serious degradation of game experience with QEMU. It is a willing donation pledge and non-refundable. Many classic Windows games also have re-releases from GOG/Steam that work on modern Windows and Linux. It can be an option to consider before making a donation.
Donations without leaving notes on Platform of Choice are regarded as upper-class donors who have no desire in exercising donor's privileges. A measure to avoid unneccessary spamming on emails. Donors are expected to proactively follow up the communication to exercise donor's privileges as wished. All donations are tracked in PayPal transaction history. Only "ONE" platform of choice per donation. Upgrades eligibility are limited to the SAME platform of choice.
The game election serves the purpose of allocating additional focus and resources to make them work. Sometimes, it means considerable efforts in researching, debugging and tracing the games to root cause the failures and come up with solutions. It is OPTIONAL to make game election upon donation. My YouTube channel has video demos of games which already worked and more may be showing up periodically. It is typically a safe assumption that games using the same engine (IdTech1/2/3, LithTech, Unreal etc.) would work, too. The N counts of eligibility would only be accounted once the game were made to work. If upgrades were neccessary, it would be a FREE upgrade for QEMU binary packages.
539 commits
C
99.3%