-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathwindowsvm.xml
99 lines (84 loc) · 3.49 KB
/
windowsvm.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<!-- Add/Replace the following lines in the windowsvm.xml -->
<!-- CPU settings (hiding that this is a VM) -->
<cpu>
<feature policy='disable' name='hypervisor'/>
</cpu>
<!-- Pinning emulator thread and iothreads to cores that remain on the host -->
<cputune>
<emulatorpin cpuset='0,6'/>
</cputune>
<!-- Initializing additional hyperv features -->
<features>
<reset state="on"/>
<vpindex state="on"/>
<runtime state="on"/>
<synic state="on"/>
<stimer state="on"/>
<frequencies state='on'/>
</hyperv>
<vmport state="off"/>
<ioapic driver="kvm"/>
<kvm>
<hidden state="on"/>
</kvm>
</features>
<clock offset="localtime">
<timer name="rtc" tickpolicy="catchup"/>
<timer name="pit" tickpolicy="delay"/>
</clock>
<!-- Optimizing graphics card (ensuring that graphics + sound are on same bus/slot with other function) -->
<hostdev mode='subsystem' type='pci' managed='yes'>
<driver name='vfio'/>
<source>
<address domain='0x0000' bus='0x07' slot='0x00' function='0x0'/>
</source>
<address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0' multifunction='on'/>
</hostdev>
<hostdev mode='subsystem' type='pci' managed='yes'>
<driver name='vfio'/>
<source>
<address domain='0x0000' bus='0x07' slot='0x00' function='0x1'/>
</source>
<address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x1'/>
</hostdev>
<!-- Add NVME drive -->
<hostdev mode='subsystem' type='pci' managed='yes'>
<driver name='vfio'/>
<source>
<address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</source>
<boot order='1'/>
</hostdev>
<!-- Add Hardware audio controller -->
<hostdev mode='subsystem' type='pci' managed='yes'>
<driver name='vfio'/>
<source>
<address domain='0x0000' bus='0x09' slot='0x00' function='0x4'/>
</source>
</hostdev>
<!-- Additional Steps to take after installing Windows
## POSSIBLE -> When first booting into windows, EFI shell needs the windows efi file added as a boot option
# Type "exit" in the efi shell
# Press escape key to get into OVMF bios
# In the bios, go to Boot Maintenance Manager
# Boot options -> Add boot option -> Select hard drive (No volume label) -> <EFI> -> <Microsoft> -> <Boot> -> bootmgfw.efi
# Input any description
# Commit changes
# Change boot order
# Put your newly added boot order as first one -> F10 Save
# Exit bios (continue/reset options)
## Change Graphics Card to accept Signal Based Interrupts
# Download the MSI enable tool from https://forums.guru3d.com/threads/windows-line-based-vs-message-signaled-based-interrupts-msi-tool.378044/
# Enable MSI on the NVIDIA Graphics card and audio card
## Change Audio Settings
# Make sure Audio Level is at 16 bit, 48000 hz for streaming purposes
## Enabling remote moonlight streaming
# Assign a static IP(v4 & v6) to the Windows VM
# Open the required moonlight streaming ports, more information at their Github -> https://github.com/moonlight-stream/moonlight-docs/wiki/Setup-Guide#streaming-over-the-internet
## Nvidia Control Panel Update
# Nvidia control panel
# Open “3D settings” branch -> Select “Manage 3D settings” -> Select “Global settings” tab
# set “Power Management mode” -> “Prefer maximum performance”
# set “Low Latency Mode” -> “On
## Programs to Install
# Steam, Parsec, Epic Games Launcher, Origin, Geforce experience, Virtualhere server, Moonlight