Xen und 3D

Hallo,
hat eigentlich jemand einen kernel 3.0 im Einsatz mit pciback? So weit ich das gesehen habe, ist bei jeremeys next-3.0 branch pciback dabei, allerdings is das die rc7 Version des Kernels. Konrad hat pciback in dem next-3.0 branch auch pciback, allerdings ist die kernel version rc4. Im Master ist kein pciback. Empfehlt ihr einen bestimmten branch für kernel 3.0 inkl pciback? Dass ein vga patch nötig ist weiss ich.

Gruß Ben
 
Hallo zusammen mich interessiert dieses Thema ebenfalls und ich hab mir auch direkt nen Acc erstellt :)

Was mich noch interessieren würde ist ob das MB IOMMU unterstützen MUSS oder es nur optimal ist, weil wenn nicht muss ich mir wohl ein neues holen.

mfg xRamses
 
Hallo xRamses,
naja das kommt darauf an, was du machen möchtest. Wenn du pci devices nur an pv domains weiterreichen willst, dann brauchst du kein iommu. wenn du allerdings an eine hvm domain (zb windows) oder die grafikkarte an eine domain weiterreichen willst, dann benötigst du iommu.

gruß
 
So da ich jetzt mein neues MB habe muss ich wohl den Thread hier ausgraben.

Meine Systemkonfiguration sieht im Moment so aus:

MB: Asus Crosshair IV Extreme
CPU: AMD Phenom II 965 (c3 serie)(unterstützt Vd-T)
GPU: 1: GT220
2: Radeon 5450

Meine Interessen sind ähnlich wie die des Threadmakers : Ich will eine Win7 VM fürs Zocken und eine mit Debian/Ubuntu.
So erstmal würde mich interessieren ob irgentwer bisher das Ganze mit dem 3.0 Kernel versucht hat der ja das ganze Vereinfachen soll
bzw eine grobe Anleitung wie das ganze gehen soll, braucht nicht zu detailreich sein sollte aber ungefähr das umfassen was man braucht.
Eine grobe Anleitung wäre auch nicht schlecht da der ganze Thread und der umstieg auf den 3.0er Kernel doch irgentwie verwirrend ist ( was braucht man jetzt was nicht etc.)

Linux und Programmierung sind mir doch ziemlich geläufig :)

mfg xRamses
 
Da ich das gleiche zur Zeit auch umsetze, kann ich dich ja schon mal an meinen Erfahrungen teilhaben lassen:

  1. Das Ganze funktioniert von Linux aus. Erstmal musst du die Distribution installieren. Nach Möglichkeit benutzt du da nen 3.1er Kernel, weil der schon alles für Xen an Board hat. Dem 3.0er fehlten noch Treiber.
  2. Dann installierst du Xen über Paketverwaltung und bootest dein Linux-System über den Hypervisor. Damit läuft das Linux-System schon mal als Dom0.
  3. Jetzt kannst du schon mal die PCI-Devices von deinem Linux-System lösen. Da du verschiedene GPU-Marken nutzt, könnte Module-Blacklisting dafür ausreichen. Außerdem musst du das Modul „xen-pciback“ mit der Option „hide=(0123:45:67.8)“ laden. Wenn kein anderes Modul die Hardware nutzt, kannst du es jetzt an eine VM durchreichen.
  4. Dafür erstellst du eine Configdatei, aus der dann die VM erstellt wird. Meine heißt „/etc/xen/vm-winxp-01“und hat folgenden Inhalt:
    Code:
    name    = "winxp-01"
    localtime=1
    
    import os, re
    arch    =    os.uname()[4]
    if re.search('64', arch):
        arch_libdir = 'lib64'
    else:
        arch_libdir = 'lib'
    
    kernel    = "/usr/lib/xen/boot/hvmloader"
    builder    ='hvm'
    memory    = 1024
    vcpus    = 1
    
    pci_msitranslate=1
    
    # Should be at least 2KB per MB of domain memory, plus a few MB per vcpu.
    shadow_memory = 20
    
    acpi = 1
    apic = 1
    
    disk =    ['phy:sdb,hda,w',
    #     'file:/home/ftp/images/ubuntu-10.04.1-desktop-i386.iso,hdc:cdrom,r'
         'file:/home/patrik/Dump/MB_Support-CD.iso,hdc:cdrom,r'
        ]
    boot = 'c';
    
    device_model = '/usr/' + arch_libdir + '/xen/bin/qemu-dm'
    
    sdl=0
    vnc=1
    vncconsole=1
    vncpasswd=''
    
    serial='pty'
    gfx_passthru=0
    iommu=1
    pci=['02:00.0,1','04:00.0']
    #pci = ['04:00.0']
  5. Jetzt tauchen zumindest bei mir die PCI-Devices in der VM auf. Bisher scheitere ich aber daran, den Grafiktreiber zu installieren. (Mit dem zweiten Device, einer Netzwerkkarte, hat das so aber einwandfrei geklappt. Hilfe ist willkommen.) Das sieht bei mir dann so aus:
    pci-passthru-graka.png
 
Zuletzt bearbeitet:
Gut dann muss ich erstmal den 3.1 Kernel kompilieren.

Was dein Problem angeht was genau scheitert am installieren des Treibers bzw Fehlermeldung?

mfg xRamses
 
Was da scheitert, weiß ich leider (noch) nicht. Hab auch zugegeben keine Ahnung von Windows – weiß nicht mal, wie ich in die Logs komme, in denen ich nach dem Fehler suchen könnte.
 
Mir wäre neu das Windows überhaupt Logs über deratige Dinge anlegt bzw wenn dann nur mit unnützen Informationen ...

Aber irgentwas muss Windows ja melden als PopUp?

mfg xRamses
 
Wie gesagt – ich hab nicht viel Ahnung von Windows. Kann gut sein, dass es gar keine Logs gib - war nur davon ausgegangen. Sagen tut Windows auf jeden Fall nichts, was mich weiterbringen würde. Wenn ich ne Treiberaktualisierung machen will, kommt nur es: „Es konnte keine zutreffendere als die installierte für die Hardwarekomponente gefunden werden.“

Wahrscheinlich löst sich das Problem von allein, wenn ich nen Treiber für dieses „Xen pci device #0“ gefunden habe. Aber ich hab seit über fünf Jahren keinen Treiber mehr selbst installieren – geschweige denn suchen müssen. (100% Linux-Nutzer, der sich ein Wintendo baut…)
 
Treiberaktualisierungen haben noch nie so richtig funktioniert wenn der Treiber nicht irgentwo am Computer gespeichert ist ...

Ach ja welche Version von Xen verwendest du die 4.0 oder die 4.1?

mfg xRamses

EDIT: Habe soeben den Kernel fertig kompiliert und das ganze samt Xen auch schon gestartet jedoch ist nach Loading PCI-Devices schluss mit dem Bild ist das normal?
 
Zuletzt bearbeitet:
Ich benutze die 4.1 und habe es jetzt auch mit Windows 7 probiert – da gibt es genau das gleiche Problem. Hab auch schon den Xen-Treiber in Windows installiert – und den Catalyst sowieso.

Zum schwarzen Bildschirm: Wenn du deinem Dom0 mit Xen eine Grafikkarte wegnimmst, darf das natürlich nicht die primäre sein. Das Problem lässt sich aber umgehen, indem du händisch eine xorg.conf schreibst, in der die freie Grafikkarte verwendet wird. (Zur Analyse lasse ich auf dem Host immer auch ssh starten. Damit kann man wunderbar gucken, was man falsch eingestellt hat, wenn kein Bild kommt.)
 
Schon klar das ich ihm nicht die GraKa wegnehmen darf nur habe ich das garnicht gemacht (oder zumindest glaube ich das)
BTW Ich glaub ich update auch auf 4.1

mfg xRamses
 
Dank Kernel-Update bei Fedora (oder BIOS Update, das aber angeblich nichts als Unterstützung für AM3+-CPU gebracht hat) klappt IOMMU bei mir jetzt Out-of-the-Box. Jetzt benutze ich meine HD3450 für Linux und meine HD5750 für Windows. Als einziges fehlt mir jetzt noch ne elegante Lösung für Sound und für die Eingabegeräte. (Natürlich könnte ich mir alles doppelt einbauen, aber das wird auch reichlich unpraktisch…)
 
Gut das du es geschafft hast :)
Ich hab mir eben Debian mit unaufgelösten Paketen zerschossen :ugly:
Naja wenigsten kann ich jetzt gleich sauber alles installieren.

Ach ja was Module-Blacklisting angeht, sind nicht alle Treiber unter Debian fest im Kernel ?
Oder meinst du mit Blacklisting einfach das nutzten von pciback beim Booten wie in diesem Ausschnitt?
Code:
... ro 'pciback.hide=(00:01.0)' ...

mfg xRamses
 
Die Grafiktreiber werden als Module je nach Hardware dynamisch geladen. Du kannst sie in /etc/modprobe.d/blacklist.conf (oder Debian-Äquivalent) blacklisten, sodass die Hardware nicht geladen wird. Beim Booten kannst du pciback nur nutzen, wenn es im Kernel einkompiliert ist. Ich nutze es als Modul und muss es daher laden, bevor sich ein anderes Modul das Device krallt. (Bleibe halt bei dem, was in den Fedora-Repos so angeboten wird und mache mir nicht unnötig Arbeit.)
 
Hmm scheint bei Debian direkt im Kernel zu sein oder ich finde das Modul einfach nicht.

Egal ich glaub ich besorg mir jetzt auch Fedora das hat in der Richtung ja wesentlich mehr ...

mfg xRamses
 
Soo hab jetzt Fedora 16 plus einem laufenden Xen-Hypervisor.

Nur kann ich das Modul für die Grafikkarte nicht blacklisten.
Soweit ich weiß musste man unter Ubuntu mit
update-initramfs -u das ganze Updaten aber für Fedora scheint es das nicht zu geben?

mfg xRamses
 
Wie gesagt: Die initial Ramdisk musst du nicht anfassen, es reicht, das Modul zu blacklisten oder alternativ xen-pciback vor dem anderen Modul laden. ich habe dafür eine Datei „/etc/modprobe.d/radeon.conf“ angelegt, die erst mal xen-pciback lädt:
Code:
install radeon /sbin/modprobe xen-pciback ; /sbin/modprobe --first-time --ignore-install radeon
 
Hmm ändert nichts das Modul taucht bei lsmod immernoch auf ...

BTW ich hab einfach eine Datei "etc/modprobe.d/blacklist-radeon.conf" angelegt mit dem Inhalt:
Code:
blacklist radeon

Ist nicht genau das blacklisting?

mfg xRamses
 
Zurück