joshlukas

Active Member
Apr 21, 2017
13
0
41
41
Hallo allerseits.

Vor einigen Tagen habe ich Proxmox aufgesetzt. Mehr oder minder nach der Anleitung von unicks.eu auf Youtube. Also eine Kiste mit virtualisiertem Win10 das meine Radeon 280X an das Windows durchreicht. Sinn und Zweck des ganzen soll es sein eine Daddelkiste, Fileserver, Webserver und später noch mehr in einem Rechner zu vereinen. Leider bleibe ich an einer Stelle hängen und komme nicht weiter. Ich wäre froh, wenn mir jemand hier weiter helfen kann. Im Detail geht es um folgende Ausgabe in dmesg bzw. syslog:

Code:
[   88.321026] VFIO - User Level meta-driver version: 0.3
[   88.322350] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=io+mem
[   88.337078] vfio_pci: add [1002:6798[ffff:ffff]] class 0x000000/00000000
[   88.353088] vfio_pci: add [1002:aaa0[ffff:ffff]] class 0x000000/00000000
[   88.715056] device tap200i0 entered promiscuous mode
[   88.719934] vmbr0: port 2(tap200i0) entered forwarding state
[   88.719966] vmbr0: port 2(tap200i0) entered forwarding state
[   90.057364] vfio_ecap_init: 0000:01:00.0 hiding ecap 0x19@0x270
[   90.057376] vfio_ecap_init: 0000:01:00.0 hiding ecap 0x1b@0x2d0
[   93.417031] kvm: zapping shadow pages for mmio generation wraparound
[   93.419521] kvm: zapping shadow pages for mmio generation wraparound
[  113.838390] kvm [2664]: vcpu1 unhandled rdmsr: 0x641

Folgender Aufbau liegt zu Grunde:

Intel Xeon E3-1230v3
Radeon R9 280X (PCIe Slot 1) - soll an Win10 VM durchgereicht werden
Geforce GT 710 (PCIe Slot 6) - soll Host zugewiesen sein
MSI Board Z97 Chipsatz
16 GB DDR3 RAM
250 GB SSD (Samsung 840 Evo) als Systemplatte inkl. Cache und Swap für SSD Caching
3 x 3TB WD HDD für Cold Storage inkl. VMs, Container, Templates
ZFS Dateisystem

Das ganze Setup läuft soweit gut, bis auf das Durchreichen der Radeon Karte ans virtualisierte Windows 10 (Siehe Logauszug oben)

Was ich gemacht habe ist, im Grub die Geforce dem Host zugewiesen. Klappt soweit gut. Starte ich jedoch die Win10 VM mit der durchgereichten Radeon, flackert kurz der Monitor auf und bleibt dann schwarz. Man hört die Festplatten, dass das System hochgefahren wird. Im Webinterface läuft die Winose, jedoch bekomme ich keinen Zugriff auf eine grafische Oberfläche. Weder via VNC, noch direkt über die Grafikausgabe am angeschlossenen Monitor. Hat jemand eine Idee an was das liegen könnte? Weiß mir nicht mehr zu helfen. :(


Grüßla

Lukas
 
Last edited:
Meine Erfahrung mit dem durchgereichten Grafikkarte ist, dass VNC damit nicht funktioniert.

Hast du "options kvm ignore_msrs=Y" für dein KVM-Modul gesetzt?
Hast du "options vfio-pci ids=" für deine Grafikkarte richtig gesetzt?
Wie sieht denn deine VM-Configfile aus?

Allgemein würde ich dir davon abraten datteln/server etc unter einem Proxmox zum laufen zu bekommen. Hatte selbst so eine Maschine (GTX1060, Verschiedene Server, Zocken, Entwickeln, Windows, Mac, etc.), aber sehr häufig mit Problemen zu kämpfen. V.A. Wenn ein Server Leistung zieht, kann dass den IO massiv beeinflussen (sprich, maus Ruckelt, Ton springt). IO-Threadding für alle(!) VM-Festplatten hilft dort zwar, und ein paar Registry-Hacks unter Windows, aber ganz wird man das Problem nicht los.
 
Hi Yakuraku. Vielen Dank erstmal für deine Antwort. Der PC wird zu Hause benutzt und zu krasse Dinge laufen nicht drauf. Ein kleiner Blog läuft in nem Container, NFS und Samba aufm Host als Fileserver fürs heimische Netzwerk, vermutlich wird irgendwann später pfsense drauf laufen und eben das Windows. Im Sommer habe ich vor auf AMDs Ryzen Plattform umzusteigen und die HDDs will ich durch SSDs ersetzen, die Kiste wird also dicker.

Meine VM Config von windows sieht so aus:

Code:
balloon: 4096
bios: ovmf
bootdisk: virtio0
cores: 6
cpu: host
efidisk0: vm-disks:vm-200-disk-2,size=128K
ide2: zfs-templates:iso/Win10_1607_EnglishInternational_x64.iso,media=cdrom
memory: 8192
name: Win10
net0: virtio=2E:64:EA:4C:2D:8E,bridge=vmbr0
numa: 0
ostype: win10
sata0: zfs-templates:iso/virtio-win-0.1.135.iso,media=cdrom,size=166232K
scsihw: virtio-scsi-pci
smbios1: uuid=e116897a-4f80-490c-9f47-300d5ab9163e
sockets: 1
virtio0: vm-disks:vm-200-disk-1,cache=writethrough,discard=on,size=250G
machine: q35
hostpci0: 01:00,pcie=1,x-vga=on

Die ID's müssten korrekt gesetzt sein. lspci gibt folgendes aus:

Code:
00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v3 Processor DRAM Controller (rev 06)
00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor PCI Express x16 Controller (rev 06)
00:14.0 USB controller: Intel Corporation 9 Series Chipset Family USB xHCI Controller
00:16.0 Communication controller: Intel Corporation 9 Series Chipset Family ME Interface #1
00:1a.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI Controller #2
00:1b.0 Audio device: Intel Corporation 9 Series Chipset Family HD Audio Controller
00:1c.0 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 1 (rev d0)
00:1c.2 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 3 (rev d0)
00:1c.3 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d0)
00:1c.4 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express Root Port 5 (rev d0)
00:1d.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI Controller #1
00:1f.0 ISA bridge: Intel Corporation 9 Series Chipset Family Z97 LPC Controller
00:1f.2 SATA controller: Intel Corporation 9 Series Chipset Family SATA Controller [AHCI Mode]
00:1f.3 SMBus: Intel Corporation 9 Series Chipset Family SMBus Controller
01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti XT [Radeon HD 7970/8970 OEM / R9 280X]
01:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Tahiti HDMI Audio [Radeon HD 7870 XT / 7950/7970]
03:00.0 Ethernet controller: Qualcomm Atheros Killer E220x Gigabit Ethernet Controller (rev 13)
04:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 03)
06:00.0 VGA compatible controller: NVIDIA Corporation GK208 [GeForce GT 710B] (rev a1)
06:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1)

In welcher Datei muss ich denn options kvm ignore_msrs=Y setzen?
 
Die VM-Config sieht soweit richtig aus.

Habe bei mir in der File /etc/modprobe.d/kvm.conf "options kvm ignore_msrs=Y" gesetzt. Ist für NVIDIA Grafikkarten zwingend notwendig, wegen "
unhandled rdmsr" Fehlern im Log.
Zusätzlich habe ich in der Datei /etc/modprobe.d/vfio.conf noch die "options vfio-pci ids=XYZ,ZYX" gesetzt. XYZ und ZYXsteht dabei für die Vendor-ID (lspci -n), hier beide (Radeon-Video und Radeon-Audio) eintragen. Beispiel für eine Vendor-ID: 1a03:1150

Bei Änderungen von Dateien in /etc/modprobe.d muss du dein System neustarten!
Falls du ersteinmal zur Laufzeit testen willst, kannst die sys-fs datei /sys/module/kvm/parameters/ignore_msrs Nutzen (echo zum schreiben und cat zum lesen. Diese Änderungen sind aber nach reboot weg!
 
Ahhh. Die /etc/modprobe.d/kvm.conf hat bei mir komplett gefehlt, hatte nur die /etc/modprobe.d/vfio.conf. In dieser steht zusätzlich zu deiner Angabe folgendes:

Code:
options vfio-pci ids=1002:6798,1002:aaa0 disable_vga=1

Im Grub hab ich zusätzlich folgendes stehen, um den Host nicht von der ersten Grafikkarte (PCIe Nr. 1 - Radeon 280X - die will ich ja an die Win10 VM durchreichen):

Code:
GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on video=efifb:off"

Und in der /etc/X11/xorg.conf.d/secondary-gpu.conf folgendes für die AMD Karte:

Code:
Section "Device"
Identifier     "Device0"
Driver         "radeon"
VendorName     "AMD Corporation"
BoardName      "AMD Secondary"
BusID          "PCI:6:0:0"
EndSection

Das funktioniert wunderbar, so dass der Host gleich nach dem BIOS und Bootloader auf die nVidia Karte im sechsten PCIe Slot schaltet und hier anfängt zu booten. Nur hat bislang die AMD Karte dann unter gestarteter Win10 Maschine kein Bild weiter ausgegeben.

Habs grad getestet. Leider besteht das Problem weiterhin. :( Vielleicht werde ich heute noch die PCIe Slots tauschen. Dann verliert das Setup etwas an Komplexität, wenn auch das nicht das Optimum, die Karte ist meiners Wissens nach im sechsten PCIe Slot nur mit 8 Lanes statt mit 16 angebunden.


UPDATE 24.04.2017: Hab mein gesamtes Motherboard ausbauen müssen um die Karten in ihren Slots zu tauschen. Grafikkarte ist zu lang und stößt im sechsten PCIe Slot an den HDD Käfig... arghhh
Hat allerdings nichts gebracht. Gleiches Ergebnis. Bin dabei das Ganze nochmal unter Proxmox 5 Beta1 mit dem 4.10 Kernel zu testen. Werde berichten wie es dann damit aussieht. Danke nochmal für die Unterstützung Yakuraku.
 
Last edited:
Also mit meiner Radeon R9 280X bekomme ich passthrough nicht zum Laufen. Es gibt einen älteren Thread den ich bis dahin nicht kannte. Die nVidia GT 710 lässt sich hingegen problemlos durchschleifen. Ist zum Zocken natürlich zu lahm. Bleibt mir nichts anderes übrig als die AMD 280X gegen eine geeignete halbwegs performante Karte zu tauschen, denn sonst bin ich von dem Setup begeistert und es läuft rund. ... Wenn jemand an einer Sapphire AMD R9 280X Tripple-X OC interessiert ist ;)

Ach ja, hab inzwischen Proxmox 5.0 Beta1 am Laufen.
 
ne nvidia 1050ti läuft auch unter win 8.1, win 10 nicht, warum auch immer
 
Läuft bei mir inzwischen, wenn auch nun mit einer GTX 970. Vollständigkeitshalber werde ich den Thread updaten und meine Config und mein Vorgehen erläutern. Vielleicht nutzt es jemanden weiter.

Dafür habe ich einen anderen Fehler der mir die ganze Kiste einfrieren lässt (also host und alle guests die ggf. laufen), aber das ist eine andere Geschichte. Werde ich sobald ich wieder an meinem Miniserver dran bin hier im Forum schreiben.

Update: 26.05.2017
Der Fehler mit dem Einfrieren der Kiste hab ich behoben. Folgender Thread half mir: https://forum.proxmox.com/threads/proxmox-4-4-nmi-watchdog-and-network-failure.32038/#post-169231 - Vollständigkeitshalber wollte ich es hier hinzufügen.
 
Last edited:

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!