Skip to content

kharovtobi/qemu-3dfx-arch

This branch is 62 commits ahead of, 2 commits behind kjliew/qemu-3dfx:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

84274a3 · Mar 15, 2025
Mar 15, 2025
Mar 2, 2025
Jan 18, 2025
Nov 17, 2024
Mar 14, 2025
Jan 21, 2025
Mar 4, 2025
Feb 16, 2025
Mar 2, 2025
Nov 1, 2024
Feb 16, 2025
Feb 20, 2025
Jan 11, 2025
Mar 14, 2025
Mar 11, 2025
Mar 4, 2025
Jan 18, 2025
Mar 4, 2025
Oct 22, 2019
Mar 15, 2025
Jan 26, 2025

Repository files navigation

QEMU MESA GL/3Dfx Glide Pass-Through

This is a fork of QEMU-3dfx for Arch Linux or any OS with pacman command and tries to add more documentation. (and binaries)

For more info. Refer to the original repo.

Content

bin/disks            - Floppy Disks to make installation better
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
qemu-exp             - Experimental Folders and deprecated files
MINGW-packages       - PKGBUILD Script for building the packages (Windows)
packages             - PKGBUILD Script for building the packages (Arch Linux)
scripts/sign_commit  - Script for stamping commit id
virgl3d              - VirGL with SDL2 EGL/OpenGL patches
wrappers/3dfx        - Glide wrappers for supported guest OS/environment (DOS/Windows/DJGPP/Linux)
wrappers/mesa        - MESA GL wrapper for supported guest OS/environment (Windows)

Patches

This repository includes patches from upstream and my patches that work on latest version.

My patches

00-qemu92x-mesa-glide.kht.patch - Patch for QEMU version 9.2.x (MESA & Glide) (deprecated)
01-qemu91x-mesa-glide.patch - Patch for QEMU version 9.1.x (MESA & Glide)

KJ Liew's patches

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)

QEMU Windows Guests Glide/OpenGL/Direct3D Acceleration

Witness, experience and share your thoughts on modern CPU/GPU prowess for retro Windows games on Apple Silicon macOS, Windows 10/11 and modern 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 Windows 10/later or modern Linux/Wine. And now it's updated for rolling release and added some tools and libraries i copied on the internet to make the experience better (as long i have free time).

Downloading QEMU

Download Stable Build Here

Includes released Standalone Windows Binaries,Wrappers,Addons and old PKGBUILD files

Download Github Actions Build Here

Includes latest commit Windows Binaries and Wrappers (requires a Github Account)

Building QEMU

There are two ways to build this repo. While this is repo is used for Arch Linux, It can also build on other OS like Windows 10 with MSYS2 too.

Convenience Way

This way is simple. Just download the PKGBUILD from GitHub. (Arch-Based distributions)

$ mkdir ~/myqemu && cd ~/myqemu
$ git clone https://github.com/kharovtobi/qemu-3dfx.git
$ cd qemu-3dfx/packages/qemu-3dfx
$ makepkg -si

Traditional Way

This way is basically the same, But less tedious and compiles only the essentials and installs to a folder making it much faster. (Any operating systems)

Simple guide to apply the patch:
(using 00-qemu92x-mesa-glide.patch)

$ mkdir ~/myqemu && cd ~/myqemu
$ git clone https://github.com/kharovtobi/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 --target-list=i386-softmmu --prefix=$(pwd)/../install_dir
$ make install 
  • This guide makes and installs binaries to install_dir
  • You can also patch any versions in 9.2.x
  • My patch is deprecated for the time being, do not use it.
  • All patch hunks must be successful in order for the binary to run properly or you may have BSOD when running Windows 98 for the first time and not work as intended.
  • This steps may be subject to change as there may be errors when compiling. refer to cflag.txt and add it to configure.

VirGL with SDL2 OpenGL Support

This way adds VirGL patches for the binary (Windows and MacOS)

  • Recommended for 8.2.x or 7.2.x only?
  • If you compile the binary using patched VirGL package without patching it first will have an error. (reference)

Building Guest Wrappers

Refer to Wrapper Readme for more info.

Installing Guest Wrappers

For Win9x/ME:

  • Copy FXMEMMAP.VXD to C:\WINDOWS\SYSTEM
  • Copy GLIDE.DLL, GLIDE2X.DLL and GLIDE3X.DLL to C:\WINDOWS\SYSTEM
  • Copy GLIDE2X.OVL to C:\WINDOWS
  • Copy OPENGL32.DLL to Game Installation folders

For Win2k/XP:

  • Copy FXPTL.SYS to %SystemRoot%\system32\drivers
  • Copy GLIDE.DLL, GLIDE2X.DLL and GLIDE3X.DLL to %SystemRoot%\system32
  • Run INSTDRV.EXE, require Administrator Priviledge
  • Copy OPENGL32.DLL to Game Installation folders

Credits

  • KJ Liew - For making QEMU-3dfx
  • JHRobotics - For making ICD support
  • cyanea-bt - For script reference used for build.yaml

About

MESA GL/3Dfx Glide pass-through for QEMU

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 98.7%
  • Other 1.3%