The 86Box project blog covers release notes and development of an emulator for IBM PC-compatible systems, including graphics card emulation.
HN commenters recommend 86Box for retro PC gaming, such as running Windows 98 with Voodoo cards, and as a more capable alternative to PCem.
Use https://86box.net/
There's a ton of hardware profiles embedded. I found my old XT PC which is not that common. Goes up to Pentium era.
It is not perfect tho. My XT has a Plantronics card which is a CGA+, with double memory granting few additional modes, but it's not emulated. There is some historical software targeting this graphics card, even some contemporary retro-indie games.
Remember that Windows 3.1 is a shell, not an operating system. You need to install DOS first.
https://winworldpc.com/product/windows-3/31
And your choice of DOS:
MS-DOS 6.22: https://winworldpc.com/product/ms-dos/622
or, PC-DOS 2000: https://winworldpc.com/product/pc-dos/2000
A good choice for early PC emulation is 86Box: https://86box.net
I'd prefer OpenRA [1] or X86box[2] / PCEm [3]. The latter can even emulate BIOS + 3DFX cards, if configured correctly.
There also is a video by LTT on how to use and configure it correctly: https://www.youtube.com/watch?v=mWEE2RJj3YI
1: https://www.openra.net/
2: https://86box.net/
3: https://www.pcem-emulator.co.uk/
This is great to take a quick look at some old piece of software, but if you want to get more involved, I would suggest something less constrained and more performant than a web app. I can't speak for other platforms, but https://86box.net/ seems to be the standard for old PC emulation on desktop OSes.
86box is also great, especially for retro PC gaming support. I can run Windows 98 with a Pentium 233 MMX and Voodoo3 on relatively modest hardware. (AMD 7840HS)
https://86box.net
86box is another alternative. Last I checked it was updated more frequently than PCem, but times may have changed.
https://86box.net/