[SOLVED] Intel ARC A750 PCIe Passthrough

deebrodynamite

New Member
Sep 16, 2022
11
1
3
Berlin
Hallo Leute,

ich möchte meine Grafikkarte an eine Windows11 VM durchreichen und komme nicht weiter. Vielleicht ist ja jemand so freundlich und schaut sich das mal an.

Zur Situation:


UEFI Settings:
Intel (VMX) Virtualisation Technology - enabled
VT-d - enabled

1. Anpassung der Datei /etc/kernel/cmdline
root=ZFS=rpool/ROOT/pve-1 boot=zfs intel_iommu=on

2. Anpassung der Datei /etc/modules

vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

3. IOMMU remapping

Der Datei
/etc/modprobe.d/iommu_unsafe_interrupts.conf
Diese Zeile hinzufügen:
options vfio_iommu_type1 allow_unsafe_interrupts=1

Der Datei
/etc/modprobe.d/kvm.conf
Diese Zeile hinzufügen:
options kvm ignore_msrs=1

4. Vorgenommene Anpassungen anwenden

Kernelparameter:
proxmox-boot-tool refresh

Kernelmodule:
update-initramfs -u -k all

5. Verbaute PCI Devices auflisten
lspci

6. Entsprechendes Device identifizieren
(im Beispiel) 03:00.0 VGA compatible controller: Intel Corporation DG2 [Arc A750] (rev 08)
PCI ID der Grafikkarte 03:00.0

lspci -n -s 03:00.0 -v


Ergebnis:
03:00.0 0300: 8086:56a1 (rev 08) (prog-if 00 [VGA controller])
.
.
Kernel driver in use: i915
Kernel modules: i915

Hexadezimale Device ID 8086:56a1

7. HexID der Grafikkarte modprobe hinzufügen und VGA "disablen"
echo "options vfio-pci ids=8086:56a1 disable_vga=1"> /etc/modprobe.d/vfio.conf

8. Anpassung von /etc/modprobe.d/blacklist.conf
echo "blacklist i915" >> /etc/modprobe.d/blacklist.conf

9. Anwenden der Anpassungen
update-initramfs -u -k all

10. Reboot

Leider…
lspci -n -s 03:00.0 -v sagt immer noch, dass das Kernel Modul i915 geladen ist / wurde..

"IOMMU not active!"

Was mach ich falsch und / oder was fehlt noch?

Viele Grüße
 
Last edited:
Was mach ich falsch und / oder was fehlt noch?

Viele Grüße
Zunächst einmal ist so ein Setup nicht ganz ohne, denn wenn alles gutgeht, ist Blindflug angesagt, jedenfalls solange da nicht noch eine serielle Konsole existiert.

Ich wollte davon profitieren, daß ich mit meinem Serpent Canyon NUC12 ja zwei GPUs habe, die iGPU in der CPU und eine ARC 770m.

Aber die laufen beide über den gleichen Treiber und sie sorgfältig zu trennen, ist nicht immer möglich.

Ich habe bei NUC erst mal aufgegeben, weil dort z.B. die ARC A700m teilweise ihre Display-Ausgänge physisch über die iGPU vom Alder Lake i7-12700H führt, vor allem die an den Thunderbolt-Anschlüssen.

Ich habe da dann viele Posts gesehen, die beschreiben wie schwierig das ist, aber auch noch keinen, der zeigt, wie es trotzdem funktioniert, denn eigentlich müßte es möglich sein, wenn die ARC wirklich als separate Karte in einem Slot steckt.

Aber hier ist erst mal sicherzustellen, daß im Idealfall der Umgang mit dem System noch möglich ist, denn die gleichzeitige Benutzung der GPU durch Host und VM ist trotz der physischen Fähigkeit die Intel GPUs zu Partitionieren, mangels Abstraktionsschichten und Treiber nicht verfügbar.
 
  • Like
Reactions: deebrodynamite
Zunächst einmal ist so ein Setup nicht ganz ohne, denn wenn alles gutgeht, ist Blindflug angesagt, jedenfalls solange da nicht noch eine serielle Konsole existiert.

Ich wollte davon profitieren, daß ich mit meinem Serpent Canyon NUC12 ja zwei GPUs habe, die iGPU in der CPU und eine ARC 770m.

Aber die laufen beide über den gleichen Treiber und sie sorgfältig zu trennen, ist nicht immer möglich.

Ich habe bei NUC erst mal aufgegeben, weil dort z.B. die ARC A700m teilweise ihre Display-Ausgänge physisch über die iGPU vom Alder Lake i7-12700H führt, vor allem die an den Thunderbolt-Anschlüssen.

Ich habe da dann viele Posts gesehen, die beschreiben wie schwierig das ist, aber auch noch keinen, der zeigt, wie es trotzdem funktioniert, denn eigentlich müßte es möglich sein, wenn die ARC wirklich als separate Karte in einem Slot steckt.

Aber hier ist erst mal sicherzustellen, daß im Idealfall der Umgang mit dem System noch möglich ist, denn die gleichzeitige Benutzung der GPU durch Host und VM ist trotz der physischen Fähigkeit die Intel GPUs zu Partitionieren, mangels Abstraktionsschichten und Treiber nicht verfügbar.
Vielen, vielen Dank für Deine ausführliche Antwort. Sehr aufschlussreich.

Zum letzten Abschnitt. Gerade, weil die Grafikkarte einen Steckplatz hat, und Proxmox ja auch gut mir der OnBoard Grafik zurechtkommt, wenn die GK nicht verbaut ist. Die VM könnte ja auch die volle Leistung der GK GPU bekommen. Ein komplettes, direktes Durchreichen an eine einzelne VM. Irgendwie muss es doch gehen. Ärgerlich.. Hmpf
 
Ah, ist ja eine -K keine -KF CPU...

Ja, es sollte eigentlich gehen, sobei ich auch mit Proxmox immer etwas mehr Probleme hatte, als mit "normalen" Linux Varianten, wenn es um GPU-pass-through ging. Am meisten habe ich das mit oVirt/RHV gemacht, wo ich es auch produktiv im Firmenlabor mit DC-GPUs einsetze..

Das Problem ist, daß man an diversen Stellen die PCI device IDs vor den Treibern schützen kann und ggf. muß: Bei den Boot-Parametern, in /etc/modprobe.d und ggf. noch an diversen anderen Stellen wo Blacklists zum Tragen kommen.

Und dann habe ich oft genug festgestellt, daß diese Parameter auch schon mal ignoriert werden und man sich die Boot-Logs sehr genau durchlesen muß, ob das auch geklappt hat.

Intel Treiber scheinen schon sehr darauf fokussiert zu sein, die Konsole mit zu betreiben. Bei Nvidia ist der reine Compute-Betrieb halt gang und gäbe. Mit AMD GPUs hatte ich vor vielleicht 15 Jahren zwar die ersten Erfolge, aber da habe ich seid vielen Jahren keine dGPUs mehr im Einsatz.

Für mich war es auf dem Gerät nur eine Fingerübung, weil am Ende die ARCs für Machine-Learning einfach zu wenig Leistung und Unterstützung boten. Für die eigentliche Arbeit habe ich dann wieder Nvidias benutzt, wo das alles besser eingespielt ist.

Da habe ich nach der initialen Einrichtung bei Proxmox wie bei oVirt/RHV und Xcp-ng (Xen) keine Probleme mehr gehabt, das ist aber auch sehr verbreitet.
 
  • Like
Reactions: deebrodynamite

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!