GPU Passtrough - Ryzen PC mit RX5700

baigner

Neuling
Thread Starter
Mitglied seit
22.11.2013
Beiträge
7
Liebe Community,

ich habe vor, ein GPU Passtrough einzurichten.
Leider habe ich damit bis dato noch keine Erfahrungen sammeln können.
Des Weiteren kommt hinzu, dass ich eine 2. Grafikkarte besorgen muss, da die Ryzen keine Onboard Graka besitzen.

Hier einmal die Komponenten meines Rechners:

CPU: AMD Ryzen 3600X
RAM: 32GB
Mainboard: ASUS MPB X570 Gaming Plus
Grafik: MSI RX 5700 8GB

Die Überlegung ist nun folgende:

Ich besorge mir eine zusätzliche "kleinere" Grafikkarte von NVIDIA, bspw. eine GeForce GT 710, die für das Linux OS (Hypervisor) verwendet wird.
Die RX 5700 verwende ich als Passtrough Grafikkarte für den KVM Windows Guest.

Wäre ein solches Setup möglich?

Weiters wäre ich euch dankbar für Tutorials, sollten für genau solch ein Setup bereits welche bekannt sein.

Vielen Dank!

LG
Bernhard
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Hi, danke für deine Antwort, meinte mit dem Board eigentlich das MSI MPB X570 Gaming Plus, sorry.

Hier die IOMMU Ausgabe:

[ 1.205309] iommu: Default domain type: Translated
[ 1.300830] pci 0000:00:00.2: AMD-Vi: IOMMU performance counters supported
[ 1.301126] pci 0000:00:01.0: Adding to iommu group 0
[ 1.301245] pci 0000:00:01.1: Adding to iommu group 1
[ 1.301391] pci 0000:00:01.2: Adding to iommu group 2
[ 1.301498] pci 0000:00:02.0: Adding to iommu group 3
[ 1.301643] pci 0000:00:03.0: Adding to iommu group 4
[ 1.301754] pci 0000:00:03.1: Adding to iommu group 5
[ 1.301891] pci 0000:00:04.0: Adding to iommu group 6
[ 1.302029] pci 0000:00:05.0: Adding to iommu group 7
[ 1.302135] pci 0000:00:07.0: Adding to iommu group 8
[ 1.302277] pci 0000:00:07.1: Adding to iommu group 9
[ 1.302389] pci 0000:00:08.0: Adding to iommu group 10
[ 1.302535] pci 0000:00:08.1: Adding to iommu group 11
[ 1.302643] pci 0000:00:08.2: Adding to iommu group 12
[ 1.302787] pci 0000:00:08.3: Adding to iommu group 13
[ 1.302897] pci 0000:00:14.0: Adding to iommu group 14
[ 1.302915] pci 0000:00:14.3: Adding to iommu group 14
[ 1.303074] pci 0000:00:18.0: Adding to iommu group 15
[ 1.303092] pci 0000:00:18.1: Adding to iommu group 15
[ 1.303110] pci 0000:00:18.2: Adding to iommu group 15
[ 1.303127] pci 0000:00:18.3: Adding to iommu group 15
[ 1.303144] pci 0000:00:18.4: Adding to iommu group 15
[ 1.303161] pci 0000:00:18.5: Adding to iommu group 15
[ 1.303179] pci 0000:00:18.6: Adding to iommu group 15
[ 1.303195] pci 0000:00:18.7: Adding to iommu group 15
[ 1.303304] pci 0000:01:00.0: Adding to iommu group 16
[ 1.303453] pci 0000:20:00.0: Adding to iommu group 17
[ 1.303592] pci 0000:21:04.0: Adding to iommu group 18
[ 1.303767] pci 0000:21:05.0: Adding to iommu group 19
[ 1.303890] pci 0000:21:08.0: Adding to iommu group 20
[ 1.304044] pci 0000:21:09.0: Adding to iommu group 21
[ 1.304164] pci 0000:21:0a.0: Adding to iommu group 22
[ 1.304332] pci 0000:26:00.0: Adding to iommu group 23
[ 1.304470] pci 0000:27:00.0: Adding to iommu group 24
[ 1.304497] pci 0000:2a:00.0: Adding to iommu group 20
[ 1.304528] pci 0000:2a:00.1: Adding to iommu group 20
[ 1.304554] pci 0000:2a:00.3: Adding to iommu group 20
[ 1.304580] pci 0000:2b:00.0: Adding to iommu group 21
[ 1.304607] pci 0000:2c:00.0: Adding to iommu group 22
[ 1.304756] pci 0000:2d:00.0: Adding to iommu group 25
[ 1.304863] pci 0000:2e:00.0: Adding to iommu group 26
[ 1.305031] pci 0000:2f:00.0: Adding to iommu group 27
[ 1.305065] pci 0000:2f:00.0: Using iommu direct mapping
[ 1.305143] pci 0000:2f:00.1: Adding to iommu group 28
[ 1.305276] pci 0000:30:00.0: Adding to iommu group 29
[ 1.305390] pci 0000:31:00.0: Adding to iommu group 30
[ 1.305550] pci 0000:31:00.3: Adding to iommu group 31
[ 1.305688] pci 0000:31:00.4: Adding to iommu group 32
[ 1.305799] pci 0000:32:00.0: Adding to iommu group 33
[ 1.305948] pci 0000:33:00.0: Adding to iommu group 34
[ 1.306100] pci 0000:00:00.2: AMD-Vi: Found IOMMU cap 0x40
[ 1.307102] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).
[ 1.345815] AMD-Vi: AMD IOMMUv2 driver by Joerg Roedel <jroedel@suse.de>

habe das system mit dem "splash" aus dem archwiki Eintrag ebenfall eingetragen, ergibt die selbe ausgabe.

Wie ist das nun zu interpretieren?

Hier noch mein /etc/default/grub File (wo ich die Änderung permanent setzen könnte):

[wks-lin bernhard]# cat /etc/default/grub
GRUB_DEFAULT=saved
GRUB_TIMEOUT=10
GRUB_TIMEOUT_STYLE=hidden
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="quiet apparmor=1 security=apparmor resume=UUID=effa1d3c-797b-4da0-973b-5b2cd1b3de3c udev.log_priority=3"
....

Die Ausgabe des folgenden Skripts:

#!/bin/bash
shopt -s nullglob
for g in /sys/kernel/iommu_groups/*; do
echo "IOMMU Group ${g##*/}:"
for d in $g/devices/*; do
echo -e "\t$(lspci -nns ${d##*/})"
done;
done;


IOMMU Group 0:
00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
IOMMU Group 1:
00:01.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge [1022:1483]
IOMMU Group 10:
00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
IOMMU Group 11:
00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B] [1022:1484]
IOMMU Group 12:
00:08.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B] [1022:1484]
IOMMU Group 13:
00:08.3 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B] [1022:1484]
IOMMU Group 14:
00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 61)
00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51)
IOMMU Group 15:
00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse Device 24: Function 0 [1022:1440]
00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse Device 24: Function 1 [1022:1441]
00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse Device 24: Function 2 [1022:1442]
00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse Device 24: Function 3 [1022:1443]
00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse Device 24: Function 4 [1022:1444]
00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse Device 24: Function 5 [1022:1445]
00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse Device 24: Function 6 [1022:1446]
00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse Device 24: Function 7 [1022:1447]
IOMMU Group 16:
01:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller SM981/PM981/PM983 [144d:a808]
IOMMU Group 17:
20:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Matisse Switch Upstream [1022:57ad]
IOMMU Group 18:
21:04.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge [1022:57a3]
IOMMU Group 19:
21:05.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge [1022:57a3]
IOMMU Group 2:
00:01.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge [1022:1483]
IOMMU Group 20:
21:08.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge [1022:57a4]
2a:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP [1022:1485]
2a:00.1 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller [1022:149c]
2a:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller [1022:149c]
IOMMU Group 21:
21:09.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge [1022:57a4]
2b:00.0 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7901] (rev 51)
IOMMU Group 22:
21:0a.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Matisse PCIe GPP Bridge [1022:57a4]
2c:00.0 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7901] (rev 51)
IOMMU Group 23:
26:00.0 SATA controller [0106]: ASMedia Technology Inc. ASM1062 Serial ATA Controller [1b21:0612] (rev 02)
IOMMU Group 24:
27:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
IOMMU Group 25:
2d:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Upstream Port of PCI Express Switch [1002:1478] (rev c4)
IOMMU Group 26:
2e:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Downstream Port of PCI Express Switch [1002:1479]
IOMMU Group 27:
2f:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] [1002:731f] (rev c4)
IOMMU Group 28:
2f:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 HDMI Audio [1002:ab38]
IOMMU Group 29:
30:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function [1022:148a]
IOMMU Group 3:
00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
IOMMU Group 30:
31:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP [1022:1485]
IOMMU Group 31:
31:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller [1022:149c]
IOMMU Group 32:
31:00.4 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller [1022:1487]
IOMMU Group 33:
32:00.0 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7901] (rev 51)
IOMMU Group 34:
33:00.0 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7901] (rev 51)
IOMMU Group 4:
00:03.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
IOMMU Group 5:
00:03.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge [1022:1483]
IOMMU Group 6:
00:04.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
IOMMU Group 7:
00:05.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
IOMMU Group 8:
00:07.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
IOMMU Group 9:
00:07.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B] [1022:1484]



AMD-Vi kann ich im BIOS aktivieren, siehe Bild im Anhang.

Wenn ich GRUB_CMDLINE_LINUX="amd_iommu=on" nun auch im Bootloader(Manager) Grub aktiviere, sieht die Sache wie folgt aus:

[wks-lin bernhard]# dmesg | grep -i -e DMAR -e IOMMU
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.4-x86_64 root=UUID=01adc770-7c10-4c4c-af2c-3dc5cfca6beb rw amd_iommu=on quiet splash apparmor=1 security=apparmor resume=UUID=effa1d3c-797b-4da0-973b-5b2cd1b3de3c udev.log_priority=3
[ 0.162674] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-5.4-x86_64 root=UUID=01adc770-7c10-4c4c-af2c-3dc5cfca6beb rw amd_iommu=on quiet splash apparmor=1 security=apparmor resume=UUID=effa1d3c-797b-4da0-973b-5b2cd1b3de3c udev.log_priority=3
[ 1.211596] iommu: Default domain type: Translated
[ 1.310110] pci 0000:00:00.2: AMD-Vi: IOMMU performance counters supported
[ 1.310402] pci 0000:00:01.0: Adding to iommu group 0
[ 1.310513] pci 0000:00:01.1: Adding to iommu group 1
[ 1.310656] pci 0000:00:01.2: Adding to iommu group 2
[ 1.310761] pci 0000:00:02.0: Adding to iommu group 3
[ 1.310908] pci 0000:00:03.0: Adding to iommu group 4
[ 1.311021] pci 0000:00:03.1: Adding to iommu group 5
[ 1.311151] pci 0000:00:04.0: Adding to iommu group 6
[ 1.311289] pci 0000:00:05.0: Adding to iommu group 7
[ 1.311396] pci 0000:00:07.0: Adding to iommu group 8
[ 1.311539] pci 0000:00:07.1: Adding to iommu group 9
[ 1.311650] pci 0000:00:08.0: Adding to iommu group 10
[ 1.311794] pci 0000:00:08.1: Adding to iommu group 11
[ 1.311908] pci 0000:00:08.2: Adding to iommu group 12
[ 1.312055] pci 0000:00:08.3: Adding to iommu group 13
[ 1.312162] pci 0000:00:14.0: Adding to iommu group 14
[ 1.312179] pci 0000:00:14.3: Adding to iommu group 14
[ 1.312345] pci 0000:00:18.0: Adding to iommu group 15
[ 1.312363] pci 0000:00:18.1: Adding to iommu group 15
[ 1.312380] pci 0000:00:18.2: Adding to iommu group 15
[ 1.312398] pci 0000:00:18.3: Adding to iommu group 15
[ 1.312415] pci 0000:00:18.4: Adding to iommu group 15
[ 1.312433] pci 0000:00:18.5: Adding to iommu group 15
[ 1.312450] pci 0000:00:18.6: Adding to iommu group 15
[ 1.312467] pci 0000:00:18.7: Adding to iommu group 15
[ 1.312576] pci 0000:01:00.0: Adding to iommu group 16
[ 1.312725] pci 0000:20:00.0: Adding to iommu group 17
[ 1.312862] pci 0000:21:04.0: Adding to iommu group 18
[ 1.313062] pci 0000:21:05.0: Adding to iommu group 19
[ 1.313182] pci 0000:21:08.0: Adding to iommu group 20
[ 1.313341] pci 0000:21:09.0: Adding to iommu group 21
[ 1.313459] pci 0000:21:0a.0: Adding to iommu group 22
[ 1.313626] pci 0000:26:00.0: Adding to iommu group 23
[ 1.313765] pci 0000:27:00.0: Adding to iommu group 24
[ 1.313792] pci 0000:2a:00.0: Adding to iommu group 20
[ 1.313823] pci 0000:2a:00.1: Adding to iommu group 20
[ 1.313844] pci 0000:2a:00.3: Adding to iommu group 20
[ 1.313870] pci 0000:2b:00.0: Adding to iommu group 21
[ 1.313896] pci 0000:2c:00.0: Adding to iommu group 22
[ 1.314042] pci 0000:2d:00.0: Adding to iommu group 25
[ 1.314151] pci 0000:2e:00.0: Adding to iommu group 26
[ 1.314320] pci 0000:2f:00.0: Adding to iommu group 27
[ 1.314353] pci 0000:2f:00.0: Using iommu direct mapping
[ 1.314431] pci 0000:2f:00.1: Adding to iommu group 28
[ 1.314563] pci 0000:30:00.0: Adding to iommu group 29
[ 1.314679] pci 0000:31:00.0: Adding to iommu group 30
[ 1.314836] pci 0000:31:00.3: Adding to iommu group 31
[ 1.314975] pci 0000:31:00.4: Adding to iommu group 32
[ 1.315085] pci 0000:32:00.0: Adding to iommu group 33
[ 1.315246] pci 0000:33:00.0: Adding to iommu group 34
[ 1.315393] pci 0000:00:00.2: AMD-Vi: Found IOMMU cap 0x40
[ 1.316394] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).
[ 1.349885] AMD-Vi: AMD IOMMUv2 driver by Joerg Roedel <jroedel@suse.de>
 
Zuletzt bearbeitet:
Wenn du Hilfe erwartest, dann verwende bitte die Code-Funktion für deine Ausgaben damit es vom geschriebenem Wort unterscheidbar ist. Ich hab nämlich keinen Bock mir das anzusehen ;)
 
Also deine 5700 ist in den Gruppen 27 und 28 und es ist keine weitere Hardware drin. Das ist gut. Ich kann aus den Informationen die du gepostet hast nicht folgern wohin eine zweite zusätzliche GPU bei dir eingeordnet werden würde. Falls du noch eine alte GPU da hast, steck die mal rein und lass das Script nochmal laufen. Solange die neue GPU dann nicht in Gruppe 27 oder 28 ist sollte alles gut sein.

Bei meinem Gigabyteboard war das zum Beispiel so das fast alle PCIe Geräte in einer Gruppe waren. Aber selbst in einem Fall mit solch schlechten Vorraussetzungen konnte ich Abhilfe schaffen indem ich meinen Kernel mit dem ACS Override Patch selbst kompiliert habe. Jetzt ist alles schön in einzelnen Gruppen.

Einen Hinweis will ich dir noch geben, die 5700er, aka 'Navi', Grafikkarten haben soweit ich weiß alle einen Resetbug. Das heißt nach dem ersten Start der VM kannst du die Grafikkarte die durchgereicht wird bis zu einem Neustart des Hostsystem nicht mehr benutzen. Es gibt einen so halbwegs funktionierenden Navi Reset Kernel Patch. Dieser Patch ist bei Manjaro Linux ab Kernel Version 5.3 eingebaut. Das heißt wenn du nicht den Kernel selber kompilieren willst am besten Manjaro benutzen, die Anleitung aus dem Arch Wiki befolgen und glücklich sein.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh