Direkt zum Hauptinhalt

VGA Grafikkarte in VM (KVM) durchreichen

Vorraussetzung wie im vorherigen Seite. Das auch die Grafikkarten geblacklistet wurden.
Siehe: Einschalten von vt-d für Intel CPUs (iommu)

Eine VM Erstellen:
Bildschirmfoto vom 2022-10-20 13-13-35.png

Nun ISO und OS auswählen, hier eine Windows 10 Machine mit ISO. Wenns ein Linux ist,linux auswählen.
Hier sind die Einstellungen egal.


Bildschirmfoto vom 2022-10-20 13-17-11.png

Hier:

Machine q53 auswählen.
BIOS : OVMF (UEFI) auswählen
Add EFI Disk : Haken rein
Storage dazu auswählen
Pre-Enroll-Keys : Haken rein
Qemu Agent : Haken rein
Add TPM : Haken rein
Storage dazu auswählen

Bildschirmfoto vom 2022-10-20 13-19-00.png

Nun wieder wie gehabt eine Festplatte zuweisen. Ich nehme hier virtio und 128 GB.
Denkt bei Windows dran, im Anschluss ein zweites CD/DVD Laufwerk mit den Virtio Treibern hinzuzufügen.
Download hier : https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md
Die latest Stable und die guest tools sin im Anhang dieses Artikels.

Nun  die CPU settings
Bildschirmfoto vom 2022-10-20 13-26-59.png

Memory Settings

Bildschirmfoto vom 2022-10-20 13-28-05.png

Network Settings.
Hier auf VirtIO stellen
Das schöne ist das Win 110/1 die Treiber nicht kennt und somit ein lokales Konto verwendet/erstellt werden kann,

Bildschirmfoto vom 2022-10-20 13-29-37.png

Nun auf finisch, haken bei Start after creation raus.

Bildschirmfoto vom 2022-10-20 13-30-41.png

Nun noch ein zweites CD/DVD Laufwerk erstellen für die VirtIO treiber. Aber nur nötig bei Windows VMS. sonst kann dieser Teil übersprungen werden.

Nun die Grafikkarte hinzufügen.
Dazu auf Add Hardware PCI, dann die Grafikkarte auswählen. mit der 0 bei der ID am ende.

Menü_001.png

Hier Haken bei All Funcktions rein und Primary GPU auch Haken rein. Und PCI-Express auch rein

Screenshot 2022-10-21 at 12-17-52 mediawohn - Proxmox Virtual Environment.png

Damit die Graffikarte nicht geladen wird, müssen wir die IDs black listen.
Dazu erstmal die IDs bekommen.
Die bekommen wir mittels  lspci -n -s 01:00
01:00 ist die erste PCI ID usnerer Graffikarte (Siehe Screenshot Grafikkarten auswahl in derVM

lspci -n -s 01:00


Ausgabe:

01:00.0 0300: 10de:1380 (rev a2)
01:00.1 0403: 10de:0fbc (rev a1)

Nun die Beiden IDS blacklisten. DIese IDS sind von der GPU und der Soundkarte auf der GPU (HDMI hat Sound)

echo "options vfio-pci ids=10de:1380,10de:0fbc" > /etc/modprobe.d/vfio.conf
 ,multifunction video=vesafb:off video=efifb:off iommu=pt pt"

In der GRUb conf hinzufügen
Für legacy

nano /etc/default/grub
update grub

Unter EFI

nano /etc/kernel/cmdline
pve-efiboot-tool refresh

hinzufügen


Nun reboot, des Proxmox hosts.

reboot

Wenn alles geklappt hat sollte der Loginscreen nicht mehr kommen, sondern mitten im Boottext stecken bleiben, da die Grafikkarte hier abgewürgt wurde.


Wenn das Bild auf no  signal bleibt.

In der /var/log/syslog schauen

tail -f /var/log/syslog



Bevor es weiter geht testen ob die Grafikarte UEFI OMFV fähig ist

apt install git gcc make
git clone https://github.com/awilliam/rom-parser
cd rom-parser
make

Nun das rom aus der Grafikkarte holen

cd /sys/bus/pci/devices/0000:01:00.0/
echo 1 > rom
cat rom > /tmp/image.rom
echo 0 > rom

Jetzt das image testen

cd ~
./rom-parser /tmp/image.rom



ff