RayeR:
The haxm .inf file is in every package. However, it just gets used by the install.bat if there is a haxm-driver present in the package.
So HAXM-builds have the same directory structure, but also contain the custom haxm-driver from ntvdmx64 in the package that in turn gets loaded by a ntvdm.exe version that is compiled for haxm-support. So basically there are only 3 differences in the HAXM-packages:
- ntvdm.exe compiled with HAXM support
- Special IntelHaxm.sys driver (it WON'T work with the standard HAXM-driver, as this one is missing functions needed!)
- autoexec.bat that doesn't load DOSX.EXE (DPMI support)
So, yes, you need a recompiled version of NTVDM with HAXM-support, as it takes completely different codepaths than with the CCPU. Maybe some day there will be support for runtime CPU-switching, i.e. to use the CCPU for applications that do video I/O and the HAXM VT-x CPU for codepaths that don't have planar graphics I/O, but that may take a very long time to implement for a single developer.
Btw., regardign graphics, you can try to run QEMU with an installed DOS and an application that uses planar mode graphics like most DOS-games, and you will see that it also runs slow as hell due to the same problems (VGA emulation takes too many context switches). In my tests it performed even worse than NTVDMx64 with HAXM-support, so virtualization is not a solution imho.
If anybody here has an idea how to implement fast VGA emulation with VT-x support, I'd definitely be interested.
Recompiling it with HAXM-support isn't hard, there even is a video showing you how to compile it, so with a little effort, you can give it a try and check it our yourself.
Getting DPMI support working is a very hard task. It may be possible, but additional manpower would be needed, i.e. Interrupt hooking has to be implemented.
dosemu has an interesting approach for graphics and dpmi-problems. iirc, it just runs a virtual CPU in V86 mode and then basically lets doesmu operate like it would run on a x86 CPU in V86 mode. It also contains a CPU-emulator and switches between emulated and VT-x CPU for VGA emulation.
However all ntvdm V86 support is in Windows NT kernel, so all V86 stuff would need to be reeimplemented, so I'm not sure if this approach is usable for NTVDMx64.
Regading Quake: There are other reasons why it won't work that are given in the README.txt already. Given the slow VGA performance in VT-x mode, it's not even worth trying, you are better off with an emulated CPU here.
So currently the best setup may be:
- NTVDMx64 HAXM for commandline and textmode applications due to its good integration
- WineVDM for Win16 applications
- DosBox for Games