Squeeze + VGA Passthrough (Xen), Un Mythe ?

Fermé
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 - 16 déc. 2012 à 22:10
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 - 12 févr. 2013 à 09:33
Bonjour, je suis à bout de souffle, ça fait des dizaines voir des centaines d'heures que j'installe et installe un tas de distributions (heureusement que je trvavail avec des 10k...) en les bidouillant de toutes les manières possible qu'il existent dans les tutos sur internet mais là j'en peux plus...

Est-il vraiment possible de faire du VGA Passthrough avec Xen (sous Debian Squeeze ou alors n'importe quelle autre distribution...) ou est-ce un mythe ?

Merci d'avance de vos réponses.

PS : pour ceux qui arrivent à m'aider je leur offre un petit hébergement gratuit pour 2013 ou ce que j'ai sous la main, ou même peu-importe le service que ce soit jeux, mails, tout ce que vous voulez mais je suis vidé là, je pourrais pas continuer plus longtemps...

5 réponses

mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
17 déc. 2012 à 09:44
Apparemment ce n'est pas un mythe mais il y a pas mal de pré-requis, les satisfais-tu ?
https://wiki.xenproject.org/wiki/Xen_VGA_Passthrough

Bonne chance
0
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 4
17 déc. 2012 à 14:57
Merci de ta réponse. Oui j'ai beaucoup lu cette page, je crois que sous Squeeze je ne suis pas sûre d'avoir bien configuré les paramètres du noyau pour le PCI car ils ne le sont pas par défaut.
0
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 4
17 déc. 2012 à 19:09
Ou donc voilà, je suis bien installé.
Je viens de refaire une installation toute fraîche de Debian Squeeze, je vais maintenant installer Xen puis modifier le Kernel.
0
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 4
Modifié par sorcier777 le 17/12/2012 à 19:17
Je me suis inspiré de ce tuto pour le fichier .cfg du hvm, c'est juste ?
https://gro.solexiv.de/category/vgapci-passthrough/
0
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 4
17 déc. 2012 à 19:19
Voilà ce que donne mon fichier :

# Pas sûre que c'est nescessaire...
kernel="/usr/lib/xen-default/boot/hvmloader"

builder = "hvm"
name = "win7x64-hvm"

# RAM (MB)
memory = "8192"

# Cores CPU
vcpus = 6

vif = ['type=ioemu']

# Démmarage depuis le cd et le disque-dur
disk = ['phy:/dev/partitionLVM,hda,w','file:/root/win7.iso,hdc:cdrom,r']
boot="dc"

# Démarrage depuis le disque-dur
#disk = ['phy:/dev/partitionLVM,hda,w']
#boot="c"

# Activer l'accès VNC
vnc = 1

acpi=1
sdl=0
serial='pty'

# PCI passtrhough
pci=['01:00.0','01:00.1']

# Réseau
dhcp = 'dhcp'
0
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 4
17 déc. 2012 à 19:21
Je teste déjà avec le PCI Passthrough
0
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
17 déc. 2012 à 20:17
Déjà on est sûrs que tu vérifies ces pré-requis ?

activate vt-d in your BIOS
set chipset video card to always on


Ensuite dans le tutoriel une large partie s'intéresse à la mémoire et au réseau, ça je pense que ce n'est pas la priorité pour le problème en question (puisque c'est visiblement la configuration vidéo), donc a priori la partie PCI (qu'il faut sans doute adapter dans ton cas à ta carte vidéo). Pour ça il faudrait que tu me donnes le résultat de ta commande lspci et de ton script pour vérifier que tu as mis les bons identifiants (même remarque pour le script "remove_device").

Ensuite il faudrait vérifier que ton module a été chargé avec succès :

modprobe xen-pciback
lsmod xen-pciback
dmesg | tail


Bon après j'avoue que je n'ai jamais utilisé xen donc le reste du tutoriel est un peu abstrait pour moi et je ne sais pas trop comment ça se comporte.
0
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 4
17 déc. 2012 à 20:24
Oui je confirme, c'est très abstrait. Pour ce qui est de l'adresse PCI de la carte, j'ai utilisé la commande lspci pour la trouver justement. Ensuite c'est au chargement du module que j'ai généralement un problème...
Ensuite je suis sur une plateforme AMD avec l'IOMMU activé.
Merci de ta réponse :)
0
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
17 déc. 2012 à 20:27
Le chargement du module ? Il y a un message d'erreur ? Tu ne le vois pas apparaître dans lsmod ? Que dit dmesg ?
0
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 4
17 déc. 2012 à 20:29
J'arrive pas à le charger mais je crois que c'est parce que j'ai pas bien configuré le Kernel...
0
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 4
17 déc. 2012 à 20:30
Cette étape :

Xen VGA passthru requirements from dom0 kernel

Make sure your dom0 Linux kernel has "CONFIG_XEN_PCIDEV_BACKEND_PASS" option enabled. "CONFIG_XEN_PCIDEV_BACKEND_VPCI" should be disabled. For example Debian Squeeze 2.6.32 kernel has the wrong PCIDEV_BACKEND mode as a default.. so in that case you might need to recompile the kernel with custom .config to get the right backend mode in use. BACKEND_PASS mode means the PCI IDs of the PCI device (graphics card) will be the same in the VM as in dom0/host.
0
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 4
17 déc. 2012 à 20:35
Je précise que j'ai fait un "apt-get install xen-hypervisor-amd64 linux-image-2.6.32-5-xen-amd64" pour installer xen
0
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
18 déc. 2012 à 10:11
Normalement si tu as compilé ton kernel tu as un fichier .config qui a été généré à la racine des sources du kernel (par exemple /usr/src/linux/.config) et qui indique qu'est ce qui est activé dans le noyau. Que donne la commande suivante :

grep CONFIG_XEN /usr/src/linux/.config


Remarque : si tu utilises un noyau standard ce fichier est en fait /boot/config-$(uname -r).

Exemple :

(mando@silk) (~) $ grep CONFIG_XEN /boot/config-$(uname -r)
CONFIG_XEN=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_PRIVILEGED_GUEST=y
CONFIG_XEN_PVHVM=y
CONFIG_XEN_MAX_DOMAIN_MEMORY=128
CONFIG_XEN_SAVE_RESTORE=y
# CONFIG_XEN_DEBUG_FS is not set
CONFIG_XEN_PCIDEV_FRONTEND=m
CONFIG_XEN_BLKDEV_FRONTEND=m
CONFIG_XEN_BLKDEV_BACKEND=m
CONFIG_XEN_NETDEV_FRONTEND=m
CONFIG_XEN_NETDEV_BACKEND=m
CONFIG_XEN_WDT=m
CONFIG_XEN_FBDEV_FRONTEND=y
CONFIG_XEN_BALLOON=y
# CONFIG_XEN_BALLOON_MEMORY_HOTPLUG is not set
CONFIG_XEN_SCRUB_PAGES=y
CONFIG_XEN_DEV_EVTCHN=m
CONFIG_XEN_BACKEND=y
CONFIG_XENFS=m
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_SYS_HYPERVISOR=y
CONFIG_XEN_XENBUS_FRONTEND=y
CONFIG_XEN_GNTDEV=m
CONFIG_XEN_GRANT_DEV_ALLOC=m
CONFIG_XEN_PCIDEV_BACKEND=m


Ici on voit que CONFIG_XEN_PCIDEV_BACKEND_VPCI n'apparaît ni à "y" (dans le noyau) ni à "m" (en module) donc c'est bon.

Du coup avant de te lancer dans la compilation d'un noyau (ce qui est long et fastidieux, je commencerais par regarder si un noyau standard ne fait pas l'affaire).

Bonne chance
0
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 4
18 déc. 2012 à 12:30
Merci pour l'indication. Hier j'ai tout préparé pour compiler un nouveau kernel, je vais faire ça ce soir. Donc j'avais cherché dans le noyau standard compilé pour Xen dans le fichier config et les options ne sont pas les bonnes, comme prevu sous Squeeze. Par contre le module pci-backend démarre parfaitement sous Ubuntu 12.04. (Mais je préfère Squeeze largement, je m'arrache les cheveux avec 12.04... Même pas foutu de booter sur un raid1 degradé, ça n'a aucun sens... Sans parler de son instabilité... Mais bon en desktop si on oublie les bug il est assez cool, je vais surement l'utiliser en VM à côté de 10.04.)
Au passage, je devrais peut-être en profiter pour optimiser le kernel, non?
0
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
18 déc. 2012 à 21:00
Si tu es motivé pourquoi pas et il sera d'autant moins long à compiler, mais le gain en performance sera à mon avis assez minime. Moi à ta place je ne m'embêterais pas et je regarderais si parmi les noyaux packagés il n'y en a pas un qui fait directement l'affaire...
0
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 4
18 déc. 2012 à 21:06
Merci, je peux toujours essayer de trouver un kernel tout prêt sur internet pour utiliser le module pci-backend mais j'avais commencé et j'ai pas encore trouvé.
0
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 4
18 déc. 2012 à 21:08
Il me semble que pour Squeeze c'est le 2.6.32-5-xen-amd64 qu'il faut que je trouve compillé pour le module.
0
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 4
18 déc. 2012 à 21:30
Ou alors je le compile moi-même, euh, avec les sources du 2.6.32-5-amd64 ? ( un petit make menuconfig ? )
0
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
26 déc. 2012 à 20:14
Donc, le noyeau 2.6.32-5-xen-amd de base ne permet pas d'utiliser le module désiré (comme on l'a vu plus haut), ce qui veut dire que je doit changer quelques paramètres et donc le recompiler, c'est ça ?

Oui, si la fonctionnalité dont tu as besoin n'est référencée à y ou m dans /boot/config-2.6.32-5-xen-amd il faut recompiler un noyau.

Une bonne stratégie consiste à repartir de ce fichier pour pré-configurer pas mal de choses. L'idée c'est de suivre ce tutoriel (cf étape 4.3 en particulier) :
http://www.mistra.fr/tutoriel-linux-compiler.html#h4-compiler-un-noyau

En bref, supposons que tes sources de noyau (l'endroit depuis lequel tu tapes "make menuconfig") soit dans /usr/src/linux. Copie ce fichier config dans /usr/src/linux et renomme le ".config" :

cp /boot/config-2.6.32-5-xen-amd /usr/src/linux/.config


Puis lance :

cd /usr/src/linux
make oldconfig


... pour repartir de ce fichier. Il suffit ensuite d'ajouter les fonctionnalité qui te manque (quitte à passer par make menuconfig). Ensuite lance la compilation normalement en suivant ce tutoriel :
http://www.mistra.fr/tutoriel-linux-compiler.html#h4-compiler-un-noyau

Bonne chance et bonnes fêtes
0
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 4
26 déc. 2012 à 20:52
Merci beaucoup, c'est à peu près ce que j'avais commencé à faire, c'est juste que je n'étais pas sûre de ce qu'allait donner le oldconfig, donc je vais compiler tout ça, je vous tiens au courant.
Et encore merci :)
0
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
26 déc. 2012 à 20:57
Petite précision je te conseille vivement de suivre le tutoriel que je t'ai indiqué notamment pour que ton noyau soit dans un paquet debian, ce qui le rendra beaucoup plus simple à installer et désinstaller.

Notamment, le fait de passer par un paquet debian évite d'avoir à faire toute la tambouille pour installer ton noyau et corriger ton boot loader (grub ou lilo) (et idem lors d'une désinstallation).

Bonne chance
0
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 4
26 déc. 2012 à 21:20
Oui c'est plus pratique en effet, c'est ce que je fais d'habitude (enfin à l'époque où je compilais encore pas mal). Sinon j'avais la fâcheuse habitude de remplacer les fichiers dans boot pour duper grub XD
Merci
0
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
27 déc. 2012 à 01:12
À mon avis ça ne suffit pas dans le cas général :

- Avec grub2, il faut au moins lancer la commande update-grub pour régénérer /boot/grub/grub.cfg.
- Avec grub1 il suffisait de corriger /boot/grub/menu.lst.
- Avec lilo il faut corriger /etc/lilo.conf et lancer la commande "lilo".
0
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 4
27 déc. 2012 à 01:22
J'ai fais ça à une époque où je testais quelques petits trucs sur une ubuntu. Mais évidement toujours avec un update-grub, tellement évident (mais très important de le préciser). Oui bon au final mon expression "duper grub" ne tiens plus en fait, mais c'était pour garder l'ordre de démarrage dans grub.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
28 déc. 2012 à 12:44
Pourquoi tu ne repars pas simplement de ça ?
https://wiki.xenproject.org/wiki/Mainline_Linux_Kernel_Configs

Bonne chance
0
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 4
28 déc. 2012 à 13:37
Merci, je vais voir ça, mais ça a pas trop l'air de parler pci passthrough...
0
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
28 déc. 2012 à 13:51
Non mais l'idée c'est qu'on te dit exactement quelles sources de noyau utiliser et comment les configurer pour faire marcher XEN. Après j'imagine qu'il suffit de rajouter les constantes conformément à ce qui est indiqué ici :
https://wiki.xenproject.org/wiki/Xen_VGA_Passthrough

À mon avis CONFIG_XEN_PCI_PASSTHROUGH doit aussi être activé, peut-être qu'elle n'exitait pas encore au moment où la page de documentation a été rédigée. Je commencerais même par l'activer elle, car elle activera sans doute (via make menuconfig) toutes celles nécessaires à son bon fonctionnement.

Bonne chance
0
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 4
28 déc. 2012 à 14:41
Ok, merci beacoup, donc il me faut un kernel là dedans ?

2 years ago v2.6.35 Linux 2.6.35
2 years ago v2.6.35-rc6 Linux 2.6.35-rc6
2 years ago v2.6.35-rc5 Linux 2.6.35-rc5
2 years ago v2.6.35-rc4 Linux 2.6.35-rc4
2 years ago v2.6.35-rc3 Linux 2.6.35-rc3
2 years ago v2.6.35-rc2 Linux 2.6.35-rc2
2 years ago v2.6.35-rc1 Linux 2.6.35-rc1

Le Makefile ?

Pfiou... Finalement je me demande si j'aurai pas plutôt dû utiliser Ubuntu Serveur 10.04...
0
mamiemando Messages postés 33346 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 8 novembre 2024 7 803
28 déc. 2012 à 17:44
Si tu recompiles un noyau je ne pense pas que la distribution ait un grand impact.

Pour la version du noyau je prendrais une version supérieure ou égale à celle indiqué dans la documentation.

Sachant qu'un noyau 3.x peut être différent d'un noyau 2.6 peut être que tu peux commencer effectivement par la version suggérée par la documentation. Mais avec un peu de chance il reste d'actualité pour des noyaux actuels...

Difficile de répondre sans tester...
0
sorcier777 Messages postés 414 Date d'inscription dimanche 22 novembre 2009 Statut Membre Dernière intervention 24 juillet 2013 4
28 déc. 2012 à 18:24
Si j'ai parlé d'Ubuntu c'est parce qu'il me semble que le pci-passtrouth est déjà bien configuré. Et j'aurai aimé garder le noyau 2.6, j'ai vraiment eus de mauvaises surprises avec les derniers 3.0...
Bon, je vais voir avec ubuntu server 10.04 mais j'essayerai quand même de compiler un kernel pour debian et le pci-passthrough.
0