You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Easily edit the macOS boot arguments of your OpenCore image, and even automatically apply relevant patches for your setup (e.g. AMD RX 5000 series black screen patch).
43
+
33
44
<li><b>Automatic System Checks</b></li>
34
45
Several check scripts can be used to make sure your system is correctly prepared for both passthrough and non-passthrough KVM.
35
46
@@ -39,11 +50,13 @@ Detects GPUs in your host system and checks them against a list of known compati
39
50
<li><b>VFIO-IDs and IOMMU Helpers</b></li>
40
51
Auto-detects and lists IOMMU groups, VFIO-IDs, and checks if devices are stubbed to kernel driver correctly.
41
52
42
-
<li><b>VFIO-PCI Passthrough Assistant</b></li>
43
-
Advanced passthrough tinkering made easy with auto-detection and configuration walkthroughs.
53
+
<li><b>Convert to XML for virt-manager <ahref="https://github.com/Coopydood/ultimate-macOS-KVM/wiki/XML-Converter">⎋</a></b></li>
54
+
Easily convert any AutoPilot-generated QEMU scripts into an importable XML file for virt-manager (GUI). VFIO-PCI passthrough and USB configurations are also converted.
44
55
45
-
<li><b>Import to virt-manager</b></li>
46
-
Easily convert any AutoPilot-generated QEMU scripts into an importable XML file for virt-manager (GUI).
56
+
<br><br>
57
+
58
+
> [!TIP]
59
+
> Click the [**⎋**]() icon next to a feature to read more about it in greater detail.
47
60
48
61
</ul>
49
62
@@ -99,7 +112,7 @@ All of the dependencies, both required and optional, are listed below.
99
112
> [!WARNING]
100
113
> You **must** have all of the required dependencies installed before using this project.
101
114
102
-
> [!NOTE]
115
+
> [!tip]
103
116
> Optional dependencies can enhance your experience, such as using your VM in a GUI, or showing what macOS version you're currently running on your Discord profile.
104
117
>
105
118
> Your experience is automatically adapted based on the dependencies you have installed. For example, if you have ``pypresence`` installed, Discord rich presence will be enabled automatically on AutoPilot scripts.
@@ -112,9 +125,6 @@ Shocker; KVM is a module built into the *Linux kernel*, not **Windows Subsystem
112
125
113
126
The easiest way to do this is by grabbing some mainstream Linux distro, like **Ubuntu, Linux Mint, Manjaro, endeavourOS** - among many, many others. You can pick any one you like. If it's Linux - you can use this project. *I use Arch BTW.*
114
127
115
-
> [!NOTE]
116
-
> Running this on Windows or macOS is as pointless as those ice cube dispensers on fridge doors...
117
-
118
128
***
119
129
120
130
## 🛫》Getting Started
@@ -126,9 +136,11 @@ Make sure you have **all** [dependencies](https://github.com/Coopydood/ultimate-
> Alternatively, you can download the latest release [here](https://github.com/Coopydood/ultimate-macOS-KVM/archive/refs/heads/main.zip).
131
141
142
+
<br>
143
+
132
144
Okay, so you've cloned my repo, and `cd`'d into the directory. Great!
133
145
Now, before running the script - and to avoid the subsequent and inevitable gotcha - you should enable the ``libvirtd`` daemon first if it hasn't been already. Here's an example for Arch-based systems:
@@ -155,8 +169,8 @@ This is your main menu / central hub for the project and everything can be acces
155
169
```sh
156
170
$ ./main.py
157
171
```
158
-
> [!IMPORTANT]
159
-
> Most sub-scripts included in the project should *not* be run on their own.
172
+
> [!CAUTION]
173
+
> Most sub-scripts included in the project should *not* be run on their own. Always use ``main.py`` unless the script was user-generated or stated otherwise.
160
174
161
175
***
162
176
@@ -174,7 +188,10 @@ More detailed write-ups on the project and the scripts included, as well as some
174
188
175
189
This is continually updated and made better as the project develops. Feel free to help out and [write your own!](https://github.com/Coopydood/ultimate-macOS-KVM/new/main/docs)
176
190
177
-
Or, you can find some in the included [docs folder](https://github.com/Coopydood/ultimate-macOS-KVM/tree/main/docs).
191
+
Changelogs can be found on the [releases](https://github.com/Coopydood/ultimate-macOS-KVM/releases) page.
192
+
193
+
> [!TIP]
194
+
> All documentation and changelogs are included in the [docs folder](https://github.com/Coopydood/ultimate-macOS-KVM/tree/main/docs) for offline reading.
178
195
179
196
***
180
197
@@ -208,6 +225,9 @@ Here's a few screenshots showing **ultimate-macOS-KVM** in action!
> More screenshots of ULTMOS in action can be found included in the [docs](https://github.com/Coopydood/ultimate-macOS-KVM/tree/main/docs/screenshots) folder!
230
+
211
231
***
212
232
213
233
## ☢️》Disclaimer
@@ -216,12 +236,15 @@ This is my way of giving back to the QEMU, KVM, and VFIO community. Please don't
216
236
217
237
- I'm not responsible for any time you waste using this project.
218
238
- I'm not responsible if you make an oopsie whoopsie.
219
-
- Do NOT run anything as ``sudo`` unless absolutely necessary. If you have an urge to then you need to break that habit _**asap.**_ Most of my scripts do not require superuser privileges, however, the ones that do are clearly marked with a yellow ⚠️ next to the operation requiring such permissions.
220
239
- Expect headaches. Some severe.
221
240
- You need a LOT of patience. I mean it. Despite me trying to alleviate some of the hassles, you WILL run into [stupid gotchas](https://github.com/Coopydood/ultimate-macOS-KVM/wiki/Issues-and-Troubleshooting) that require trial and error out of my control.
222
241
- I'm by no means an expert on this stuff nor would I claim to be.
223
242
- I've simply made *what I had to go through **easier** for you*. Hopefully.
224
243
- Yes, my Python is pretty bad. But if it works, it works.
244
+
245
+
> [!CAUTION]
246
+
> Do NOT run anything as ``sudo`` unless absolutely necessary. If you have an urge to then you need to break that habit _**asap.**_ <br><br>
247
+
> Most of my scripts do not require superuser privileges, however, the ones that do are clearly marked with a yellow ⚠️ next to the operation requiring such permissions.
0 commit comments