Proxmox Proxmox : Comment faire du GPU Passthrough pour une CG Nvidia (GTX-1060) ?

MilesTEG

Administreur
Membre du personnel
6 Septembre 2020
3 564
826
303
Hello,
Voilà, maintenant que j'ai réussi à installer une MV Windows 11, il me faudrait lui permettre d'utiliser la carte graphique Nvidia connectée en PCIe.
Mais ça m'a l'air assez complexe...

La CG sera-t-elle toujours utilisable via le windows du dualboot ?
L'accélération 3D sera bien utilisable via une session remote desktop ? Vu que je ne peux pas avoir d'affichage depuis le poste lui-même...

@Drthrax74 Si tu veux bien m'aider, je suis preneur 😇
 
Bonjour,
Lorsque un système linux démarre, il s'attribue le matériel et charge le module (Kernel Module et Kernel Driver) pour gérer le matériel qui est pour faire simple le pilote.
Lorsqu'on réattribue le matériel on empêche la machine Hôte de se l'accaparer.
Une fois fais, on l'enferme dans le module VFIO qui le gère.
Sur la configuration de la VM (Proxmox), on ajoute le matériel.
Ensuite Windows Démarre et la carte-graphique est présente.
Tu installes le pilote et le tour est joué.
Par contre le système Hôte ne pourras plus accéder au GPU une fois attribué.

Concernant le Dualboot, soit tu lances WIndows soit ton Linux donc vu que Linux démarre pas mais Windows, alors il prend le matériel.
 
  • J'aime
Réactions: MilesTEG
Bonjour,

On va commencer par récupérer l'information sur ton GPU 1060.
lspci -nn -k | grep "VGA\|3D" -A3 | grep -v "modules\|Subsystem"

1689258260118.png

Le slot 0b:00.0 à le GPU RX 6700. Le Vendeur ID est 1002 et Device ID est 73df
Le pilote charger pour le matériel est vfio-pci (Déjà attribué dans le VFIO)
 
Hmmm, j'ai un souci ^^ qu'il faudra résoudre avant que je puisse aller plus loin :D

J'ai booté sous windows, et depuis, plus moyen d'avoir la Web-UI de proxmox...
Ni de me connecter en SSH...

edit : problème résolu.

Par contre, avec l'écran du PC, je peux accéder à la ligne de commande...
1689260594584.png
1689260603541.png

TmyCEMu.jpg

Un dmesg :
ah0rusk.jpg

J'avais fais les maj avant, dont le changement de kernel. Mais en tentant la version précédente du kernel, ça passe pas mieux...

une idée de comment je peux réparer mon proxmox ?
 
Dernière édition:
Hmmm, et bien, j'ai rebooté encore une fois sous windows, supprimé le Grub2win que j'avias installé au début de mon aventure proxmox, rebooté le pc encore une fois, sous windows car je n'ai pas été assez rapide pour choisir le bon disque au boot...
Et après avoir choisi le ssd de proxmox, il a bien démarré correctement... sans erreurs.
Je pense que la carte réseau avait planté pour je ne sais quelle raison...
Bref, proxmox is back again :D

@Drthrax74
Voilà le résultat de la commande :
1689263416755.png
 
Ensuite il faut taper pour voir si d'autre pilote pour le GPU. (J'ai mis 01: après le -s pour voir tout ce qui concerne le GPU)
lspci -s 01: -k -nn | grep -i "audio\|vga\|3D" -A2 | grep -iv "sub\|--"

01:00.X est ton GPU sur l'emplacement sur la Carte-mère

Pour X:
1 : VGA = VIdéo
2: Audio
3: USB
...
 
@Drthrax74
1689268531712.png
Un lscpi donne ceci :
1689268885598.png
Pour l'iGPU, je vais voir dans le sujet de @EVOTk.
Mais pour le GPU, je crois que c'est tout :) 01:00.0 et 01:00.1

PS : actuellement l'écran est connecté à la sortie HDMI de l'iGPU, mais il ne sert quasi jamais... sauf si je boot sous windows. D'ailleurs, faudra que je le rebascule sur la sortie HDMI de la nvidia.
 
Bonjour,
Tous d'abord il faut aller dans le BIOS puis activer le IOMMU et désactiver "Adresse 4G".
Puis taper les commandes suivantes pour empêcher le pilote graphique de se charger et permettre au module VFIO de s'accaparer le matériel.

------------------------------------------------------
AMD:

sed -i -e 's/quiet/quiet amd_iommu=on initcall_blacklist=sysfb_init/g' /etc/default/grub;

Intel:
sed -i -e 's/quiet/quiet intel_iommu=on initcall_blacklist=sysfb_init/g' /etc/default/grub;

------------------------------------------------------
Charger les modules VFIO

echo "vfio
vfio_iommu_type1
vfio_pci" > /etc/modules;

------------------------------------------------------
Activer L'interruption
(je sais pas si c'est le meilleur termes pour sa)
echo "options vfio_iommu_type1 allow_unsafe_interrupts=1" > /etc/modprobe.d/iommu_unsafe_interrupts.conf;
echo "options kvm ignore_msrs=1" > /etc/modprobe.d/kvm.conf;

------------------------------------------------------
Blacklist du Pilote

echo "nouveau" > /etc/modprobe.d/pve-blacklist.conf;
echo "snd_hda_intel" >> /etc/modprobe.d/pve-blacklist.conf;

------------------------------------------------------
Attribuer le GPU au VFIO

echo "###########################################################
# Nvidia: GTX 1060
options vfio-pci ids=10de:1c02,10de:10f1 disable_vga=1
###########################################################" > /etc/modprobe.d/vfio.conf;

------------------------------------------------------
Mettre à jour la liste des modules:

update-initramfs -u;

------------------------------------------------------
Mettre à jour Grub:

update-grub;
update-grub2;

Relance du service:
 
Dernière édition:
Tous d'abord il faut aller dans le BIOS puis activer le IOMMU et désactiver "Adresse 4G".
Comment je trouve ça ? Je n'ai pas le souvenir d'avoir vu un truc s'appeler IOMMU ou Adresse 4G dans mon bios ...
À moins que tu ne parles du bios de la VM ?
 
@Drthrax74
J'ai regardé dans la notice de la carte mère du pc, et je ne trouve pas cette appellation de IOMMU...

En revanche, en faisant une recherche internet, j'ai vu ce site :

Est-ce que ce que tu appelles IOMMU serait appelé aussi VT-d ?
MSI_SnapShot.jpeg

Et tant que j'étais à faire des captures d'écran du bios, voilà ce que j'ai pour la partie carte graphique :
MSI_SnapShot_00.jpeg
 
La carte graphique PEG (PCI Express Graphics) est le iGPU du CPU si je me trompes pas. Tu définis ici la sortie par défaut.
 
  • J'aime
Réactions: MilesTEG
Ayant en partie résolu mon souci, enfin c’est plutôt un palliatif que j’ai trouvé, dès que j’ai un moment je m’occupe d’essayer de passer la Cg en passthrough.
Faut d’abord que je trouve comment restaurer une sauvegarde de VM que j’avais fait avant de formater piur installer debian pour faire des tests.
Là proxmox est fraîchement réinstallé. J’ai pu reconfigurer le compte admin personnalisé et installer zsh et OMZ + Powerlevel10k.
 
Bonjour,
Pour restaurer tes VM, il faut déclarer le stockage puis définir le type de contenu . Puis tu pourras aller dans le stockage crée pour voir les sauvegardes et ensuite tu restaures.

1689689401403.png
 
  • J'aime
Réactions: MilesTEG
@Drthrax74
Le fait que mon GPU n'aie pas un BIOS UEFI, c'est grave ? Ça fonctionnera quand meme ?
Car d'après la doc de proxmox il faudrait que le bios soit UEFI :
1689843894881.png
Et j'ai ça en suivant ces consignes :
Code:
╰ ./rom-parser /tmp/image.rom
Valid ROM signature found @0h, PCIR offset 1a0h
    PCIR: type 0 (x86 PC-AT), vendor: 10de, device: 1c03, class: 030000
    PCIR: revision 0, vendor revision: 1
Error, ran off the end
 
Ha bah dans windows, GPU-z m'indique que c'est un bios UEFI XD
1689846356179.png
C'est donc OK ?