Editing Hypervisors
Jump to navigation
Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
{{WIP}} | {{WIP}} | ||
− | A '''[[wikipedia:x86_virtualization|hypervisor]]''' is a program that takes advantage of an architectural quirk in | + | A '''[[wikipedia:x86_virtualization|hypervisor]]''' is a program that takes advantage of an architectural quirk in [[Intel CPUs]] to run emulated software at near-bare-metal speeds, running modern operating systems faster than emulators, but running video games slower than native hardware. This is possible because the processor is designed to execute code in a hierarchy that allows less-privileged software to run almost unmodified. For any instruction in a program that requests more privileges, such as those used by drivers, the hypervisor steps in to emulate the hardware response. There are two types of hypervisors; |
# A '''bare-metal hypervisor''', which is the operating system. | # A '''bare-metal hypervisor''', which is the operating system. | ||
# A '''software hypervisor''', the ones many are familiar with. They hook into the kernel of an existing operating system (such as Linux or Windows NT) and run alongside the rest of the software on the system. | # A '''software hypervisor''', the ones many are familiar with. They hook into the kernel of an existing operating system (such as Linux or Windows NT) and run alongside the rest of the software on the system. | ||
Hypervisors are the source of the "host" and "guest" terminology since they help clarify the specific "machine" one refers to; the host is the physical hardware and it manages the guests. Most hypervisors try and support the Open Virtualization Format (OVF) to facilitate virtual appliances which are built for a specific purpose (such as running common server software like WordPress or MediaWiki). | Hypervisors are the source of the "host" and "guest" terminology since they help clarify the specific "machine" one refers to; the host is the physical hardware and it manages the guests. Most hypervisors try and support the Open Virtualization Format (OVF) to facilitate virtual appliances which are built for a specific purpose (such as running common server software like WordPress or MediaWiki). | ||
− | |||
− | |||
==Type 2 hypervisors== | ==Type 2 hypervisors== | ||
Line 22: | Line 20: | ||
|[[QEMU]] | |[[QEMU]] | ||
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}} | |align=left|{{Icon|Windows|Linux|macOS|FreeBSD}} | ||
− | |[https://www.qemu.org/download/ {{QEMUVer}}] | + | |[https://www.qemu.org/download/ {{QEMUVer}}] |
+ | |{{✓}} ||{{✓}} ||{{✓}} | ||
+ | |- | ||
+ | |[[VirtualBox]] | ||
+ | |align=left|{{Icon|Windows|Linux|macOS|FreeBSD|Solaris}} | ||
+ | |[https://www.virtualbox.org/wiki/Downloads {{VirtualBoxVer}}] | ||
|{{✓}} ||{{✓}} ||{{✓}} | |{{✓}} ||{{✓}} ||{{✓}} | ||
|- | |- | ||
|[[VMware Workstation]] | |[[VMware Workstation]] | ||
|align=left|{{Icon|Windows|Linux}} | |align=left|{{Icon|Windows|Linux}} | ||
− | | | + | |{{VMwareWorkstationVer}} |
|{{✗}} ||{{✓}} ||{{✓}} | |{{✗}} ||{{✓}} ||{{✓}} | ||
|- | |- | ||
|VMware Fusion | |VMware Fusion | ||
|align=left|{{Icon|macOS}} | |align=left|{{Icon|macOS}} | ||
− | | | + | |{{VMwareFusionVer}} |
|{{✗}} ||{{✓}} ||{{✓}} | |{{✗}} ||{{✓}} ||{{✓}} | ||
|- | |- | ||
|[https://www.parallels.com/ Parallels Desktop] | |[https://www.parallels.com/ Parallels Desktop] | ||
|align=left|{{Icon|macOS}} | |align=left|{{Icon|macOS}} | ||
− | | | + | |17.0.1 |
|{{✗}} ||{{✓}} ||{{✓}} | |{{✗}} ||{{✓}} ||{{✓}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
!colspan="6"|Mobile / ARM | !colspan="6"|Mobile / ARM | ||
|- | |- | ||
|UTM | |UTM | ||
− | |align=left|{{icon|macOS}} | + | |align=left|{{icon|macOS|iOS}} |
|[https://github.com/utmapp/UTM/releases {{UTMVer}}] | |[https://github.com/utmapp/UTM/releases {{UTMVer}}] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
|{{✗}} ||{{✓}} ||{{?}} | |{{✗}} ||{{✓}} ||{{?}} | ||
|} | |} | ||
;[[QEMU]] | ;[[QEMU]] | ||
− | :A general-purpose emulator that supports a wide range of hardware for use on a multitude of platforms. Used to be a hypervisor by way of KQEMU but has been deprecated in favor of other systems like KVM (a kernel module for Linux and FreeBSD) and HAXM (which is developed by Intel). QEMU has been used to emulate several non-PC x86 machines like [[XQEMU | + | :A general-purpose emulator that supports a wide range of hardware for use on a multitude of platforms. Used to be a hypervisor by way of KQEMU but has been deprecated in favor of other systems like KVM (a kernel module for Linux and FreeBSD) and HAXM (which is developed by Intel). QEMU has been used to emulate several non-PC x86 machines like [[XQEMU]] for the [[Xbox emulators|Xbox]], and [[Orbital]] for the [[PlayStation 4 emulators|PlayStation 4]]. The non-specific application of QEMU allows emulators like XQEMU and Orbital to function as hypervisors without having to write custom-made drivers. |
;[[VirtualBox]] | ;[[VirtualBox]] | ||
Line 65: | Line 58: | ||
;[[VMware Workstation]] Pro | ;[[VMware Workstation]] Pro | ||
− | :Is also available for GNU/Linux, though the Windows version has better 3D support because of its native Direct3D implementation. | + | :Is also available for GNU/Linux, though the Windows version has better 3D support because of its native Direct3D implementation. |
:;[[VMware Workstation]] Player | :;[[VMware Workstation]] Player | ||
::Formerly VMware Player, it is VMware's free offering but lacks a few features like snapshots. | ::Formerly VMware Player, it is VMware's free offering but lacks a few features like snapshots. | ||
;Virtual PC | ;Virtual PC | ||
− | :Microsoft's original offering for consumers, originally made by Connectix as commercial software until Microsoft made it a free download in 2006. Support ended with the introduction of Hyper-V but the last version can be downloaded [http://www.win3x.org/win3board/viewtopic.php?t=19227&language=en here]. Beware that it may cause issues on newer Windows so it's recommended that it's ran on older versions of Windows | + | :Microsoft's original offering for consumers, originally made by Connectix as commercial software until Microsoft made it a free download in 2006. Support ended with the introduction of Hyper-V but the last version can be downloaded [http://www.win3x.org/win3board/viewtopic.php?t=19227&language=en here]. Beware that it may cause issues on newer Windows so it's recommended that it's ran on older versions of Windows. |
− | |||
− | |||
− | |||
==Type 1 hypervisors== | ==Type 1 hypervisors== | ||
Line 80: | Line 70: | ||
* ESXi (commercial hypervisor by VMware) | * ESXi (commercial hypervisor by VMware) | ||
* Xen (open-source hypervisor developed for the Linux kernel) | * Xen (open-source hypervisor developed for the Linux kernel) | ||
− | |||
* UnRAID (commercial NAS distribution with an integrated hypervisor) | * UnRAID (commercial NAS distribution with an integrated hypervisor) | ||
* Hyper-V (commercial hypervisor Microsoft developed for Windows. Requires a Pro, Enterprise, or Education version of Windows 8, 8.1, or 10) | * Hyper-V (commercial hypervisor Microsoft developed for Windows. Requires a Pro, Enterprise, or Education version of Windows 8, 8.1, or 10) | ||
− | |||
==Integrations== | ==Integrations== | ||
Line 99: | Line 87: | ||
If you're using an NVIDIA card, you also need to configure how the graphics card appears to the VM so that NVIDIA's driver doesn't reject the card. | If you're using an NVIDIA card, you also need to configure how the graphics card appears to the VM so that NVIDIA's driver doesn't reject the card. | ||
− | + | ==Emulation issues== | |
− | |||
− | == | ||
− | |||
− | |||
− | |||
===Graphics=== | ===Graphics=== | ||
− | Hypervisors don't have direct access to the graphics hardware with | + | Hypervisors don't have direct access to the graphics hardware with exception to Virgil/Virtio GPU available in QEMU (only works with Linux guests), which means graphics card emulation is less than ideal for video games that use 3D APIs. Every hypervisor has a different approach to handling 3D graphics; none are by any means performant enough to run modern video games without resorting to hardware passthrough. Support for OpenGL is slightly better than Direct3D since it doesn't have to be reverse engineered, but most Windows games (including ports) use Direct3D. |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ===[[Macintosh line#x86|macOS]]=== | |
+ | There's an ongoing effort to get macOS installations working on hypervisors. Support has historically been low or non-existent since Apple makes no effort to support standard PC hardware. Some people have gotten this to successfully work on KVM/QEMU, with an example/setup guide for Debian/Ubuntu hosts being available [https://github.com/kholia/OSX-KVM here]. | ||
==See also== | ==See also== | ||
− | + | * [[Intel CPUs]] | |
− | * [[ | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | [[Category:Computers | + | [[Category:Computers]] |
[[Category:Not really emulators]] | [[Category:Not really emulators]] |