kjliew / qemu-3dfx

MESA GL/3Dfx Glide pass-through for QEMU
GNU General Public License v2.0
401 stars 55 forks source link

How do I build FXMEMMAP.VXD, FXPTL.SYS, INSTDRV.EXE, etc.? #36

Closed camthesaxman closed 2 years ago

camthesaxman commented 2 years ago

The "Installing Guest Wrappers" section of the README mentions a few driver files (.VXD and .SYS). However, the build system does not build those, only the .dll wrappers. How do I build or otherwise obtain those missing files?

kjliew commented 2 years ago

However, the build system does not build those, only the .dll wrappers.

No, the DLL wrappers build does include everything. Check out the full build log below, especially the last 3 lines.

$ bash ../../../scripts/conf_wrapper
checking for make... /usr/bin/make
checking for sed... /usr/bin/sed
checking for xxd... /usr/bin/xxd
checking for pexports... /mingw32/bin/pexports
checking for shasum... /usr/bin/core_perl/shasum
checking for git... /usr/bin/git
  MSYSTEM=MINGW32
  Target: i686-w64-mingw32
-- DOS32 OVL not supported --
-- DJGPP DXE not supported --
conf_wrapper: creating Makefile

$ make && make clean
  CC  fxhook.o fxlib9x.o fxlibnt.o
  CC  gl211dll.o
  CFLAGS  -I../../../qemu-0/hw/3dfx -I../../fxlib -D__REV__="3c3bb2e-" -Wall -Werror -msse2 -O3 -flto -fomit-frame-pointer
  LDFLAGS -static-libgcc -Wl,--disable-auto-image-base,--no-seh,--dynamicbase,--nxcompat
  RC  glide_res.o
  LD  glide.dll
  CC  glidedll.o
  CFLAGS  -I../../../qemu-0/hw/3dfx -I../../fxlib -D__REV__="3c3bb2e-" -Wall -Werror -msse2 -O3 -flto -fomit-frame-pointer
  LDFLAGS -static-libgcc -Wl,--disable-auto-image-base,--no-seh,--dynamicbase,--nxcompat
  RC  glide2x_res.o
  LD  glide2x.dll
  CC  gl301dll.o
  CFLAGS  -I../../../qemu-0/hw/3dfx -I../../fxlib -D__REV__="3c3bb2e-" -Wall -Werror -msse2 -O3 -flto -fomit-frame-pointer
  LDFLAGS -static-libgcc -Wl,--disable-auto-image-base,--no-seh,--dynamicbase,--nxcompat
  RC  glide3x_res.o
  LD  glide3x.dll
make[1]: Entering directory '.../qemu-3dfx/wrappers/3dfx/drv'
  LD  instdrv.exe
  DRV fxmemmap.vxd
  DRV fxptl.sys
make[1]: Leaving directory '.../qemu-3dfx/wrappers/3dfx/drv'
daerlnaxe commented 2 years ago

Look if you show "all files" in folder options if you run compilation from windows.

l-zhang-1983 commented 1 year ago

Hi, @kjliew!

Appreciating for the great job!

I have successfully built QEMU-7.2.6 with your patch from source code.

But, when building guest wrapper in WSL2 Ubuntu 22.04 version, I got the following errors

image

What is the best compiling environment, what about native Ubuntu 22.04, not WSL2?

kjliew commented 1 year ago

I built the wrappers on Windows 11 native with MSYS2/mingw-w64-i686 toolchain that provides the latest GCC. Anyway, I will take a look at the syntax error to enable Ubuntu/Debian cross-build.

l-zhang-1983 commented 1 year ago

I built the wrappers on Windows 11 native with MSYS2/mingw-w64-i686 toolchain that provides the latest GCC. Anyway, I will take a look at the syntax error to enable Ubuntu/Debian cross-build.

That sounds great! Just waiting for your new patch.