Difference between revisions of "Windows 2000/XP/Vista emulators"

From Emulation General Wiki
Jump to navigation Jump to search
m (Hypervisors)
(Summary)
 
(47 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
Playing games released for these platforms on a modern system can be quite easy as programs can be run on latest Windows without sacrifices due to backwards compability.<ref>https://support.microsoft.com/en-us/windows/make-older-apps-or-programs-compatible-with-windows-783d6dd7-b439-bdb0-0490-54eea0f45938</ref> However this '''may''' change in the near future due to dropping 16 and 32-bit support from processors.<ref>[https://www.youtube.com/watch?v=D2FpXimj1oA René Rebe: Intel finally to remove 16-bit REAL MODE and some 32b RINGS]</ref><ref>[[Wikipedia:X86#From_16-bit_and_32-bit_to_64-bit_architecture|In 2023, Intel proposed a major change to the architecture referred to as x86-S (with S standing for "simplification"), which aims to remove support for legacy execution modes and instructions]]</ref>
 
Playing games released for these platforms on a modern system can be quite easy as programs can be run on latest Windows without sacrifices due to backwards compability.<ref>https://support.microsoft.com/en-us/windows/make-older-apps-or-programs-compatible-with-windows-783d6dd7-b439-bdb0-0490-54eea0f45938</ref> However this '''may''' change in the near future due to dropping 16 and 32-bit support from processors.<ref>[https://www.youtube.com/watch?v=D2FpXimj1oA René Rebe: Intel finally to remove 16-bit REAL MODE and some 32b RINGS]</ref><ref>[[Wikipedia:X86#From_16-bit_and_32-bit_to_64-bit_architecture|In 2023, Intel proposed a major change to the architecture referred to as x86-S (with S standing for "simplification"), which aims to remove support for legacy execution modes and instructions]]</ref>
  
If you are trying to get Windows 2000, XP or Vista software working on a modern system, you should only be using this page as a last resort and would be better suited to read the [https://www.pcgamingwiki.com PC Gaming Wiki], which likely already has information on the game you want. If you don't have the operating system you want, you can download it from [https://winworldpc.com/library/operating-systems WinWorldPC], and if you don't have the game you want or it's not available on the platforms like [https://store.steampowered.com/ Steam] or [https://www.gog.com/ GOG]; you can try downloading it from [https://www.myabandonware.com/ My Abandonware].
+
If you are trying to get Windows 2000, XP or Vista software working on a modern system, you should only be using this page as a last resort and would be better suited to read the [https://www.pcgamingwiki.com PCGamingWiki], which likely already has information on the game you want. If you don't have the operating system you want, you can download it from [https://winworldpc.com/library/operating-systems WinWorldPC], and if you don't have the game you want or it's not available on the platforms like [https://store.steampowered.com/ Steam] or [https://www.gog.com/ GOG]; you can try downloading it from [https://www.myabandonware.com/ My Abandonware].
  
 
==[[Wrappers]]==
 
==[[Wrappers]]==
Line 16: Line 16:
 
Most viable way to get Windows 2000, XP or Vista software running on modern system is to run the operating system in a [[Wikipedia:X86_virtualization#Hardware-assisted_virtualization|hardware-assisted]] virtual machine at the moment. This requires you to know how to manually install a Windows NT-family operating system on a computer. If you do decide to install these legacy operating systems in a virtual machine, you will need to install [[Hypervisors#Integrations|integrations]] (e.g., VMware Tools) for features like 3D acceleration, mouse integration and shared folders etc.
 
Most viable way to get Windows 2000, XP or Vista software running on modern system is to run the operating system in a [[Wikipedia:X86_virtualization#Hardware-assisted_virtualization|hardware-assisted]] virtual machine at the moment. This requires you to know how to manually install a Windows NT-family operating system on a computer. If you do decide to install these legacy operating systems in a virtual machine, you will need to install [[Hypervisors#Integrations|integrations]] (e.g., VMware Tools) for features like 3D acceleration, mouse integration and shared folders etc.
  
:VMWare Tools supports Windows 95 through Windows 10 but [https://kb.vmware.com/s/article/81466 VMware Tools 10.0.12 will be the last version to support <abbr title="Windows 2000, Windows XP, and Windows Server 2003">legacy Guest Operating Systems</abbr>] although you can still [https://kb.vmware.com/s/article/1014294 use latest VMware version with VMware Tools 10.0.12 for SVGA3D 3D acceleration], VMware will automatically installs it to guest operating system for you.
+
:VMWare Tools supports Windows 95 through Windows 10 but [https://kb.vmware.com/s/article/81466 VMware Tools 10.0.12 will be the last version to support <abbr title="Windows 2000, Windows XP, and Windows Server 2003">legacy Guest Operating Systems</abbr>] although you can still [https://kb.vmware.com/s/article/1014294 use latest VMware version with VMware Tools 10.0.12], VMware will automatically installs it to guest operating system for you.
  
:VirtualBox on the other hand; does not include 3D acceleration for Windows XP/Vista guest systems with recent versions due to VBoxVGA deprecate<ref>[https://forums.virtualbox.org/viewtopic.php?t=96010 changes in VirtualBox's 3D acceleration system]</ref>, so you must use [https://www.virtualbox.org/wiki/Download_Old_Builds VirtualBox 6.0.24 version or earlier] to use 3D acceleration in a Windows 2000, XP or Vista guest operating system.
+
:VirtualBox; supports integrations but does not include 3D acceleration for legacy operating systems anymore with recent versions due to VBoxVGA deprecate<ref>[https://forums.virtualbox.org/viewtopic.php?t=96010 changes in VirtualBox's 3D acceleration system]</ref>, so you must use [https://www.virtualbox.org/wiki/Download_Old_Builds VirtualBox 6.0.24 version or earlier] to use 3D acceleration in a Windows 2000, XP or Vista guest operating system.
  
'''Also there was a major change in VMware 16.x in how virtual graphics were handled (sandboxed) and it also added support for DX11 in Windows VMs. But due to these changes users reported lots of crashes (ISBRendererComm error) lately especially with "3D Acceleration". Although some users report that it's fixed with [https://docs.vmware.com/en/VMware-Workstation-Player/17.5/rn/vmware-workstation-175-player-release-notes/index.html#Resolved%20Issues-Security%20Issues 17.5 version], crash still occurs with WinXP guest OS; so use [https://customerconnect.vmware.com/en/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/15_0 15.7 version] until it's fixed.''' See [[Hypervisors#ISBRendererComm_error_with_3D_Acceleration|this section]] for more information about this problem.
+
Although newer [[Hypervisors#Hypervisor_issues|VMware releases has major issues]] with legacy guest operating system nowadays;
 +
*VMware [[Hypervisors#Sound_issues|sound issues]]
 +
*Major changes in [https://docs.vmware.com/en/VMware-Workstation-Player/16/rn/VMware-Workstation-16-Player-Release-Notes.html VMware 16.x in how virtual graphics were handled] (sandboxed) and added support for DX11 in Windows VMs. But due to these changes users reported lots of crashes ([[Hypervisors#ISBRendererComm_error_with_3D_Acceleration|ISBRendererComm error]]) lately especially with "3D Acceleration". Although some users report that it's fixed with [https://docs.vmware.com/en/VMware-Workstation-Player/17.5/rn/vmware-workstation-175-player-release-notes/index.html#Resolved%20Issues-Security%20Issues 17.5 version], crash still occurs with WinXP guest OS; so use [https://customerconnect.vmware.com/en/downloads/info/slug/desktop_end_user_computing/vmware_workstation_player/15_0 15.7] or older version until it's fixed.
  
 
====[[Hypervisors#Type_2_hypervisors|Type 2 Hypervisors]]====
 
====[[Hypervisors#Type_2_hypervisors|Type 2 Hypervisors]]====
Line 27: Line 29:
 
! scope="col"|Operating System(s)
 
! scope="col"|Operating System(s)
 
! scope="col"|Virtual GPU Adapter
 
! scope="col"|Virtual GPU Adapter
 +
! scope="col"|Compatibility
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 +
! scope="col"|Active<abbr title="Virtual GPU Adapter">*</abbr>
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|-
! colspan="5"|PC / x86
+
! colspan="7"|PC / x86
 +
|-
 +
|[https://www.parallels.com/ Parallels Desktop]
 +
|align=left|{{Icon|macOS}}
 +
|Parallels Video Adapter<ref>[https://youtu.be/iWRuSO39LdU?t=2135 lactobacillusprime's video about "Parallels Desktop"]</ref>
 +
|?
 +
|{{✗}}
 +
|{{?}}
 +
|{{~}}
 
|-
 
|-
 
|[[VMware Workstation]]
 
|[[VMware Workstation]]
 
|align=left|{{Icon|Windows|Linux}}
 
|align=left|{{Icon|Windows|Linux}}
 
|SVGA3D
 
|SVGA3D
 +
|[https://communities.vmware.com/t5/VMware-Fusion-Documents/3D-Applications-Compatibility-List/ta-p/2785485 ?]
 
|{{✗}}
 
|{{✗}}
|{{✓}}
 
|-
 
|[https://www.parallels.com/ Parallels Desktop]
 
|align=left|{{Icon|macOS}}
 
|Parallels Video Adapter<ref>[https://youtu.be/iWRuSO39LdU?t=2135 lactobacillusprime's video about "Parallels Desktop"]</ref>
 
 
|{{✗}}
 
|{{✗}}
|{{}}
+
|{{~}}
 
|-
 
|-
 
|[[VirtualBox]]
 
|[[VirtualBox]]
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD|Solaris}}
 
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD|Solaris}}
 
|VBoxVGA
 
|VBoxVGA
 +
|[https://forums.virtualbox.org/viewtopic.php?f=2&t=2525 ?]
 
|{{✓}}
 
|{{✓}}
 +
|{{✗}}
 
|{{~}}
 
|{{~}}
 
|}
 
|}
  
  3D acceleration in hypervisors is capable of running fairly demanding video games or other 3D applications with a few drawbacks such as limited DirectX API versions. Every hypervisor has a different approach to handling 3D graphics. [[Hypervisors#Graphics|Supports for OpenGL are slightly better than Direct3D]] since it doesn't have to be reverse engineered, but most Windows games (including ports) use Direct3D. You can use [[Wrappers#90.27s_APIs|wrappers]] like "WineD3D for Windows" or "DxWnd" for translate D3D calls to OpenGL on the guest OS for increasing your chance if games uncompatible with virtual GPU adapter. DxWnd 2.05.70, WineD3D 1.7.52 or 1.9.7-staging(partially) versions are the latest compatible versions with Windows XP (if [https://github.com/Skulltrail192/One-Core-API-Binaries OneCoreAPI] is '''not''' installed to OS), for getting these old "WineD3D for Windows" builds use [https://www.vogonsdrivers.com/wrappers/files/DirectX/OpenGL/WineD3D/2000+/ this link]<br/>
+
;Comparison
 +
*3D acceleration in hypervisors is capable of running fairly demanding video games or other 3D applications with a few drawbacks such as limited DirectX API versions. Every hypervisor has a different approach to handling 3D graphics resulting VirtualBox [[Hypervisors#Graphics|supports for OpenGL are slightly better than Direct3D]] (since it doesn't have to be reverse engineered), on the other hand VMware has better support for D3D9. Keep in mind that most Windows games (including ports) use Direct3D.  
 +
*You can use [[Wrappers#90.27s_APIs|wrappers]] like "WineD3D for Windows" or "DxWnd" for translate D3D calls to OpenGL on the legacy operating system for increasing your chance if games uncompatible with virtual GPU adapter. Also you can use [[Wrappers|d3d8to9]] since VMware's Direct3D 8 acceleration has graphical and/or performance issues.
 +
*Also you can use [https://github.com/JHRobotics/softgpu?tab=readme-ov-file#feature-support softgpu] drivers for Win9x operating systems, but [https://github.com/JHRobotics/softgpu/issues/12 it isn't compatible with Windows XP at the moment].
 +
*DxWnd 2.05.70, WineD3D 1.7.52 or 1.9.7-staging(partially) versions are the latest compatible versions with Windows XP (if [https://github.com/Skulltrail192/One-Core-API-Binaries OneCoreAPI] is '''not''' installed to OS), for getting these old "WineD3D for Windows" builds use [https://www.vogonsdrivers.com/wrappers/files/DirectX/OpenGL/WineD3D/2000+/ this link]
 +
 
 +
'''Note:''' Using [https://kb.vmware.com/s/article/2057914 VMware-KVM]([https://blogs.vmware.com/workstation/2014/03/whats-cool-vmware-kvm-utility.html 2]) or [https://kb.vmware.com/s/article/1018809 RDP] instead of VMware built-in display is recommended for smoother experience, this shouldn't be confused with [https://linux-kvm.org/page/Main_Page KVM] (Kernel-based Virtual Machine).
  
 
====[[Hypervisors#Type_1_hypervisors|<abbr title="Because of KVM or WHPX">Type 1 Hypervisors</abbr>]]====
 
====[[Hypervisors#Type_1_hypervisors|<abbr title="Because of KVM or WHPX">Type 1 Hypervisors</abbr>]]====
Line 58: Line 74:
 
! scope="col"|Operating System(s)
 
! scope="col"|Operating System(s)
 
! scope="col"|Virtual GPU Adapter
 
! scope="col"|Virtual GPU Adapter
 +
! scope="col"|Compatibility
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 
! scope="col"|<abbr title="Free/Libre and Open-Source Software">FLOSS</abbr>
 +
! scope="col"|Active
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
! scope="col"|[[Recommended Emulators|Recommended]]
 
|-
 
|-
! colspan="5"|PC / x86
+
! colspan="7"|PC / x86
 
|-
 
|-
 
|[[QEMU]]+'''KVM'''
 
|[[QEMU]]+'''KVM'''
 
|align=left|{{Icon|Linux}}
 
|align=left|{{Icon|Linux}}
 
|GPU-Passthrough
 
|GPU-Passthrough
 +
|
 +
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✓}}
Line 72: Line 92:
 
|align=left|{{Icon|Linux}}
 
|align=left|{{Icon|Linux}}
 
|MESA GL/3Dfx Glide Pass-Through [https://github.com/kjliew/qemu-3dfx#donation ($)]
 
|MESA GL/3Dfx Glide Pass-Through [https://github.com/kjliew/qemu-3dfx#donation ($)]
 +
|?
 
|
 
|
 +
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|-
 
|-
Line 78: Line 100:
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
 
|MESA GL/3Dfx Glide Pass-Through [https://github.com/kjliew/qemu-3dfx#donation ($)]
 
|MESA GL/3Dfx Glide Pass-Through [https://github.com/kjliew/qemu-3dfx#donation ($)]
 +
|?
 
|
 
|
 +
|{{✓}}
 
|{{~}}
 
|{{~}}
 
|-
 
|-
Line 84: Line 108:
 
|align=left|{{Icon|Linux}}
 
|align=left|{{Icon|Linux}}
 
|[https://docs.mesa3d.org/drivers/virgl.html VirGL]
 
|[https://docs.mesa3d.org/drivers/virgl.html VirGL]
 +
|N/A
 +
|{{✓}}
 
|{{✓}}
 
|{{✓}}
 
|{{✗}}
 
|{{✗}}
Line 90: Line 116:
 
|align=left|{{Icon|Windows}}<ref>[https://github.com/matthias-prangl/qemu-virgl-winhost Repository to help build qemu with virgl support for windows hosts].</ref>
 
|align=left|{{Icon|Windows}}<ref>[https://github.com/matthias-prangl/qemu-virgl-winhost Repository to help build qemu with virgl support for windows hosts].</ref>
 
|[https://docs.mesa3d.org/drivers/virgl.html VirGL]
 
|[https://docs.mesa3d.org/drivers/virgl.html VirGL]
 +
|N/A
 
|
 
|
 +
|{{✓}}
 
|{{✗}}
 
|{{✗}}
 
|-
 
|-
 
|Hyper-V <ref>[https://learn.microsoft.com/en-us/answers/questions/431362/confusion-related-to-type-1-or-type-2-for-hyper-v Windows hyper-v is a type one hypervisor].<br/>[https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization Run Hyper-V in a Virtual Machine with Nested Virtualization]</ref>
 
|Hyper-V <ref>[https://learn.microsoft.com/en-us/answers/questions/431362/confusion-related-to-type-1-or-type-2-for-hyper-v Windows hyper-v is a type one hypervisor].<br/>[https://learn.microsoft.com/en-us/virtualization/hyper-v-on-windows/user-guide/nested-virtualization Run Hyper-V in a Virtual Machine with Nested Virtualization]</ref>
 
|align=left|{{Icon|Windows}}
 
|align=left|{{Icon|Windows}}
|[https://github.com/jamesstringerparsec/Easy-GPU-PV#prerequisites GPU-P]
+
|[https://github.com/jamesstringerparsec/Easy-GPU-PV#prerequisites GPU-Passthrough]
 +
|N/A
 
|
 
|
 +
|{{✓}}
 
|{{✗}}
 
|{{✗}}
 
|}
 
|}
  
  You need XP compatible GPU Drivers for GPU-Passthrough, latest supported GPU and GPU drivers from AMD; its 200 series and from nVidia; its 900 series. For more information about this you can [https://techpowerup.com/forums/threads/newest-graphics-card-that-supports-windows-xp.256433/ use this link].
+
;Comparison
 +
Before diving in, using WHPX for hardware acceleration on Windows host [https://www.youtube.com/watch?v=T43ni7mssww&lc=Ugw2qKkJVn3eSW7ZJ0p4AaABAg.9g4VM28d9_o9kUveV6vMMD will be slower performance wise compared to using QEMU with Linux host and KVM]. You will have to stay with QEMU TCG entirely until you manually switched to 'ACPI PC' kernel. The starting 'ACPI Uniprocessor' kernel does not boot on QEMU WHPX.
  
  QEMU-3dfx's advantage is "MESAGL/3Dfx Glide pass-through". The project took on the troubles to support the legacy of vendor-specific OpenGL extensions that matter for PC games. Past and existing solutions (VirtualBox VBoxVGA's ChromiumGL, VMware SVGA3D and QEMU Virgil 3D) are all based on API "re-rendering" rather then "direct forwarding".<ref>[https://github.com/joncampbell123/dosbox-x/issues/3405#issuecomment-1328235348 javispedro's comment about Virtual GPU adapters]<br/>[https://www.youtube.com/watch?v=TsszZ260o2g KJ Liew's "QEMU Star Wars: Knights of the Old Republic (2003) -- Tribute to NVIDIA OpenGL" video description]</ref>
+
*;QEMU with GPU-Passthrough
 +
:You need XP compatible GPU Drivers for this, latest supported GPU and GPU drivers from AMD; its 200 series and from nVidia; its 900 series. For more information about this you can [https://techpowerup.com/forums/threads/newest-graphics-card-that-supports-windows-xp.256433/ use this link]. See [https://www.youtube.com/watch?v=roDayhayu08 this video] for QEMU+KVM GPU passthrough guide using Windows XP VMs.
  
  With Windows host and "QEMU + WHPX" [https://www.youtube.com/watch?v=T43ni7mssww&lc=Ugw2qKkJVn3eSW7ZJ0p4AaABAg.9g4VM28d9_o9kUveV6vMMD  it will be much slower performance wise compared to Linux host and QEMU + KVM]. You will have to stay with QEMU TCG entirely until you manually switched to 'ACPI PC' kernel. The starting 'ACPI Uniprocessor' kernel does not boot on QEMU WHPX.
+
*;QEMU-3dfx
 +
:qemu-3dfx builds advantage is "MESAGL/3Dfx Glide pass-through". The project took on the troubles to support the legacy of vendor-specific OpenGL extensions that matter for PC games. Past and existing solutions (VirtualBox VBoxVGA's ChromiumGL, VMware SVGA3D and QEMU Virgil 3D) are all based on API "re-rendering" rather then "direct forwarding".<ref>[https://github.com/joncampbell123/dosbox-x/issues/3405#issuecomment-1328235348 javispedro's comment about Virtual GPU adapters]</ref><ref>[https://www.youtube.com/watch?v=TsszZ260o2g KJ Liew's "QEMU Star Wars: Knights of the Old Republic (2003) -- Tribute to NVIDIA OpenGL" video description]</ref>See [https://github.com/kjliew/qemu-3dfx/wiki/QEMU-3D-APIs-Pass-Through QEMU 3dfx wiki: 3D APIs Pass-Through] and [https://www.youtube.com/@qemu-3dfx/videos KJ Liew's YouTube channel] for more information about qemu-3dfx.
  
  QEMU VirGL '''only for Linux guests''' [https://wiki.archlinux.org/title/QEMU#virtio "with 4.4=> kernel with mesa (>=11.2) compiled with the option gallium-drivers=virgl"] at the moment. Plans are to target GL2.1 + GLSL 1.20 as the possible lowest GL interface to support. The guest would then expose the same level of GL. This project will [https://docs.mesa3d.org/drivers/virgl.html#future-scope eventually support Direct3D and Windows guest] but there is none at the moment. Currently the renderer is GLSL 1.30 based, and requires some extensions from later GL levels. Current developer only really tested on the open source nouveau driver exposing GL3.0/GL3.1 core profile, and the binary nvidia driver exposing GL 4.3. Future plans to add a capabilities system will be required to work make things work across more systems. The capabilities system will expose different guest GL levels dependant on the host GL level, this could allow for a GLES2 specific interface etc. The current guest driver exposes GL2.1 and GLSL 1.20. For more information about VirGL3D [https://virgil3d.github.io/questions.html use this link].
+
*;QEMU VirGL
 +
:VirGL virtual adapter only supports Linux guests at the moment [https://wiki.archlinux.org/title/QEMU#virtio (Specifically needs 4.4+ Linux kernel with mesa 11.2+ compiled with the "gallium-drivers=virgl" command option]. Plans are to target "GL2.1 + GLSL 1.20" as the possible lowest GL interface to support. The guest would then expose the same level of GL. This project will [https://docs.mesa3d.org/drivers/virgl.html#future-scope eventually support Direct3D and Windows guest] but there is none at the moment. Currently the renderer is GLSL 1.30 based, and requires some extensions from later GL levels. Current developer only really tested on the open source nouveau driver exposing GL3.0/GL3.1 core profile, and the binary nvidia driver exposing GL 4.3. Future plans to add a capabilities system will be required to work make things work across more systems. The capabilities system will expose different guest GL levels dependant on the host GL level, this could allow for a GLES2 specific interface etc. The current guest driver exposes GL2.1 and GLSL 1.20. Also there is a [https://github.com/virtio-win/kvm-guest-drivers-windows/pull/943 pull request: Windows Virtio GPU 3D acceleration for QEMU]. For more information about VirGL3D [https://virgil3d.github.io/questions.html use this link].
  
  [https://github.com/jamesstringerparsec/Easy-GPU-PV#prerequisites "Hyper-V + GPU-P" exclusive to Windows 10/11 host and guest systems at the moment]. So you don't have any option other than "QEMU-3dfx with WHPX" OR "Type 2 hypervisors" for current Windows hosts at the moment.
+
*;Hyper-V with GPU-Passthrough
 +
:[https://github.com/jamesstringerparsec/Easy-GPU-PV#prerequisites Hyper-V + GPU-Passthrough currently exclusive to Windows 10/11 host and guest systems at the moment].
  
;Videos;<br/>
+
====Summary====
[https://www.youtube.com/watch?v=roDayhayu08 QEMU+KVM with GPU passthrough guide for Windows XP VMs]<br/>
+
You don't have any other option except "QEMU-3dfx with WHPX" OR "Type 2 hypervisors" for current Windows hosts at the moment.
[https://www.youtube.com/watch?v=T43ni7mssww KJ Liew's QEMU-3dfx ($) Windows XP SP3 Retro Gaming VM From Scratch to 3D Acceleration in 15 mins]
 
  
;Compatibility pages;<br/>
+
==[[POS_(Pong_Consoles)_CPUs_and_Other_Chips#x86_CPUs|Software emulators]]==
[https://docs.google.com/spreadsheets/d/1QeOs6W6rMrQnpjJEvk-0MoIORVUcPw8XPWJUiWUbhdw/edit?usp=sharing Virtual GPU adapter compatibility sheet for WinXP (only partially translated via GT)]<br/>
 
[https://forums.virtualbox.org/viewtopic.php?f=2&t=2525 Working games under VirtualBox (Linux host - Windows guest)]<br/>
 
[https://communities.vmware.com/t5/VMware-Fusion-Documents/3D-Applications-Compatibility-List/ta-p/2785485 SVGA3D (VMWare) - 3D Applications Compatibility List]<br/>
 
[https://appdb.winehq.org/index.php WineHQ appdb (useful for "WineD3D for Windows" wrapper)]
 
 
 
==[[POS_(Pong_Consoles)_CPUs_and_Other_Chips#x86_CPUs|Hardware emulation]]==
 
 
[[File:86Box and Windows XP.png|thumb|298px|86Box and Windows XP]]
 
[[File:86Box and Windows XP.png|thumb|298px|86Box and Windows XP]]
These are emulators in the truest sense, in that they don't do any kind of cheating the way a hypervisor would. But keep in mind unlike [[Wikipedia:X86_virtualization#Hardware-assisted_virtualization|hardware-assisted]] [[Hypervisors]]; emulating something like Voodoo3 with Pentium II with these emulators requires top-notch [https://www.cpubenchmark.net/singleThread.html single thread performance of CPU]. [[PCem]], [[86Box]] and [[PCBox]] are full retro x86 computer emulators, spanning from the original IBM 5150 to Pentium III PCs. Setting it up is much like building an actual retro computer, but in software, so expect it to be as difficult as setting up an actual retro PC. This means you're going to have to install Windows 2000/XP (Vista is supported by them but unrecommended) along with all necessary drivers for the hardware you chose. This is also a great option if you want most accurate and compatible option for 3DFX Voodoo emulation and [https://www.vogons.org/viewtopic.php?t=534 Windows 2000/XP glide games].
+
:''[https://www.vogons.org/viewtopic.php?p=1140324 Vogons.org thread: Using PCem with a XP guest]''
 +
These are emulators in the truest sense, in that they don't do any kind of "cheating/hacking" the way a hypervisor would. But keep in mind that, unlike [[Wikipedia:X86_virtualization#Hardware-assisted_virtualization|hardware-assisted]] [[#Hypervisors|hypervisors]]; emulating something like Voodoo3 with Pentium II level of hardware with these software emulators requires latest and greatest top-notch [https://www.cpubenchmark.net/singleThread.html single thread performance of CPUs]. [[PCem]], [[86Box]] and UniPCemu are full retro x86 computer emulators, spanning from the original IBM 5150 to Pentium II powered PCs. Setting it up is much like building an actual retro computer, but in software, so expect it to be as difficult as setting up an actual retro PC. This means you're going to have to install Windows 2000/XP (Vista is supported by them but unrecommended) along with all necessary drivers for the hardware you chose. Having said that, see these emulators as a useful alternative way to emulate these operating systems especially if you want the most accurate and compatible option for 3Dfx Voodoo emulation and [https://www.vogons.org/viewtopic.php?t=534 Windows 2000/XP glide games].
  
 
'''For more information;'''
 
'''For more information;'''
 
{{Main|POS_(Pong_Consoles)_CPUs_and_Other_Chips#x86_CPUs}}
 
{{Main|POS_(Pong_Consoles)_CPUs_and_Other_Chips#x86_CPUs}}
 
+
{{Main|PC_Emulator_Comparisons}}
  [https://github.com/joncampbell123/dosbox-x/issues/1089 What about implementing KVM] and these virtual adapters [https://github.com/joncampbell123/dosbox-x/issues/3405 (VMware SVGA/SVGA II and VBoxVGA emulation)] for [[POS_(Pong_Consoles)_CPUs_and_Other_Chips#x86_CPUs|emulators]]. ([https://github.com/joncampbell123/dosbox-x/issues/3538 NT-Based OSes unsupported by DOSBox forks at the moment]).
 
  [https://www.vogons.org/viewtopic.php?p=1140324 Vogons.org thread: "Using PCem with a XP guest"]
 
  
 
<references />
 
<references />
Line 134: Line 161:
 
==External links==
 
==External links==
 
* [https://www.pcgamingwiki.com/wiki/Virtualization PCGamingWiki: Virtualization]
 
* [https://www.pcgamingwiki.com/wiki/Virtualization PCGamingWiki: Virtualization]
[[Category:Computers]]
+
* [https://www.vogons.org/ VOGONS]
 +
* [https://github.com/exoscoriae/eXoWin3x/issues/680 eXoWinXP]
 +
[[Category:Operating systems]]

Latest revision as of 08:12, 31 March 2024

Bliss, originally known as Bucolic Green Hills, is the popular wallpaper of Windows XP

Playing games released for these platforms on a modern system can be quite easy as programs can be run on latest Windows without sacrifices due to backwards compability.[1] However this may change in the near future due to dropping 16 and 32-bit support from processors.[2][3]

If you are trying to get Windows 2000, XP or Vista software working on a modern system, you should only be using this page as a last resort and would be better suited to read the PCGamingWiki, which likely already has information on the game you want. If you don't have the operating system you want, you can download it from WinWorldPC, and if you don't have the game you want or it's not available on the platforms like Steam or GOG; you can try downloading it from My Abandonware.

Wrappers[edit]

Sometimes, all that may be missing in order to get an old game running is a DLL wrapper for the graphics API. This is common for games that were designed for 3Dfx Glide cards and also you can use these in virtual machines for increasing "Virtual GPU Adapter" compatibility. More information is available at the respective page.

Game Engine Recreations and Source Ports[edit]

Many games are considered enough of a cult classic that the source code is made publicly available for study and use as a base for ports to newer platforms. For some titles, this is done by the developer themselves to show other developers the viability of such a project. However, for most games this'll usually be done by force through reverse engineering.

We have already listed many of the most popular video game ports and recreations at the respective page.

Hypervisors[edit]

Most viable way to get Windows 2000, XP or Vista software running on modern system is to run the operating system in a hardware-assisted virtual machine at the moment. This requires you to know how to manually install a Windows NT-family operating system on a computer. If you do decide to install these legacy operating systems in a virtual machine, you will need to install integrations (e.g., VMware Tools) for features like 3D acceleration, mouse integration and shared folders etc.

VMWare Tools supports Windows 95 through Windows 10 but VMware Tools 10.0.12 will be the last version to support legacy Guest Operating Systems although you can still use latest VMware version with VMware Tools 10.0.12, VMware will automatically installs it to guest operating system for you.
VirtualBox; supports integrations but does not include 3D acceleration for legacy operating systems anymore with recent versions due to VBoxVGA deprecate[4], so you must use VirtualBox 6.0.24 version or earlier to use 3D acceleration in a Windows 2000, XP or Vista guest operating system.

Although newer VMware releases has major issues with legacy guest operating system nowadays;

Type 2 Hypervisors[edit]

Name Operating System(s) Virtual GPU Adapter Compatibility FLOSS Active* Recommended
PC / x86
Parallels Desktop macOS Parallels Video Adapter[5] ? ? ~
VMware Workstation Windows Linux SVGA3D ? ~
VirtualBox Windows Linux macOS FreeBSD Solaris VBoxVGA ? ~
Comparison
  • 3D acceleration in hypervisors is capable of running fairly demanding video games or other 3D applications with a few drawbacks such as limited DirectX API versions. Every hypervisor has a different approach to handling 3D graphics resulting VirtualBox supports for OpenGL are slightly better than Direct3D (since it doesn't have to be reverse engineered), on the other hand VMware has better support for D3D9. Keep in mind that most Windows games (including ports) use Direct3D.
  • You can use wrappers like "WineD3D for Windows" or "DxWnd" for translate D3D calls to OpenGL on the legacy operating system for increasing your chance if games uncompatible with virtual GPU adapter. Also you can use d3d8to9 since VMware's Direct3D 8 acceleration has graphical and/or performance issues.
  • Also you can use softgpu drivers for Win9x operating systems, but it isn't compatible with Windows XP at the moment.
  • DxWnd 2.05.70, WineD3D 1.7.52 or 1.9.7-staging(partially) versions are the latest compatible versions with Windows XP (if OneCoreAPI is not installed to OS), for getting these old "WineD3D for Windows" builds use this link

Note: Using VMware-KVM(2) or RDP instead of VMware built-in display is recommended for smoother experience, this shouldn't be confused with KVM (Kernel-based Virtual Machine).

Type 1 Hypervisors[edit]

Name Operating System(s) Virtual GPU Adapter Compatibility FLOSS Active Recommended
PC / x86
QEMU+KVM Linux GPU-Passthrough
QEMU-3dfx+KVM Linux MESA GL/3Dfx Glide Pass-Through ($) ?
QEMU-3dfx+WHPX Windows MESA GL/3Dfx Glide Pass-Through ($) ? ~
QEMU+KVM Linux VirGL N/A
QEMU+WHPX Windows [6] VirGL N/A
Hyper-V [7] Windows GPU-Passthrough N/A
Comparison

Before diving in, using WHPX for hardware acceleration on Windows host will be slower performance wise compared to using QEMU with Linux host and KVM. You will have to stay with QEMU TCG entirely until you manually switched to 'ACPI PC' kernel. The starting 'ACPI Uniprocessor' kernel does not boot on QEMU WHPX.

  • QEMU with GPU-Passthrough
You need XP compatible GPU Drivers for this, latest supported GPU and GPU drivers from AMD; its 200 series and from nVidia; its 900 series. For more information about this you can use this link. See this video for QEMU+KVM GPU passthrough guide using Windows XP VMs.
  • QEMU-3dfx
qemu-3dfx builds advantage is "MESAGL/3Dfx Glide pass-through". The project took on the troubles to support the legacy of vendor-specific OpenGL extensions that matter for PC games. Past and existing solutions (VirtualBox VBoxVGA's ChromiumGL, VMware SVGA3D and QEMU Virgil 3D) are all based on API "re-rendering" rather then "direct forwarding".[8][9]See QEMU 3dfx wiki: 3D APIs Pass-Through and KJ Liew's YouTube channel for more information about qemu-3dfx.
  • QEMU VirGL
VirGL virtual adapter only supports Linux guests at the moment (Specifically needs 4.4+ Linux kernel with mesa 11.2+ compiled with the "gallium-drivers=virgl" command option. Plans are to target "GL2.1 + GLSL 1.20" as the possible lowest GL interface to support. The guest would then expose the same level of GL. This project will eventually support Direct3D and Windows guest but there is none at the moment. Currently the renderer is GLSL 1.30 based, and requires some extensions from later GL levels. Current developer only really tested on the open source nouveau driver exposing GL3.0/GL3.1 core profile, and the binary nvidia driver exposing GL 4.3. Future plans to add a capabilities system will be required to work make things work across more systems. The capabilities system will expose different guest GL levels dependant on the host GL level, this could allow for a GLES2 specific interface etc. The current guest driver exposes GL2.1 and GLSL 1.20. Also there is a pull request: Windows Virtio GPU 3D acceleration for QEMU. For more information about VirGL3D use this link.
  • Hyper-V with GPU-Passthrough
Hyper-V + GPU-Passthrough currently exclusive to Windows 10/11 host and guest systems at the moment.

Summary[edit]

You don't have any other option except "QEMU-3dfx with WHPX" OR "Type 2 hypervisors" for current Windows hosts at the moment.

Software emulators[edit]

86Box and Windows XP
Vogons.org thread: Using PCem with a XP guest

These are emulators in the truest sense, in that they don't do any kind of "cheating/hacking" the way a hypervisor would. But keep in mind that, unlike hardware-assisted hypervisors; emulating something like Voodoo3 with Pentium II level of hardware with these software emulators requires latest and greatest top-notch single thread performance of CPUs. PCem, 86Box and UniPCemu are full retro x86 computer emulators, spanning from the original IBM 5150 to Pentium II powered PCs. Setting it up is much like building an actual retro computer, but in software, so expect it to be as difficult as setting up an actual retro PC. This means you're going to have to install Windows 2000/XP (Vista is supported by them but unrecommended) along with all necessary drivers for the hardware you chose. Having said that, see these emulators as a useful alternative way to emulate these operating systems especially if you want the most accurate and compatible option for 3Dfx Voodoo emulation and Windows 2000/XP glide games.

For more information;

Main article: POS_(Pong_Consoles)_CPUs_and_Other_Chips#x86_CPUs
Main article: PC_Emulator_Comparisons

External links[edit]