microsoft/openvmm

Public

mirrored fromhttps://github.com/microsoft/openvmmAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
d72b222d661d464d3fc1707cfd7e7d0cfcdaef40

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

Guide/src/dev_guide/getting_started/windows.md

95lines · modecode

1# Getting started on Windows
2
3This page provides instructions for installing the necessary dependencies to
4build OpenVMM on Windows.
5
6```admonish tip
7We _strongly_ suggest using [WSL2](./linux.md) for OpenVMM development, rather
8than developing on Windows directly.
9
10Developing in WSL2 offers a smoother development experience, while still
11allowing you to build and run OpenVMM on Windows through the use of
12[cross compilation](./cross_compile.md).
13
14Additionally, it allows you to have a single clone of the OpenVMM repo
15suitable for both OpenVMM and OpenHCL development.
16```
17
18You must be running a recent version of Windows 11. Windows 10 is no longer
19supported as a development platform, due to needed WHP APIs.
20
21```admonish note title="Recommended: Windows 11 26H1"
22For the best OpenHCL development experience, we recommend running a
23**Windows 11 26H1** Insider flight (build 28000+) if it is available for your
24device. This enables COM3 serial output for OpenHCL kernel logs and matches
25the OS used on the project's CI runners.
26
27See [What to know about Windows 11 version 26H1](https://techcommunity.microsoft.com/blog/windows-itpro-blog/what-to-know-about-windows-11-version-26h1/4491941)
28and the [Windows Insider Flight Hub](https://learn.microsoft.com/en-us/windows-insider/flight-hub/)
29for availability. If 26H1 is not available for your device, Windows 11
3024H2/25H2 works — see [Debugging OpenHCL](../../reference/openhcl/debugging.md#recommended-host-os-for-openhcl-development)
31for details on the tradeoffs.
32```
33
34**NOTE: OpenHCL does NOT build on Windows.**
35
36If you are interested in building OpenHCL, please follow the getting started
37guide for [Linux / WSL2](./linux.md).
38
39## Installing Rust
40
41To build OpenVMM, you first need to install Rust.
42
43The OpenVMM project actively tracks the latest stable release of Rust, though it
44may take a week or two after a new stable is released until OpenVMM switches
45over to it.
46
47Please follow the [official instructions](https://www.rust-lang.org/tools/install) to do so.
48
49### Visual Studio C++ Build Tools and Windows SDK
50
51If you don't already have it, you will need to install
52[Visual Studio C++ Build tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/)
53or [Visual Studio](https://visualstudio.microsoft.com/vs/) with the components
54"Desktop Development for C++" and the Windows SDK. Windows 11 SDK version 26100 is the latest
55version as of this update, but you should install the newest version if there is a newer
56version.
57
58The C++ build tools can be installed via `Visual Studio Installer` -> `Modify` -> `Individual Components`
59-> `MSVC v143 - VS 2022 C++ x64/x86 build tools (latest)`.
60
61The Windows SDK can be installed via `Visual Studio Installer` -> `Modify` -> `Individual Components`
62-> `Windows 11 SDK (10.0.26100.0)`.
63
64The C++ build tools and Windows SDK can be installed at the same time.
65
66Or, you can install the tool via the powershell command below.
67
68```powershell
69PS> winget install Microsoft.VisualStudio.2022.Community --override "--quiet --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows11SDK.26100"
70```
71
72### Aarch64 support
73
74To build ARM64, you need an additional dependency.
75This can be installed via `Visual Studio Installer` -> `Modify` -> `Individual Components`
76-> `MSVC v143 - VS 2022 C++ ARM64/ARM64EC build tools (latest)`.
77
78Or, you can install the tool via the powershell command below.
79
80```powershell
81PS> winget install Microsoft.VisualStudio.2022.Community --override "--quiet --add Microsoft.VisualStudio.Component.VC.Tools.ARM64"
82```
83
84## Cloning the OpenVMM source
85
86If you haven't already installed `git`, you can download it
87[here](https://git-scm.com/downloads).
88
89```powershell
90PS> git clone https://github.com/microsoft/openvmm.git
91```
92
93## Next Steps
94
95You are now ready to build [OpenVMM](./build_openvmm.md)!
96