Virtualization

From PCGamingWiki, the wiki about fixing PC games
This page is a stub: it lacks content and/or basic article components. You can help to expand this page by adding an image or additional information.

Key points

Allows the use of older software which which may have problems running natively on newer OSes.
Ability to use 16-bit software even if the host machine is 64-bit without native support for 16-bit software.
Removes the need to install another OS to the host system and having to separately boot into it.
State save or Snapshot features lets you save specific moment, it is useful for testing and saving older games that dont have saving option.
Running a virtualization of another OS inside an existing OS is more taxing to your system than running the OS natively. The gaming performance is typically beetween %25-%70 depending on hypervisor and game code compability.
3D acceleration support varies dramatically from virtualization software (hypervisor).


General information

Virtual machine at Wikipedia

Emulation is the replication of same or different hardware system via software.(ie:nes emulator on pc or android). Emulating a system within another system has a big performance penalties due to convertion of the codes. (you loose %50 to %90). Pc, android, playstation, atari, nes systems have different instruction sets, their codes wont work on other. Therefore running a game on another system needs emulation. For emulator lists and more information see Emulation


Virtualization is running os code directly on same-type hardware (without converting) alongside other-os code. Only few elements emulated, therefore you can get most of Cpu performance (up to %99).


Modern pc's has hardware functionality for virtualization, intel VT-x or AMD-V features, for using virtualization, this option needs enabled from bios.Inside host machine, virtual Machines (VM) can be created, OS running inside the virtual machine is called the guest.


Problems with older software can easily circumvented by running old software inside suitable VM. One example is 16-bit program compatibility, microsoft removed support for 16 bit programs in 64-bit variants of Windows. However, 32-bit variants of Windows still support 16-bit applications natively. Since modern cpus can run 16 bit codes, 16 bit programs can be run inside virtual machines.

Virtualization also has plenty of other usage cases such as for e.g. running an isolated environment (sandbox), running older software, or a different OS without dual booting the host machine.


When running an older version of an OS in a VM, the same security risks apply when installing & running that OS natively, so there will always be a possibility of viruses and malware that can take advantage of the guest OSes vulnerabilities; even of the VM software itself. If the software in question does not need access to internet, it is usually safer to disable all connections from the VM to the host computer. When using shared folders, it is safer to mark the folder as read-only if you do not need to move files to the host. Taking all of these security measures into consideration can make running a guest OS considerably more secure.


Virtualization-PC Emulation software for gaming[edit]

Software Type Platforms Wikipedia Homepage Cost
VMware Virtualization
Windows
macOS (OS X)
Linux
Link Basic free
Premium costs
DOSBox Emulation
Windows
macOS (OS X)
Linux
Link Free
Pcem Emulation
Windows
Linux
Link Free
QEMU Virtualization or Emulation
Windows
macOS (OS X)
Linux
Link Free
VirtualBox Virtualization
Windows
macOS (OS X)
Linux
Link Free
Parallels Virtualization
macOS (OS X)
Link Costs


VMware[edit]

Superior 3D acceleration support in Windows XP and later OSes.
For windows users (hosts), vmware is generally the best option for gaming
Vmware stops developing its virtual 3d drivers for windows xp and vista.the final drivers for xp works very slow for some directx 6-7-8 games.For light games, windows xp has enough performance, and for more demanding games, using vista or 7 guests, strongly recommended
Relative performance table for vmware workstation 15 ( on ryzen 5 1600+Gtx 970), although this testing is not perfect, (old games and benchmarks are mostly bottlenecked by cpu), it shows relative os and directx differences on performance.It can give an idea about how much relative performance you could get. Vmware still improving 3d drivers for windows 7 or never guests, on newer versions, these numbers may be different.
Expected Performance Aproximation Windows 10 (x64) (Native) Windows 7 Vm-(x64)(sp1) Windows Vista Vm-(x32)(sp2) Windows Xp Vm-(sp3)
Directx 7 - 3Dmark 2000 %100-----64737 %27 -----17656 %28-----18639 %1.4-----932
Directx 8 - 3Dmark 2001 %100-----53652 %95-----51470 %88-----47635 %14-----7948
Directx 9c - 3Dmark 2006 %100-----30616 %81-----24851 N/A %35-----10749
Only support for 60 hz.
Only support for stereo sound.
Closed-source, the free version is very basic.


DOSBox[edit]

Suitable for DOS era gaming (pre-1998).
Comes with DOS inside.
For more information see DOSBox.


Pcem[edit]

Suitable for windows 95-98 gaming.
3d acceleration support on windows 9x (3dfx vodoo 3 3000 emulation)
All emulation is done on cpu. Pentium 3 350-500 mhz + tnt2 equvalent performance is possible on ryzen 3xxx- intel 10xxx cpu's.
The developer quits from project.
Only support for 4:3 resolutions
Mouse movement is also emulated through ps/2, therefore little sluggish


QEMU[edit]

On linux, using Qemu+KVM +gpu passthrough gives about %90-95 native performance (gaming on windows guest and using linux for general purpose is possible)
Greater compatibility with programs due to emulation.
High performance penalties when emulating.



VirtualBox[edit]

Mostly open source and non-open source material is free for personal use.
Due to incomplete 3d acceleration (and instruction set support issues on amd), its not suitable for 3d gaming, however dos games and software rendered 3d games could run.






Application virtualization software[edit]

In-depth technical knowledge is required for proper use and configuration.
Public help topics, knowledge, and information are sparse in many cases.
Applications can be sandboxed and isolated completely from the host operating system.
Virtual child processes can be configured to run normally, but may require additional configuration.
Software Platforms Wikipedia Homepage Cost
Cameyo Client
Windows
Link Free & Premium licenses available
Turbo Studio
Windows
Link Subscription-based, account required
VMware ThinApp
Windows
Link Premium license, account required


A lesser-known form of software distribution is called application virtualization. Programs like Cameyo client, Turbo Studio, and VMware ThinApp can be used to isolate applications files and/or registry keys from the host machine including the ability to make programs completely portable between different computers or system configurations. Instead virtualizing the entire operating system, as with a typical VM, only an application's files and/or registry keys virtualize. This method typically follows a container approach to isolation. For example; an application that requires the Microsoft .NET, Visual Studio C++ runtime or other middleware components can have the runtime either bundled within the application itself or added as an SVM ‘‘(in the case of Turbo Studio) instead of having to be natively installed on the host machine. Isolation options include being able to merge with the entire existing system, select parts of it, or to be completely isolated and much more depending on your knowledge of the software. The software required to make virtualized applications can be expensive though due to the obscurity and specialty of the technology. Most components of virtualization will require an advanced-level of knowledge of the Windows operating system in order to use and operate virtualization software successfully.

Another type of virtualization is called a compatibility layer, running a Windows application on Linux through Wine can offer better compatibility for older programs than newer versions of Windows itself. However, Wine Is Not an Emulator (W.I.N.E) and is classified as a compatibility layer (a.k.a translation layer).



External links[edit]

quickhakker - Program Tutorial: Running 16 bit programs on 64 bit operating systems - YouTube