Compare commits

...

30 Commits

Author SHA1 Message Date
Derek McTavish
c9ec1c7b70 2026-04-01 11:02:30 +00:00
Derek McTavish
0e1fa42b70 2026-04-01 08:36:31 +00:00
Derek McTavish
ecce39f51b 2026-04-01 08:35:54 +00:00
Derek McTavish
6d7410b7ab 2026-04-01 08:35:34 +00:00
Derek McTavish
ea97dd3782 Renamed Windows Vm Setup to Linux/Guides/GPU Passthrough/Windows Virtual Machine Setup. 2026-04-01 08:34:50 +00:00
Derek McTavish
381499863b Renamed VM to Linux/Guides/GPU Passthrough/Windows Vm Setup. 2026-04-01 08:34:35 +00:00
Derek McTavish
5f897a13a8 Renamed Host to Linux/Guides/GPU Passthrough/Linux Host Setup. 2026-04-01 08:34:21 +00:00
Derek McTavish
5831636d85 2026-04-01 08:33:55 +00:00
Derek McTavish
4c0cbf3d91 2026-04-01 08:33:38 +00:00
Derek McTavish
a3f5db502b 2026-04-01 08:33:23 +00:00
Derek McTavish
5aec36bd8e 2026-04-01 08:33:00 +00:00
Derek McTavish
1c7f99147d 2026-04-01 08:32:50 +00:00
Derek McTavish
f728ab5bdd Renamed GPU Passthrough to Linux/Guides/GPU Passthrough. 2026-04-01 08:30:56 +00:00
Derek McTavish
3db6d273c2 2026-04-01 08:30:38 +00:00
Derek McTavish
272ad387fc 2026-04-01 08:28:58 +00:00
Derek McTavish
a8c5355dc5 2026-04-01 08:18:13 +00:00
Derek McTavish
7fed5f0251 2026-04-01 07:44:46 +00:00
Derek McTavish
78e33823a6 2026-04-01 07:42:36 +00:00
Derek McTavish
aced3f9518 2026-04-01 07:42:00 +00:00
Derek McTavish
2b6babac22 2026-04-01 07:41:02 +00:00
Derek McTavish
47ae5c5770 Renamed home to Home. 2026-03-26 06:57:26 +00:00
Derek McTavish
777f91dda3 2026-03-26 06:57:12 +00:00
Derek McTavish
ff32fbaad9 Renamed gpu passthrough to Linux/GPU Passthrough. 2026-03-26 06:56:43 +00:00
Derek McTavish
a974228bf3 Renamed linux to Linux. 2026-03-26 06:56:18 +00:00
Derek McTavish
d381b28a71 update 2026-03-26 06:42:47 +00:00
Derek McTavish
8eb06228c9 update 2026-03-26 06:42:34 +00:00
Derek McTavish
de3044b3bf update 2026-03-26 06:42:12 +00:00
Derek McTavish
3994df3a3f Renamed GPU Passthrough on Linux to Linux/GPU Passthrough. 2026-03-26 06:41:39 +00:00
Derek McTavish
6663fce446 initial 2026-03-26 06:41:19 +00:00
Derek McTavish
db17797db9 update 2026-03-26 06:39:13 +00:00
7 changed files with 309 additions and 54 deletions

1
Home.md Normal file
View File

@@ -0,0 +1 @@
[[Linux]]

4
Linux.md Normal file
View File

@@ -0,0 +1,4 @@
# Linux
## Guides
- [[GPU Passthrough|Linux/Guides/GPU Passthrough]]

View File

@@ -0,0 +1,4 @@
# Windows VM with GPU Passthrough
- [[Linux Host Setup|Linux/Guides/GPU Passthrough/Linux Host Setup]]
- [[Windows Virtual Machine Setup|Linux/Guides/GPU Passthrough/Windows Virtual Machine Setup]]

View File

@@ -0,0 +1,161 @@
# Linux Host Setup
## Enable IOMMU
### GRUB
```bash
sudo vim /etc/default/grub
```
Add amd_iommu=on iommu=pt
`GRUB_CMDLINE_LINUX_DEFAULT="... amd_iommu=on iommu=pt"`
```bash
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo reboot
```
### rEFInd
```bash
sudo vim /boot/refind_linux.conf
```
```
"Boot with standard options" "root=UUID=xxx rw quiet splash amd_iommu=on iommu=pt"
```
Verify
```bash
sudo dmesg | grep -i iommu
```
## Find GPU IDs
```bash
lspci -nn | grep -E "VGA|Audio"
```
In my case, I get
- `10de:28a0`
- `10de:22be`
## VFIO Module Options
```bash
sudo vim /etc/modprobe.d/vfio.conf
```
> ### Arch
> ```bash
> options vfio-pci ids=10de:28a0,10de:22be
> ```
> ### Fedora
> ```bash
> options vfio-pci ids=10de:28a0,10de:22be disable_vga=1
> softdep nvidia pre: vfio-pci
> softdep nouveau pre: vfio-pci
> ```
## Blacklist GPU
```bash
sudo vim /etc/modprobe.d/blacklist-gpu.conf
```
> ### Arch
> ```
> blacklist nouveau
> blacklist nvidia
> blacklist nvidia_drm
> blacklist nvidia_modeset
> ```
> ### Fedora
> ```
> blacklist nouveau
> blacklist nvidia
> blacklist nvidia_drm
> blacklist nvidia_modeset
> blacklist nvidia_uvm
> blacklist rivafb
> blacklist nvidiafb
> blacklist snd_hda_intel
> ```
## Load VFIO
> ### Arch
> ```bash
> sudo vim /etc/mkinitcpio.conf
> ```
> ```
> MODULES=(vfio vfio_iommu_type1 vfio_pci)
> ```
> ```
> sudo mkinitcpio -P
> sudo reboot
> ```
> ### Fedora
> ```bash
> sudo vim /etc/dracut.conf.d/10-vfio.conf
> ```
> ```
> force_drivers+=" vfio vfio_iommu_type1 vfio_pci "
> ```
> ```bash
> sudo dracut -f
> ```
> ```bash
> sudo reboot
> ```
### Confirm Kernel Driver
```bash
lspci -nnk -d 10de:28a0
```
```bash
lspci -nnk -d 10de:22be
```
## Install Virtualization Stack
> ### Arch
> ```bash
> sudo pacman -S --needed virt-manager qemu-full libvirt dnsmasq ovmf swtpm
> ```
> ### Fedora
> ```bash
> sudo dnf install @virtualization virt-manager qemu-kvm libvirt-daemon-config-network libvirt-daemon-kvm bridge-utils edk2-ovmf swtpm
> ```
## User Groups and Permissions
> ### Arch
> ```bash
> sudo usermod -aG libvirt,kvm,input,render,libvirt-qemu $USER
> ```
> ### Fedora
> ```bash
> sudo usermod -aG libvirt,kvm,input,render $USER
> ```
Reboot the system.
And now verify:
```bash
virsh list --all
```
If it doesn't error, you're good.

View File

@@ -0,0 +1,139 @@
# Windows VM Setup
Start virt-manager
```bash
virt-manager
```
When creating VM:
- Local ISO
- Windows 11 ISO
- Firmware: UEFI (OVMF)
- Chipset: Q35
- TPM: emulated
Before you start the VM:
```bash
sudo vim /etc/default/ufw
```
Find `DEFAULT_FORWARD_POLICY="DROP"` and change it to `DEFAULT_FORWARD_POLICY="ACCEPT"`
Now boot the VM.
## Network Issues
If the network is being wonky, or if you want to bypass updates... Shift-F10
```
OOBE\BYPASSNRO
```
Now add the PCI devices in virt-manager.
```bash
yay -S looking-glass
```
On Windows, download the host from https://looking-glass.io/downloads
```bash
sudo virsh edit win11
```
Inside `<devices>`
```xml
<shmem name="looking-glass">
<model type="ivshmem-plain"/>
<size unit="M">128</size>
</shmem>
```
```bash
sudo vim /etc/tmpfiles.d/10-looking-glass.conf
```
```
# Type Path Mode UID GID Age Argument
f /dev/shm/looking-glass 0660 YOURUSER kvm -
```
```bash
sudo rm -f /dev/shm/looking-glass
```
```bash
sudo systemd-tmpfiles --create /etc/tmpfiles.d/10-looking-glass.conf
```
```bash
ls -l /dev/shm/looking-glass
```
Should be owned by my user.
## Install Virtual Display Driver on Windows.
## Configure Looking Glass
```bash
vim ~/.looking-glass-client.ini
```
```ini
[win]
fullscreen=yes
size=2880x18900
dontUpscale=yes
```
```bash
env -u WAYLAND_DISPLAY looking-glass-client
```
## Audio
Edit XML. Inside `<devices>`
```xml
<sound model="ich9"/>
<audio id="1" type="spice"/>
```
## Clipboard
Edit XML. Inside `<devices>`
```xml
<channel type="spicevmc">
<target type="virtio" name="com.redhat.spice.0"/>
</channel>
```
## File Sharing
Enable Memory → Shared in the virt-manager
```bash
sudo pacman -S virtiofsd
```
```bash
mkdir -p ~/vmshare
```
Edit XML. Inside `<devices>`
```xml
<filesystem type="mount" accessmode="passthrough">
<driver type="virtiofs"/>
<source dir="/home/USERNAME/vmshare"/>
<target dir="vmshare"/>
</filesystem>
```
Install virtio-guest-tools. Hey guess what, this also seems to make the windows key work.
Also install winfsp

View File

@@ -1,26 +0,0 @@
# GPU Passthrough on Linux
## Enable IOMMU
```bash
sudo vim /etc/default/grub
```
Add amd_iommu=on iommu=pt
`GRUB_CMDLINE_LINUX_DEFAULT="... amd_iommu=on iommu=pt"`
```bash
sudo grub-mkconfig -o /boot/grub/grub.cfg
sudo reboot
```
Verify
```bash
sudo dmesg | grep -i iommu
```
```bash
lspci -nn | grep -E "VGA|Audio"
```

28
home.md
View File

@@ -1,28 +0,0 @@
## Welcome to your wiki!
Your Otter Wiki is up and running.
This is your [[Home]] Page, the first page you see when you access your
wiki.
The first steps you might want to do:
1. [Register an account](/-/register). The very first account is an
admin account which is able to configure the wiki.
2. Check the [configuration](/-/admin#application_preferences) of your wiki.
You can change its name, configure the permissions necessary to
view and edit pages or upload attachments.
3. If you require users to confirm their email address (recommended),
make sure that you will configure and test your [Email Preferences](/-/admin#mail_preferences).
4. [Edit your Home](/Home/edit)! Do not like the change? Visit the
page [history](/Home/history) and revert any change ever made.
5. You can [attach](/Home/attachments) images and other files to any page
and then display them and link to them inside the page.
6. [Create new pages](/-/create)! If you need help with the Markdown syntax,
check out the [Markdown guide](/-/help/syntax).
7. Read the [user guide](/-/help) and learn about An Otter Wikis features.
We hope that An Otter Wiki is just what you are looking for.
If you have any suggestions, feature requests or run into any
issues, please reach out and report them
via [github](https://github.com/redimp/otterwiki/issues).