[SOLVED] PCIe GPU passthrough / PCIe Link Speed

Discussion in 'Proxmox VE (Deutsch)' started by xi784, Feb 16, 2019.

  1. xi784

    xi784 New Member

    Joined:
    Feb 14, 2019
    Messages:
    4
    Likes Received:
    0
    Vorweg ein herzliches "Hallo" an die Proxmox-Gemeinde :),

    mich würde mal interessieren ob das Problem eigentlich "hier" bekannt ist bzw. ob es ein Workaround gibt?

    Beim durchreichen der PCIe Geräte (Windows Gast) wird offensichtlich die Link Speed der Lanes nicht mehr "richtig" eingestellt bzw. kann nicht durch "ASPM"? angepasst werden. In meinem Fall z.b. eine GTX1060.

    siehe auch (darf noch keinen Link posten :eek:)
    forum.level1techs.com/t/increasing-vfio-vga-performance/133443

    lspci gibt dann auch nach starten des Gastsystems lediglich 2,5GTs/x8 aus, anstelle der 8GTs/x8 vor dem einbinden.

    Das NV Control Panel zeigt die Karte ebenfalls nur noch mit PCIe x1 an. GPU-Z liest zwar PCIe 3.0 x8 aus, ich habe das aber selber mal mit "concBandwithTest" getestet und erreiche dort auch nur um die ~2600MB/s.

    Das einbinden über einen "root-bus" habe ich mal getestet, leider bekomme ich die GPU/Treiber danach nicht mehr zum "laufen".

    Viele Grüße
    nik
     
  2. dlimbeck

    dlimbeck Proxmox Staff Member
    Staff Member

    Joined:
    Aug 1, 2018
    Messages:
    137
    Likes Received:
    9
    Du könntest von q35 und pcie auf pci wechseln und es testen.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. xi784

    xi784 New Member

    Joined:
    Feb 14, 2019
    Messages:
    4
    Likes Received:
    0
    Hey dlimbeck,

    erstmal dank für die Antwort - ja das "wäre" eine Option gewesen - scheiterte aber trotz aller Tricks am "Error 43" beim Grafiktreiber.

    Aber, ich habe wohl überlesen, das bereits ein Patch in qemu 3.1 enthalten ist, was soll ich sagen - habe mir qemu 3.1 gebaut und siehe da es funktioniert und das sogar in meinem "Vollausbau"

    3x GTX 1060 in 3x Windows 10 VM @ i9-9900k
    8GTs x8 PCIe 3.0 ~10000MB/s via CPU
    8GTs x8 PCie 3.0 ~10000MB/s via CPU
    8GTs x4 PCIe 3.0 ~4500MB/s via Chipsatz

    letztere war immer das größte Problem, je nach Spiel gab das ordentliche "Nachladeruckler" .. :rolleyes: - super gut.

    Jetzt vermute ich allerdings, das bis es qemu 3.1 nach Proxmox schafft wohl noch einige Zeit vergehen wird :(

    Lässt sich pve-qemu-kvm irgendwie mit qemu 3.1 basteln?

    Viele Grüße
    nik
     
  4. dlimbeck

    dlimbeck Proxmox Staff Member
    Staff Member

    Joined:
    Aug 1, 2018
    Messages:
    137
    Likes Received:
    9
    Theoretisch ist es möglich, kann nur sein dass unsere Patches sich nicht einfach applien lassen. Also gut möglich dass es viel Aufwand ist. Aber grundsätzlich möglich wenn das qemu submodule auf 3.1 upgedated wird.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. xi784

    xi784 New Member

    Joined:
    Feb 14, 2019
    Messages:
    4
    Likes Received:
    0
    Ich wurde "gerade" per PM getriggert, inwiefern sich das bemerkbar gemacht hat.

    Das Problem wird vermutlich immer erst dann deutlich, insofern man mehr als nur eine Karte durchschleift.

    Mein Verständnis ist, das zumindest bei NVIDIA Grafikkarten, der Treiber die Karte nur als PCIe 1.1 "erkennt" unabhängig von der Anzahl der Lanes.
    Und da mag ich mich irren, vielleicht trifft das sogar auf alle PCIe Karten zu, welche zumindest in eine Windows VM durchgereicht werden. Ich hatte sowohl das PCIe Link State Management in Windows deaktiviert, als auch dem NVIDIA Treiber via Registry "gezwungen" PCIe 3.0 zu verwenden, hatte keine Veränderung gebracht.

    D.h. insofern nur eine Karte gesteckt ist, habe ich in der Praxis immer noch 2,5GTs(PCIe 1.1)/x16 und einen Durchsatz von ca. 4000 MB/s abzgl. Overhead etc., theoretisch hätten wir allerdings bei 8GTs bzw. 10GBs/x16 ca. 15500MB/s erwarten können (PCIe 3.0 arbeitet mit einer effektiveren Kodierung und erzeugt zudem weniger Overhead).

    In der Praxis ist das bis dahin erst einmal irrelevant, da selbst bei grafikintensiven Spielen die Geschwindigkeit des PCIe Ports selten ausgereizt wird - konnte in der Konstellation eigentlich auch keine Probleme feststellen.

    Mit der zweiten Karte allerdings wurde das Problem dann deutlicher. Teilweise und abhängig vom Spiel gab es nach einiger Zeit heftige "Nachladeruckler" (z.B. Resident Evil 7), ich vermute das Daten zwischen RAM und VRAM ausgetauscht wurden.

    Mit concBandwithTest kam ich auch nur noch auf ca. 2500MB/s pro Karte, was dann auch 2,5GTs (PCIe 1.1)/x8 entspricht.

    Bei der dritten Karte welche ohnehin nur noch mit 4 Lanes vom Chipsatz angebunden ist, war es dann über deutlich. Theoretisch hätte man mit PCIe 3.0 eigentlich noch ~4000MB/s erwarten können, tatsächlich waren es teilweise weniger als 1000MB/s.


    Zusammenfassend:
    Wer lediglich eine Karte x16 betreibt, wird vermutlich keine großen Einbußen haben.
    Bei zwei Karten, via x8 Lanes ist es teilweise bemerkbar.
    Und bei drei Karten bzw. eine schon nur noch via Chipsatz und x4 angebunden, merkt man es deutlich.


    Der Workaround via qemu 3.1 funktioniert für mich erst einmal, da ich meine VMs in der Regel via proxmoxwol script starte, habe ich mir für die VMs ein eigenes Startscript erstellt und proxmoxwol angepasst.

    VG
    nik
     
  6. dlimbeck

    dlimbeck Proxmox Staff Member
    Staff Member

    Joined:
    Aug 1, 2018
    Messages:
    137
    Likes Received:
    9
    Gut dass der workaround vorerst funktioniert. Wir werden es mit Sicherheit auch in Zukunft unterstützen, jedoch kann ich noch nicht sagen wann es so weit sein wird.
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
    xi784 likes this.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice