hot22shot Posted September 13, 2022 Share Posted September 13, 2022 Hello, Comme certain utilisateurs d'unRaid je suis en train de me faire une VM Gaming. Vu le peut de ressource en français sur le sujet je fais ce topic afin de partager mon expérience. Mon serveur est dans mon garage, je compte y jouer via parsec/moonlight/etc depuis principalement mon réseau local mais aussi pourquoi pas depuis Internet (je suis fibré), il faudra que je bench ces softs. Mes clients seront : * Mon Macbook pro de 13". * Un petit PC branché sur un écran 4k, un ASRock A300. * Et une nVidia Shield Pro branché sur ma TV. Pour ma part j'ai donc paramétré une VM Windows 11 : * RAM : 16Go, mon serveur en compte 64, je suis donc large. * CPU Mode : Accès Direct. * CPU : j'ai isolé 4C/8T de mon 5800X et les ai assigné à la VM. * Modèle de machine : Q35-6.2 : j'ai vu certains retours comme quoi le modèle i440fx était plus performant, mais j'ai aussi vu l'inverse, bref j'ai décidé de commencer comme ça. * BIOS : OVMF TPM, obligatoire pour le support de Windows 11 qui impose le TPM. * Hyper-V : Oui. * Contrôleur USB : 3.0, mais je n'ai aucun périphérique USB branché à passer à la VM donc je m'en fiche un peu. * Disque : J'ai configuré un disque NVME en passthrough directement sur la VM, donc pas de vdisk. C'est assez simple à faire, si ça intéresse des gents je décrirai comment faire. l'avantage c'est que les performances sont excellentes, pas loin du baremetal (= sans virtualisation). Pour l'histoire j'avais auparavant un vdisk sur un SSD et j'ai fait une migration sans réinstaller la VM (pareil je peux décrire comment on fait). Afin de diffuser une session il faut un écran branché sur la CG, comme je n'en ai pas, je vais utiliser cela : * Un dongle fake HDMI (https://www.amazon.fr/dp/B07YMTKJCR/ref=twister_B08GSQ8SSR?_encoding=UTF8&th=1) Il se branche sur un port HDMI de la CG et simule un écran, permettant ainsi d'établir une session que l'on peut ensuite diffuser. Sinon Parsec à une solution software avec un Fake Display Driver, mais je n'ai pas réussi à la faire marcher. Voilà j'attend maintenant que les prix des CGs baissent un peut pour chopper une RTX 3080. Elle sera en passthrough de la même manière que le disque NVME. Elle ne pourra pas servir à autre chose (un docker plex par exemple) à part si ça tourne sur la VM. Mais j'ai déjà une autre CG pour cela. En attendant je test un peut les softs pour me faire une idée. J'ai aussi fait quelques benchs sur la partie disque suite au passage d'un vdisk sur un SSD SATA à un passthrough d'un disque NVME. J'en ferais d'autre une fois que j'aurais une CG. 3 Quote Link to comment
FoxyNC Posted September 24, 2022 Share Posted September 24, 2022 Curieux de voir tes retours de benchmark. J'utilise le plugin "VM Backup" qui copie les vdisks et config XML des VMs mais dans le cas d'un disque en passthrough je ne sais pas comment il va sauvegarder le dsique de la VM... Est-ce que tu as pu tester ? Quote Link to comment
hot22shot Posted September 24, 2022 Author Share Posted September 24, 2022 (edited) Alors je n'ai pas réfléchi à la question, car dans l'absolu il y a peu de données qui nécessite une sauvegarde : - L'OS je m'en tamponne, à la limite la licence Windows 11. - Pour les jeux Steam pareil je peux les re-télécharger quand je le souhaite. Mais si jamais j'en ai besoin je regarderai du côté de urBackup pour la sauvegarde de l'OS. Et de VM Backup pour le template. Pour l'instant je regarde plutôt les latences de la VM avec latencymon, histoire de voir où est ce que ça peut merder niveau steam. Du coup ça ma poussé à me payer une petite carte réseau en + (Intel i225-V) que je vais aussi mettre en passthrough car celle utilisée par mon NAS arrivait à saturer lorsque je télécharge. Je suis aussi en train de bencher parsec en local avec une machine physique, il y a pas mal de paramètres avec lesquels jouer. PS : J'ai enfin ajouté la nouvelle carte réseau, j'ai eu tout de même quelques difficultés : 1- unRAID a décidé d'utiliser la carte discrète par défaut ... j'ai donc du mettre en passthrough la carte réseau intégrée à ma CM ... 2- ... donc ça a foutu la grouille avec le NAT de ma Livebox 5 et des baux DHCP permanents que j'avais fait. 3- Par défault l'interface d'unRAID ne permet pas de supprimer l'interface virtuelle d'une VM, il faut soit éditer le fichier XML de configuration de la VM, soit passer par Virt-Manager. Après quoi tout va bien. Edited September 27, 2022 by hot22shot Quote Link to comment
mathieu59970 Posted October 2, 2022 Share Posted October 2, 2022 J'ai une VM windows 11 gaming accé direct sur ssd m2 pour l'os et les jeux steam sont sur ma baie donc hdd. carte nvidia gtx 1060 avec dongle hdmi en passthrou. 16go de ram 6 coeurs alloué. parsec en host et client. Aucun problème pour jouer mais je ne suis pas un hardcore gamer. Principalement des MMORPG et du rétrogaming. Quote Link to comment
hot22shot Posted October 3, 2022 Author Share Posted October 3, 2022 15 hours ago, mathieu59970 said: J'ai une VM windows 11 gaming accé direct sur ssd m2 pour l'os et les jeux steam sont sur ma baie donc hdd. carte nvidia gtx 1060 avec dongle hdmi en passthrou. 16go de ram 6 coeurs alloué. parsec en host et client. Aucun problème pour jouer mais je ne suis pas un hardcore gamer. Principalement des MMORPG et du rétrogaming. Pas mal ! Du coup pas de lag avec des MMORPG ? Quote Link to comment
mathieu59970 Posted October 3, 2022 Share Posted October 3, 2022 Pas vu de problème de lag, je ne suis pas non plus obnubilé par les fps. Je suis plutôt content, Warcraft, final fantasy, lost ark, new world, guild Wars 2, no man's sky... Passent très bien. Quote Link to comment
chis34 Posted October 3, 2022 Share Posted October 3, 2022 Merci hot22shot pour ce retour d'expérience. Je suis entrain de me monter un serveur NAS avec Unraid et je compte comme toi configurer une VM avec Windows 11 en passthrough. Du coup te serait-il possible de décrire succinctement comment tu as configuré ton disque NVME en passthrough directement sur la VM ? Merci pour ton retour. Quote Link to comment
mathieu59970 Posted October 3, 2022 Share Posted October 3, 2022 16 minutes ago, chis34 said: Merci hot22shot pour ce retour d'expérience. Je suis entrain de me monter un serveur NAS avec Unraid et je compte comme toi configurer une VM avec Windows 11 en passthrough. Du coup te serait-il possible de décrire succinctement comment tu as configuré ton disque NVME en passthrough directement sur la VM ? Merci pour ton retour. Tu créé un nouveau pool de disque dans Unraid mais tu met que ton m2 et que tu appelera par exemple vm Windows 11. Une fois créé, tu va créer un dossier partagé du nom de ton choix aussi et qui pointera sur le m2 vm Windows 11. tu sélectionner le dossier partagé dans la config de ta vm pour y mettre le vdisk de ta vm Windows. Tu pourras aussi choisir le passthrou (Sata). On n'utilise plus le plugin Unassigned device depuis la mise à jour de Unraid car maintenant on peut créer plusieurs pool de disque ou d'un seul disque. 1 Quote Link to comment
ChatNoir Posted October 4, 2022 Share Posted October 4, 2022 Si on peut toujours utiliser UD et si on souhaite faire un passthrough du disque c'est toujours possible. Probablement plus performant qu'un vdisk sur une Pool. Et UD ne sert pas qu'à ça mais aussi à monter un dossier partagé réseau, un disque plug&play pour du backup, faire un preclear si on le souhaite, etc. 1 Quote Link to comment
hot22shot Posted October 4, 2022 Author Share Posted October 4, 2022 (edited) 17 hours ago, mathieu59970 said: Tu créé un nouveau pool de disque dans Unraid mais tu met que ton m2 et que tu appelera par exemple vm Windows 11. Une fois créé, tu va créer un dossier partagé du nom de ton choix aussi et qui pointera sur le m2 vm Windows 11. tu sélectionner le dossier partagé dans la config de ta vm pour y mettre le vdisk de ta vm Windows. Tu pourras aussi choisir le passthrou (Sata). On n'utilise plus le plugin Unassigned device depuis la mise à jour de Unraid car maintenant on peut créer plusieurs pool de disque ou d'un seul disque. C'est pas comme ça que j'ai fait, ce que tu décrit ressemble plus à du vdisk. @chis34 j'ai fait comme ça : Dans la section Outils / Appareil du système tu sélectionne l'IOMMU Group qui correspond à ton disque et à son contrôleur : Par exemple ici mon contrôleur NVME, on ne voir pas le disque car unRaid ne peux le voir puisqu'il est géré par ma VM. Pour que ta VM puisse accéder au disque en direct il faut aussi qu'elle ait accès à un contrôleur NVME, il faut donc bien repérer le bon contrôleur qui gère le disque que tu veux associer à ta VM. En dessous on peut voir aussi une carte réseau que j'ai partagé de la même manière. Puis tu clique sur 'Associer la sélection au VFIO au démarrage' : Reboot obligatoire pour la prise en compte. Puis dans la configuration de la VM, une fois éteinte, il suffit de partager le disque tout en bas dans la partie Autre Périphériques PCI : Au prochain boot la VM détectera le(s) nouveau(x) périphérique(s) associés. En fait c'est la même méthode quelque soir ce que l'on veut passer en passthrough : disques, carte réseau, carte graphique et autre. C'est ultra simple en pratique. Edited October 4, 2022 by hot22shot 1 Quote Link to comment
chis34 Posted October 4, 2022 Share Posted October 4, 2022 Super merci hot22shoot. Quote Link to comment
hot22shot Posted October 13, 2022 Author Share Posted October 13, 2022 (edited) Bon j'ai enfin commandé une CG, donc je vais pouvoir faire des benchs dans pas longtemps. Par contre c'est une 3090 TI FE, j'espère que mon alim va tenir 🤞 EDIT : Après un long montage de mon serveur (repast du cpu, changement d'alim et montage de la cg), la carte est maintenant installée. Par contre pour l'instant c'est pas glorieux, j'ai un topic de debug d'ouvert sur la partie VM du forum : https://forums.unraid.net/topic/129879-issue-with-windows-11-vm-rtx-3090-ti-passthrough/ Je repasserai ici mettre des infos en français quand ça sera stable. Edited October 20, 2022 by hot22shot Quote Link to comment
Beo Posted October 20, 2022 Share Posted October 20, 2022 (edited) Bonjour, J'ai peut être le même problème. Avec une RTX 3060 qui passe en code 43 dans le gestionnaire de périph de ma VM Win 10. Et lorsque je tente d'installer le driver, comme toi, la VM passe hors ligne. Impossible de la contacter par RDP ou Parsec. Edited October 20, 2022 by Beo Quote Link to comment
hot22shot Posted October 21, 2022 Author Share Posted October 21, 2022 Moi le soucis c'est que la VM ne boot même pas, je ne suis jamais arrivé à lancé windows du moment que le GPU était associé à la VM. Quote Link to comment
hot22shot Posted October 21, 2022 Author Share Posted October 21, 2022 J'ai résolu mon problème, ça vient du fait que la carte a beaucoup de mémoire et qu'elle supporte le resizable bar, du coup le bios uefi n'arrive pas à l'adresser : Quote Can confirm that resizable bar works on a 3090, however the default mmio address space for edk2/ovmf is 32GB, since the bar size option doubles each time you need a 32GB BAR for a 3090 to fit the 24GB of ram (which you should see in lspci), this means that there isn't enough address space to fit the 3090's bar alongside other devices. Il suffit de bidouiller le fichier XML pour augmenter un peut la limite à 64GB et ça passe. Je viens d'installer les drivers et aucun autre soucis. Quote Link to comment
hot22shot Posted October 22, 2022 Author Share Posted October 22, 2022 (edited) Quelques conseils pour les logiciels de streaming : Achetez un plug dummy HDMI pour mettre au cul de la CG, ça évite d'avoir un écran branché pour rien si votre serveur unraid est dans le garage et c'est compatible toute résolution. Pour ma part j'ai pris ce modèle. Il faut bien faire attention de ne pas streamer une session ouverte en RDP, en effet en RDP vous n'utilisez pas votre CG (ou alors partiellement en accélération du protocole RDP). Pour mettre en place en login automatique sur la VM : https://learn.microsoft.com/fr-fr/sysinternals/downloads/autologon Au niveau des softs : nVidia Gamestream : intégré aux drivers nvidia, rien à installer mais uniquement utile si vous avez une shield. Moonlight : version opensource de clients pour Gamestream, pas mal mais seulement compatible nvidia du coup. Parsec.app : GPU agnostique, le logiciel client est à priori disponible sur un large panel d'OS/plateforme. Facile à installer le soft fait office à la fois de client et de serveur (sur les ordis supportés). Un petit retour sur quelques tests : Parsec depuis un Macbook vers ma VM, c'est nickel en 1440p. Depuis un A300 avec un Ryzen 5 4650G en 4K, ça coince un peut, le 4650G n'arrive pas à suivre pour décoder le flux. Enfin depuis ma Shield Pro branché sur une TV 1080p, j'ai testé un peut Gamestream, pareil c'est top. Enfin pour ce qui est de la méthode pour mettre en place le passthrough : C'est très dépendant de votre matériel : carte graphique bien sur mais aussi carte mère AMD/Intel, 1 ou +sieurs GPU, etc ... D'une manière générale il faut que tout soit à jour (VM Windows, UEFI, ...) Il vous faudra éditer le fichier XML de votre VM car tout n'est pas configurable via l'interface d'unRaid. Le dump de vbios n'est pas toujours nécessaire mais ça ne coute rien de le faire donc je conseille de prendre le temps de le faire, SpaceInvaderOne a fait un script pour cela : https://github.com/SpaceinvaderOne/Dump_GPU_vBIOS. Edited October 24, 2022 by hot22shot 1 Quote Link to comment
hot22shot Posted October 25, 2022 Author Share Posted October 25, 2022 (edited) J'ai testé un peu plus la partie Software sur ma SHIELD Pro : Parsec est peté sur Android (TV) : Pas de support de mon clavier (Logitech K400) ni de mon Gamepad (XBOX Wireless Controller). Quand aux clients GameStream et Moonlight : je me fait déconnecté après quelques minutes de jeux (mais là les contrôles sont nickel). Résultats très mitigé sur ma SHIELD donc. Je vais essayer de creuser la connexion via Moonlight qui a l'air d'avoir le plus de promesses et s'agissant d'une application libre j'aurais peut être plus de support. Après avoir bidouillé un peu avec le paramètre GPU scheduling (Enable Hardware Accelerated GPU scheduling) j'ai réussi à faire une longue session avec Moonlight. Edited October 25, 2022 by hot22shot Quote Link to comment
hot22shot Posted November 3, 2022 Author Share Posted November 3, 2022 J'ai définitivement lâché Parsec sur la SHIELD c'est trop la galère et c'est la loterie pour le support des périphériques (clavier/souris). Gamestream / Moonlight fonctionnent parfaitement. J'ai aussi résolu mon soucis de stream 4K depuis mon A300 : le câble branché sur la carte réseau de ma VM était nase et plafonnait à 100MB après changement et passage au 1GB ça va beaucoup mieux. 1 Quote Link to comment
hot22shot Posted November 14, 2022 Author Share Posted November 14, 2022 J'ai définitivement adopté Moonlight pour jouer, d'ailleurs j'ai trouvé un soft pas mal : GameStream Launchpad (https://github.com/cgarst/gamestream_launchpad) Il permet, entre autre, de choisir une résolution avant de lancer la session de jeux, bien utile dans mon cas puisque j'ai plusieurs clients chacun avec sa propre résolution. La résolution n'est pas tout, j'avais aussi des soucis de mise à l'échelle de l'interface Windows entre tous ces changements de résolution. J'ai donc trouvé un script qui permet de changer ça, par exemple pour mettre en 125% : @ECHO OFF explorer ms-settings:display ping -n 2 127.0.0.1 > nul :VBSDynamicBuild SET TempVBSFile=%tmp%\~tmpSendKeysTemp.vbs IF EXIST "%TempVBSFile%" DEL /F /Q "%TempVBSFile%" ECHO Set WshShell = WScript.CreateObject("WScript.Shell") >>"%TempVBSFile%" ECHO Wscript.Sleep 500 >>"%TempVBSFile%" ECHO WshShell.SendKeys "{TAB 6}{UP 5}{DOWN 1}" >>"%TempVBSFile%" ECHO Wscript.Sleep 500 >>"%TempVBSFile%" ECHO WshShell.SendKeys "%%{F4}" >>"%TempVBSFile%" CSCRIPT //nologo "%TempVBSFile%" explorer ms-settings:display ping -n 2 127.0.0.1 > nul CSCRIPT //nologo "%TempVBSFile%" EXIT Quote Link to comment
nwicone Posted February 17, 2023 Share Posted February 17, 2023 Bonjour, je ne trouve aucun guide claire sur internet pour configurer une VM avec un GPU dédié. Est-ce que vous auriez des conseils ou un guide ? j'ai suivi ce guide : Mais impossible d'installer le pilote du gpu sur windows.. J'ai un 10600k et une rx 6600 Merci Quote Link to comment
hot22shot Posted February 17, 2023 Author Share Posted February 17, 2023 Alors c'est vrai que de prime abord c'est un peu la galère. Parce que suivant ta configuration (1 ou +ieurs GPU, la marque du GPU, le type CPU) ce n'est pas forcément tout à fait la même marche à suivre. C'est pour ça que tu ne trouveras de "recette" qui marche à tous les coups et que c'est donc un procédé qui reste pour l'instant artisanal. SI tu n'arrives pas à installer le driver de ta CG c'est que le GPU est mal/ou pas détecté. Mon conseil : va faire un tour dans la section https://forums.unraid.net/forum/51-vm-engine-kvm/ et repère quelqu'un qui a une configuration semblable à la tienne Intel/AMD. Le mieux pour avancer serait que tu poste un thread dans cette même section en anglais bien sur, en partageant ta configuration, l'XML de ta VM. Franchement ça vaut la peine de se prendre un peut la tête, je ne joue plus que comme ça. Quote Link to comment
nwicone Posted February 19, 2023 Share Posted February 19, 2023 On 2/17/2023 at 5:14 PM, hot22shot said: Alors c'est vrai que de prime abord c'est un peu la galère. Parce que suivant ta configuration (1 ou +ieurs GPU, la marque du GPU, le type CPU) ce n'est pas forcément tout à fait la même marche à suivre. C'est pour ça que tu ne trouveras de "recette" qui marche à tous les coups et que c'est donc un procédé qui reste pour l'instant artisanal. SI tu n'arrives pas à installer le driver de ta CG c'est que le GPU est mal/ou pas détecté. Mon conseil : va faire un tour dans la section https://forums.unraid.net/forum/51-vm-engine-kvm/ et repère quelqu'un qui a une configuration semblable à la tienne Intel/AMD. Le mieux pour avancer serait que tu poste un thread dans cette même section en anglais bien sur, en partageant ta configuration, l'XML de ta VM. Franchement ça vaut la peine de se prendre un peut la tête, je ne joue plus que comme ça. Bonjour hot22shot. Merci pour ta réponse ! Je viens de poster un message ici qui concerne les config pour les rx serie 6000 : J'ai finalement réussi à faire tourner la VM comme il fallait avec les derniers pilotes et tout, mais j'ai un problème de crash au démarrage de la VM qui me fait planter tout unRAID Merci pour ton aide ! Bon dimanche Quote Link to comment
hot22shot Posted February 20, 2023 Author Share Posted February 20, 2023 De rien, je vois que tu obtiens quelques réponses dans cet autre fil. Tu peux aussi essayer d'aller sur le Discord de la communauté FR https://forums.unraid.net/topic/109073-homelab-discord-français/ J'y ai trouvé pas mal de gens dispo à aider et c'est plus facile pour faire du debug en temps réel qu'un forum. Quote Link to comment
ptichalouf Posted March 31, 2023 Share Posted March 31, 2023 Petit retour perso d'une config qui marche très bien en zfs et tout. Bref utilisez sunshine plutôt que Moonlight. https://github.com/LizardByte/Sunshine faites moi un retour perso c'est le jour et la nuit la différence tellement plus joli mieux avec la détection des pochettes de jeux etc. Quote Link to comment
hot22shot Posted March 31, 2023 Author Share Posted March 31, 2023 2 hours ago, ptichalouf said: Bref utilisez sunshine plutôt que Moonlight. https://github.com/LizardByte/Sunshine Tu dois confondre, Sunshine & Moonlight sont complémentaires, le premier est serveur en remplacement de GFE le second client. Ils sont donc à utiliser ensemble. Les équipes de dévs des 2 produits travaillent d'ailleurs ensemble. Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.