]>
Commit | Line | Data |
---|---|---|
324b2298 PB |
1 | .. _Supported-build-platforms: |
2 | ||
3 | Supported build platforms | |
4 | ========================= | |
5 | ||
6 | QEMU aims to support building and executing on multiple host OS | |
7 | platforms. This appendix outlines which platforms are the major build | |
8 | targets. These platforms are used as the basis for deciding upon the | |
9 | minimum required versions of 3rd party software QEMU depends on. The | |
10 | supported platforms are the targets for automated testing performed by | |
11 | the project when patches are submitted for review, and tested before and | |
12 | after merge. | |
13 | ||
14 | If a platform is not listed here, it does not imply that QEMU won't | |
15 | work. If an unlisted platform has comparable software versions to a | |
16 | listed platform, there is every expectation that it will work. Bug | |
17 | reports are welcome for problems encountered on unlisted platforms | |
18 | unless they are clearly older vintage than what is described here. | |
19 | ||
20 | Note that when considering software versions shipped in distros as | |
21 | support targets, QEMU considers only the version number, and assumes the | |
22 | features in that distro match the upstream release with the same | |
23 | version. In other words, if a distro backports extra features to the | |
24 | software in their distro, QEMU upstream code will not add explicit | |
25 | support for those backports, unless the feature is auto-detectable in a | |
26 | manner that works for the upstream releases too. | |
27 | ||
e6e80fcf | 28 | The `Repology`_ site is a useful resource to identify |
324b2298 PB |
29 | currently shipped versions of software in various operating systems, |
30 | though it does not cover all distros listed below. | |
31 | ||
7f800d34 MAL |
32 | Supported host architectures |
33 | ---------------------------- | |
34 | ||
35 | Those hosts are officially supported, with various accelerators: | |
36 | ||
37 | .. list-table:: | |
38 | :header-rows: 1 | |
39 | ||
40 | * - CPU Architecture | |
41 | - Accelerators | |
42 | * - Arm | |
43 | - kvm (64 bit only), tcg, xen | |
44 | * - MIPS | |
45 | - kvm, tcg | |
46 | * - PPC | |
47 | - kvm, tcg | |
48 | * - RISC-V | |
49 | - tcg | |
50 | * - s390x | |
51 | - kvm, tcg | |
52 | * - SPARC | |
53 | - tcg | |
54 | * - x86 | |
55 | - hax, hvf (64 bit only), kvm, nvmm, tcg, whpx (64 bit only), xen | |
56 | ||
f1f727ac PMD |
57 | Other host architectures are not supported. It is possible to build QEMU system |
58 | emulation on an unsupported host architecture using the configure | |
59 | ``--enable-tcg-interpreter`` option to enable the TCI support, but note that | |
60 | this is very slow and is not recommended for normal use. QEMU user emulation | |
61 | requires host-specific support for signal handling, therefore TCI won't help | |
62 | on unsupported host architectures. | |
7f800d34 MAL |
63 | |
64 | Non-supported architectures may be removed in the future following the | |
65 | :ref:`deprecation process<Deprecated features>`. | |
66 | ||
e6e80fcf DB |
67 | Linux OS, macOS, FreeBSD, NetBSD, OpenBSD |
68 | ----------------------------------------- | |
324b2298 | 69 | |
e6e80fcf DB |
70 | The project aims to support the most recent major version at all times. Support |
71 | for the previous major version will be dropped 2 years after the new major | |
72 | version is released or when the vendor itself drops support, whichever comes | |
73 | first. In this context, third-party efforts to extend the lifetime of a distro | |
74 | are not considered, even when they are endorsed by the vendor (eg. Debian LTS). | |
324b2298 | 75 | |
e6e80fcf DB |
76 | For the purposes of identifying supported software versions available on Linux, |
77 | the project will look at CentOS, Debian, Fedora, openSUSE, RHEL, SLES and | |
78 | Ubuntu LTS. Other distros will be assumed to ship similar software versions. | |
324b2298 | 79 | |
e6e80fcf DB |
80 | For FreeBSD and OpenBSD, decisions will be made based on the contents of the |
81 | respective ports repository, while NetBSD will use the pkgsrc repository. | |
324b2298 | 82 | |
4a89bf18 | 83 | For macOS, `Homebrew`_ will be used, although `MacPorts`_ is expected to carry |
e6e80fcf | 84 | similar versions. |
324b2298 | 85 | |
e6e80fcf | 86 | Windows |
324b2298 PB |
87 | ------- |
88 | ||
e6e80fcf DB |
89 | The project supports building with current versions of the MinGW toolchain, |
90 | hosted on Linux (Debian/Fedora). | |
324b2298 | 91 | |
e6e80fcf DB |
92 | The version of the Windows API that's currently targeted is Vista / Server |
93 | 2008. | |
324b2298 | 94 | |
4a89bf18 | 95 | .. _Homebrew: https://brew.sh/ |
e6e80fcf DB |
96 | .. _MacPorts: https://www.macports.org/ |
97 | .. _Repology: https://repology.org/ |