Xen und 3D

Das, was ich oben beschrieben habe, erlaubt es, das PCI-Device zu verstecken, bevor das radeon-Modul geladen wird. Aber Blacklisting geht bei dir natürlich auch. (Da ich zwei Radeons nutze, hab ich da keine Chance.) Zu dem Weg da oben gehört natürlich auch die Einbindung vom xen-pciback-modul mit den entsprechenden Parametern:

Code:
$ cat /etc/modprobe.d/xen-pciback.conf 
options xen-pciback hide=(0000:01:05.0)(0000:02:00.0)(0000:02:00.1)
 
Aber Blacklisting geht bei dir natürlich auch.
Das ist der Punkt es geht eben nicht das Modul bleibt geladen und ich verstehe nicht warum. (hatte das schon X mal benutzt ...)

pciback hattte ich schon geladen :
Code:
[root@xen-dom0 xen]# cat /etc/modprobe.d/xen-pciback.conf 
options xen-pciback hide=(0000:08:00.0)(0000:08:00.1)

Ich hab die vermutung das garnichts was ich in die .conf schreibe ausgeführt wird ...

mfg xRamses
 
Du kannst es auch auf die harte Tour machen und dem System die Devices einfach entziehen. (Das Script macht faktisch nichts, wenn die Devices schon Xen gehören.) Dazu legst du ein Script wie folgendes an, das du nach dem Start von xend ausführen musst. (Du kannst es z.B. auch in /etc/rc.d/rc.local direkt hinter einen Eintrag „xend start“ schrieben, dann läuft das mit Sicherheit zur richtigen Zeit.)

Code:
#!/bin/sh

BDFS=`cat /etc/xen/pci-devices.cfg | cut -b 1-12`
for BDF in $BDFS
do
        [ ! -e /sys/bus/pci/devices/$BDF/driver/unbind ] || \
                echo -n $BDF > /sys/bus/pci/devices/$BDF/driver/unbind
        echo -n $BDF > /sys/bus/pci/drivers/pciback/new_slot
        echo -n $BDF > /sys/bus/pci/drivers/pciback/bind
done

Zusätzlich brauchst du dann natürlich die „/etc/xen/pci-devices.cfg“, in der ganz einfach pro Zeile eine PCI-ID (z.B. „0000:08:00.0“) steht.
 
Hm muss ich dann ausprobieren aber es muss doch eine Erklärung geben warum ich das Modul nicht einfach blacklisten kann bzw eben mit deiner Methode zu verstecken ??
Schließlich hats bei dir ja auch funktioniert.

EDIT: Ich glaube ich hab den Fehler bei mir gibt es überhaupt keinen Ordner /sys/bus/pci/drivers/pciback oO
Erklärt zwar immernoch nicht warum "blacklist" nicht geht aber immerhin.

mfg xRamses
 
Zuletzt bearbeitet:
Wie hast du denn das blacklisting gelöst?

PS: Ja, bei mir hat es geklappt, mindestens der Soundkarte, die ich noch durch reiche. Ne elegantere Lösung hab ich da leider noch nicht gefunden – für die emulierten Soundkarten habe ich keine Windows-Treiber auffinden können.
 
Hallo

@xRamses: Wenn Du unter Debian beim laden des Kernel module "hiden" willst heisst das als option z.B.
xen-pciback.hide=(06:00.0)(06:00.1) und nicht nur pciback-hide (Wie du geschrieben hast).
Die Optionen sind von Version zu Version immer wieder Unterschiedlich :-(

Annsonsten möchte Ich mich auch mal fuer die vielen Infos hier im Thread bedanken! (Dies ist mein erster Post)

Ich versuche nun auch schon seit längerem meine Grafikkarte an eine DomU weiter zu reichen.
Leider mit nur maessgem Erfolg
Meine NVIDIA PCI-e Gforce GT520 bekomme ich nicht ans laufen in der DomU.
Weder als primary -> This device cannot start. (Code 10)
noch als secondary -> "This device cannot find enough free resources that it can use. (Code 12)
(Andere Karten funktionieren ohne Probleme (Sat PCI und PCIe und auch USB Controller )

Ich benutze Debian Squeeze (aktueller Xen-Kernel in der DOM0) und das mitgelieferte Xen 4.0.1
Den Kernel hab ich noch mal selbst uebersetzt weil nach Xen VGA Passthrough - Xen die Option CONFIG_XEN_CIDEV_BACKEND_PASS gesetzt sein muss was bei Debian definitiv nicht der Fall ist.
Es hat mich einiges an Zeit gekostet rauszubekommen wie man Debian Xen selbst uebersetzt.
Wenn man es richtig macht ist pciback Bestandteil des Kernels und kein Module !

Auch ein Versuch mit Kernel 3.1.1 und Xen 4.1.2 hat zu gleichem Ergebnis gefuehrt. (keins)
Wobei bei der Kombination das durchreichen einer PCI Karte (CONFIG_XEN_CIDEV_BACKEND_PASS) wohl eher noch Grundsaetzliche Probleme hat, weil die Karte nicht wirklich so in der DomU ankommt wie sie sollte. Ach ja hier heisst es dann auch xen-pciback.passthrough=1 bei den Kernel Optionen statt uebersetzen mit CONFIG_XEN_CIDEV_BACKEND_PASS

Soviel zu meinen Erfahrungen mit VGA Passthrough :-(

Nun wollte ich nochmal nach einer Anleitung fragen Xen zu patchen und das VGA BIOS da reinzubringen.
(Wollte da nicht irgend jemand mal ne Anleitung schreiben ? Hab ich die nur nicht gefunden ?)
Eigentlich hatte ich mich ja für Debian Squeeze entschieden weil da Xen dabei war und ich eben nicht ständig einen Kernel übersetzten wollte.

Evtl. kann mein Board ja auch was nicht TYAN S5502. Aber eigentlich sollte es ..
(XEN) I/O virtualisation enabled

Danke fuer Ideen und Anregungen was ich noch versuchen koennte....
 
Meine NVIDIA PCI-e Gforce GT520 bekomme ich nicht ans laufen in der DomU.
Laut Xen-Wiki läuft es (zumindest out-of-the-box) nur mit einer Radeon als sekundäres Device. Mit reinem VGA-Passthrough (ohne virtuelles Device für alles bis zum Betriessystem-Boot) oder mit Nvidia-Karten scheint es noch nicht so gut zu laufen. (Dass ich für mein Linux-System den freien Radeon-Treiber verwende und nicht den Catalyst/fglrx, ist ja oben schon erkennbar gewesen. Auch in der Kombination mit proprietären Treibern hatte ich Probleme.)
 
Hab ich out-of-the-box gesagt ;)
Bin zu jedem versuch bereit. hab ja sogar 3.1.1. und Xen 4.1.2 probiert ... :(
Hat denn keiner ne NVIDA ?
Vermute ich muss da auch das BIOS in den XenCode bringen...
Bunkasan hat ja vor ewiger Zeit mal ein Script zur Kernel/Xen installation in den thread gestellt....
ob man das noch verwenden kann ?
Hat ja hier http://extreme.pcgameshardware.de/l...ssysteme/108786-xen-und-3d-6.html#post2245034 auch geschrieben
Bisschen zu spät für dich, aber seit heute ist mein Script auch voll Debian testing funktional... :D Noch bisschen glattbügeln und ich lads hoch. hab hier auch grad squeeze am laufen.....
aber das ist wohl leider nie angekommen :(
 
@xRamses: Wenn Du unter Debian beim laden des Kernel module "hiden" willst heisst das als option z.B.
xen-pciback.hide=(06:00.0)(06:00.1) und nicht nur pciback-hide (Wie du geschrieben hast).
Die Optionen sind von Version zu Version immer wieder Unterschiedlich
07%20sm_B-%28.gif

Gut möglich allerdings hat es Bauer87 auch so ...

Vermute ich muss da auch das BIOS in den XenCode bringen...

Hmm soweit ich weiß wurde irgendwann mal ein Beitrag geschrieben in dem gesagt wurde das das eben nicht notwendig ist

Wie hast du denn das blacklisting gelöst?

Was meinst du? Ich hab es eben noch nicht geschafft ...


BTW das ist derzeit das file das meine GraKa hiden soll (PCI-ID 08:00.0)
Code:
[root@xen-dom0 /]# cat /etc/modprobe.d/hide_radeon.conf 
# hide (0000:08:00.0)
xen-pciback.hide=(08:00.0)(08:00.1)
install radeon /sbin/modprobe pciback ; /sbin/modprobe --first-time --ignore-install radeon

Ist das so richtig?
Hab übrigens gerade Fedora 16 Xen 4.1.2 ...

mfg xRamses
 
@Blacklisting: Ich wollte nur wissen, in welche Datei du das „blacklist radeon“ geschrieben hast. (Normalerweise wäre das ja die „/etc/modprobe.d/blacklist.conf“)

@Modprobe: Deine Datei wird auch nicht angerührt. Sie muss genau so heißen wie das Modul, das geladen werden soll. Also in deinem Fall:
Code:
$cat /etc/modprobe.d/radeon.conf
install radeon /sbin/modprobe xen-pciback ; /sbin/modprobe --first-time --ignore-install radeon
In beiden Fällen brauchst du folgenden Eintrag:
Code:
$cat /etc/modprobe.d/xen-pciback.conf
options xen-pciback hide=(0000:08:00.0)(0000:08:00.1)

PS: Von der Distribution benutzen wir beide das gleiche. Es sollte also softwareseitig gleich funktionieren. (Hardware habe ich halt andere, aber sofern dein Board IOMMU unterstützt und du ne Radeon durchreichen willst, dürfte das recht egal sein.)
 
Ok das mit dem Namen war schonmal ein Detail das mir nicht bekannt war. Dennoch will er nicht ...

Code:
# xm create win7
Using config file "/etc/xen/win7".
Error: pci: PCI Backend and pci-stub don't own device 0000:08:00.0

Wann weiß ich überhaupt das das ganze erfolgreich gehided wurde? (logs?)

@Blacklisting: Ich wollte nur wissen, in welche Datei du das „blacklist radeon“ geschrieben hast. (Normalerweise wäre das ja die „/etc/modprobe.d/blacklist.conf“)

Ja das stand in /etc/modprobe.d/blacklist.conf drin (auch wenn es doch eig. auch in z.B. blacklist-custom.conf stehen könnte?)

mfg xRamses
 
Hallo

Ich meinte eigentlich Du solltest in deiner grub.cfg
xen-pciback.hide=(08:00.0)(08:00.1)
zu den linux boot optionen das hinzufügen, weil du das Problem noch nicht gelöst hast.
Wenn der pciback treiber nicht im kernel ist musst du sicherstellen das der grafik treiber nicht geladen wird sonst kannst du die karte später nicht nutzen.
ob das so mit dem blaklisten geht ?

wenn der treiber im kern ist gibts dmesg einträge wie
[ 7.380956] pciback 0000:06:00.0: seizing device
[ 7.394891] pciback 0000:06:00.1: seizing device

bin nicht so geübt mit dem editor hier :-(
-----
# hide (0000:08:00.0)
xen-pciback.hide=(08:00.0)(08:00.1)
install radeon /sbin/modprobe pciback ; /sbin/modprobe --first-time --ignore-install radeon
-----

Der punkt ist zu viel in der zeile xen-pciback.hide !
zu der anderen zeile kann ich nicht viel sagen. (wie gesagt hab den treiber im kernel)
aber ich vermute das muss eigentlich auch xen-pciback heissen in der install zeile
durch den eintrag wird dann wohl statt dem normalen laden des radeon treibers
zuerst der pciback geladen und dann per modprobe der radeon nachgeladen wird

aber blacklisten geht normalerweise indem du den namen des treibers in die datei /etc/modprobe.d/blacklist.conf schreibst.
in deinem fall also
blacklist radeon
aber wenn du den nach dem pciback nachladen willst dann halt kein blacklist.conf eintrag

ich glaub, dass die datei auch radeon.conf heissen muss (bin da aber nicht sicher)

also
$cat /etc/modprobe.d/radeon.conf
install radeon /sbin/modprobe xen-pciback ; /sbin/modprobe --first-time --ignore-install radeon

und
$cat /etc/modprobe.d/xen-pciback.conf
options xen-pciback hide=(0000:08:00.0)(0000:08:00.1)
 
Zur Analyse:

  1. Was sagt denn „xm pci-list-assignable-devices“?
  2. Und was sagt dein „lsmod“?
Du solltest in deiner grub.cfg „xen-pciback.hide=(08:00.0)(08:00.1)“ zu den linux boot optionen das hinzufügen, weil du das Problem noch nicht gelöst hast.
Das bringt nur etwas, wenn das Modul direkt mit dem Kernel gestartet wird, also einkompiliert oder in der initial Ramdisk enthalten ist. Das ist ja hier nicht der Fall – und macht es in meinen Augen auch nicht einfacher – vor allem bei Kernelupdates könnte es nerven.
 
Ich glaub ich bin zu langsam für euch .....
hab ja auch noch was anderes zu tun :)

xm pci-list-assignable-devices
zeigt die "nutzbaren" devices
wenn da deine 0000:08:00.0 , 0000:08:00.1 nicht dabei sind hat das hiden nicht geklappt

dmesg | grep pciback
zeigt was so alles vom pciback treiber verwaltet wird
 
du kannst in "/etc/default/grub" die zeile erweitern (was immer da jetzt schon drin ist)
GRUB_CMDLINE_LINUX_DEFAULT=" ...... xen-pciback.hide=(08:00.0)(08:00.1) ......"
dann wird auch beim Kernelupdate automatisch die /boot/grub/grub.cfg ergänzt.
 
„xm pci-list-assignable-devices“ gibt nur ein newline aus und das Modul "radeon" erscheint in der Ausgabe von lsmod.
aber blacklisten geht normalerweise indem du den Namen des Treibers in die Datei /etc/modprobe.d/blacklist.conf schreibst.
in deinem fall also
blacklist radeon
aber wenn du den nach dem pciback nachladen willst dann halt kein blacklist.conf Eintrag

Das hat nicht funktioniert das Modul wurde immernoch geladen (was mich total verwirrt da das eigentlich funktionieren müsste) (wobei ich wahrscheinlich bald eine 2te Radeon
bekomme womit das Modul blacklisten nichts mehr bringen wird deswegen nehm ich den anderen Weg)

mfg xRamses
 
Zuletzt bearbeitet:
Ich glaub du solltest mal ganz genau deine boot ausgaben studieren
dmesg | more

oder auch erst mal nur kurz
dmesg | grep 08:00

es scheint mir so, als ob du kein pciback modul hast sondern das teil im kernel ist.
da kannst du ewig mit den modulen rumspielen dann hilf nur die kernel option !
 
es scheint mir so, als ob du kein pciback modul hast sondern das teil im kernel ist.
da kannst du ewig mit den modulen rumspielen dann hilf nur die kernel option !
Das kam mir auch schon in den Sinn da ich auch nirgends ein pciback Modul finde (lsmod | grep pci ergibt nichts genauso wenig habe ich bei einer schnellen Suche über alle Module nichts gefunden)
Die Kernel Option muss ich dann noch versuchen ...

EDIT: Kernel Methode hat auch nichts gebracht was mich aber auch nicht mehr wundert da pciback nicht im Kernel ist (soweit ich das weiß)
Bauer87 welche Pakete hast du den installiert? Scheinbar fehlt mir eins. (oder ich hab irgend ein falsches)

mfg xRamses
 
Zuletzt bearbeitet:
Zurück