Linux : Délégation du rendu pour booster vos jeux

Je suis un peu surpris, mais cela fonctionne mieux qu’avec le rendu sans déchargement ! Ma configuration est : AMD Ryzen 7900X3D, RTX 4070Ti, KDE Neon. J’ai testé Dying Light 2 avec les paramètres maximum (avec RT et sans DLSS, 3440×1440).

Bureau entier fonctionnant sur la carte graphique dédiée : **49 FPS**.

Bureau fonctionnant sur le graphisme intégré, jeu utilisant la carte graphique dédiée : **51 FPS**.

La différence ici est négligeable, mais j’ai la totalité de la VRAM disponible pour le jeu.

De plus, la différence entre X11 et Wayland était aussi insignifiante.

Donc : **ne gaspillez pas votre iGPU**. Réservez la puissance réelle pour les tâches lourdes. Branchez votre moniteur sur la carte mère et utilisez le rendu par déchargement pour les jeux. En tout cas, cela fonctionne pour moi.

29 replies

  1. Lillian Harrison · 2 weeks ago

    Qu’en est-il de la Variable Refresh Rate, fonctionne-t-elle pour vous lors du déchargement du rendu des jeux sur le dGPU avec X11 et Wayland ?

    1. Julia Ludwig · 1 week ago

      Je pense que cela fonctionne, mon écran scintille quand les fps chutent (problème courant avec les panneaux VA quand la VRR change de fréquence), mais quand l’écran est réglé sur 144 Hz et que le jeu est limité à 90 images par seconde, c’est fluide. Pour le moment, je n’utilise que Wayland et cela fonctionne vraiment bien. Pour X11, je me souviens qu’il y avait quelques problèmes de tearing sur le deuxième écran.

  2. Louise Petit · 2 weeks ago

    J’y ai pensé, mais j’ai trois écrans et j’avais désactivé l’IGP pour réduire la chaleur et la consommation supplémentaires du processeur.

  3. Claire Little · 2 weeks ago

    Voici ce que je fais depuis que j’ai ce problème avec mes ports ou quelque chose sur mon dGPU, qui bégaye aléatoirement quand il est connecté au dGPU. Maintenant, j’utilise l’iGPU pour toutes les tâches sauf le gaming. Je ne vois aucune différence sur le mien et cela fonctionne aussi bien qu’avant. De plus, il n’y a pas de latence de saisie comme je l’ai lu sur Google, ou alors je ne la sens tout simplement pas ? J’ai un 5600G et un 6600XT, au fait.

  4. Aaron Brooks · 2 weeks ago

    Concernant lsfg-vk, je suis le dépôt GitHub et le Process Tracker. Mais à ma connaissance, elle avait mentionné (le 3 août) que la prise en charge du double GPU (#159) sur Vulkan pose des problèmes. La section « In Progress » est également complètement vide, donc j’espère vraiment qu’elle n’a pas rencontré des obstacles insurmontables.

    J’y ai aussi pensé, ne serait-ce que pour économiser la VRAM due à l’utilisation au repos du bureau. Je regardais pour une RX 6400.

  5. Colin Montgomery · 2 weeks ago

    Je le fais depuis quelques années maintenant. Cela fonctionne vraiment bien et j’ai pu éviter beaucoup des problèmes liés à l’utilisation de Wayland avec une carte graphique Nvidia.

    1. Julia Ludwig · 2 weeks ago

      Actuellement, Wayland fonctionne correctement avec Nvidia, mais effectivement, AMD reste meilleur.

  6. Mark Martin · 2 weeks ago

    Oui, j’ai testé cela avec une carte graphique AMD et Cyberpunk, et j’ai obtenu quelques fps supplémentaires en utilisant dgpu -> igpu -> sortie. Ce n’est pas beaucoup, mais comme j’utilise parfois de l’IA locale, cela vaut vraiment le coup d’avoir 1 Go de VRAM en plus et, en prime, les 2-3 fps supplémentaires. Je suis presque sûr que cela ajoute un peu de latence, mais sur PCIe4, quelques millisecondes sont négligeables. Bien sûr, si vous jouez à des jeux compétitifs type FPS, vous voudrez la latence la plus basse, mais si vous jouez à des jeux solo, je préfère avoir ces quelques fps en plus ainsi que plus de VRAM disponible.

  7. Eliza Morris · 2 weeks ago

    Gardez-vous les chemins synchronisés (par exemple VRR, gsync) lorsque vous intercalez votre iGPU ?

    1. Declan Miller · 2 weeks ago

      Pas de gsync, car cela nécessite un câble pour le GPU dédié, ce qui désactive le GPU intégré dans le cas de Nvidia. Voyez mes autres commentaires ici et là pour plus de détails.

  8. Noah Holland · 1 week ago

    Permettre à Steam d’utiliser le GPU se répercute-t-il sur les jeux que Steam lance ?

    1. Julia Ludwig · 1 week ago

      On dirait que ça fonctionne comme ça, je n’ai pas besoin de spécifier tous les jeux pour utiliser la carte nvidia, steam fonctionne simplement sur nvidia et tous les jeux démarrent aussi sur nvidia.

      1. Oscar Böhm · 1 week ago

        Seules les applications OpenGL comme Blender ou certains jeux OpenGL ont besoin de `DRI_PRIME=1`

        (mais dans Blender, vous pouvez utiliser CUDA tout en faisant tourner Blender sur l’IGPU pour le rendu – aucune raison de le faire en réalité – cela doublera l’utilisation de la mémoire car Blender copiera tout sur le DGPU pour CUDA)

        Steam n’a pas besoin de tourner sur le DGPU – il peut fonctionner sur l’IGPU

        DXVK sélectionnera et forcera automatiquement l’utilisation du GPU discret – ainsi que tous les jeux natifs Vulkan comme Baldur’s Gate 3

        Et vous n’avez besoin d’aucune option de lancement pour les jeux Vulkan/DXVK – cela fonctionnera directement.

    2. Charles Weaver · 1 week ago

      Oui. C’est ainsi que je gère les choses sur mon ordinateur portable équipé d’une 2070. Steam se lance pour que le rendu soit effectué par le GPU Nvidia et tous les processus enfants suivent cet exemple. Cela a tellement simplifié le jeu sur Linux.

  9. Sophie Roberts · 1 week ago

    Cela a-t-il des implications sur la latence ?

    1. Samuel Anderson · 1 week ago

      Oui, mais à moins que vous n’utilisiez seulement 2 ou 4 voies PCIe pour votre GPU, elles seront négligeables.

    2. Frieda Funke · 1 week ago

      From my little understanding I guess it does have a negligible impact.

      Both GPUs share the same frame buffer in system RAM, so the dGPU needs to copy/sent the rendered frame to the RAM (instead of *directly* sending it to the monitor from the VRAM?), so then the iGPU picks that frame to the output. RAM and VRAM latency is in nanoseconds, display latency is in milliseconds, (like 30FPS = 33MS, 60FPS = 16MS, 120FPS = 8MS, 240FPS = 4MS, etc.), could be a bottleneck in this process somewhere? I dont think so. Yes its an extra step, but no human would notice.

    3. Julia Ludwig · 1 week ago

      Je ne ressens aucune différence, pour être honnête. Peut-être qu’il y en a une, mais je ne la ressens pas du tout. J’évite d’utiliser le vsync, j’utilise simplement les limiteurs de fps dans le jeu, et cela fonctionne bien sans déchirement.

  10. Mark Carlson · 1 week ago

    Désolé mais comment procède-t-on pour cela ?

    1. Julia Ludwig · 1 week ago

      If your CPU has an integrated GPU (iGPU) and your motherboard has DisplayPort and/or HDMI, plug your monitor into the motherboard instead of dGPU.

      OS should use iGPU by default. Then you have to make your apps like Steam to run on the dedicated GPU (in the KDE menu editor there is a checkbox for it) or run through script. I have in \~/bin/prime-run:

      export __NV_PRIME_RENDER_OFFLOAD=1
      export __GLX_VENDOR_LIBRARY_NAME=nvidia
      export __VK_LAYER_NV_optimus=NVIDIA_only
      export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/nvidia_icd.json
      exec « $@ »

      then I run apps like `prime-run ./blender`. This is for Nvidia only, for AMD cards there are different variables (probably it’s just `DRI_PRIME=1`, but I’m not sure)

      1. Amy Shelton · 1 week ago

        Intéressant, merci pour l’info, je viens de me souvenir que le 3050 de mon portable n’a pas de sortie d’affichage et qu’il passe en fait par l’IGPU, donc je pense que le système d’exploitation utilise probablement l’IGPU par défaut.

        1. Julia Ludwig · 1 week ago

          vous pouvez vérifier nvidia-smi pour voir la quantité de VRAM utilisée et glx-info pour voir quel GPU est utilisé par défaut

        2. Julia Graham · 1 week ago

          Vulkan choisit automatiquement le meilleur GPU dans la plupart des cas.
          Ce que vous avez décrit ne se produit que rarement.

  11. Jannis Ulrich · 1 week ago

    Je faisais cela avant, mais j’ai constaté que la VRR ne fonctionnait pas pour les jeux lorsqu’elle était déchargée.

    1. Samuel Cooper · 1 week ago

      Est-ce que gamescope réglerait le problème ?

  12. Hiroki Doi · 1 week ago

    Écran branché sur la carte mère.

    Maintenant, rebranche-le sur la carte graphique et profite du shitshow sans raison particulière, que ce soit avec de la double copie ou l’impossibilité de faire tourner quoi que ce soit sur l’IGPU.

    Ce serait bien de décharger le système d’exploitation sur l’IGPU tout en conservant le G-SYNC, mais pas dans cette réalité, malheureusement.

    1. Julia Ludwig · 1 week ago

      Je branche occasionnellement un téléviseur sur le GPU dédié (j’ai normalement deux écrans) pour jouer dans une autre pièce, et cela fonctionne bien.

      Et la technologie FreeSync fonctionne bien, c’est suffisant pour moi.

      1. Blake Kelley · 1 week ago

        Ça fonctionne plus ou moins si on règle kwin sur l’igpu, mais l’utilisation de l’igpu monte en flèche à un taux de rafraîchissement élevé à cause de la double copie de la dgpu vers l’igpu et retour. Et si on veut garder kwin sur la dgpu, alors on ne peut rien exécuter sur l’igpu du tout, ça plante simplement.

        1. Julia Ludwig · 1 week ago

          Tant que j’ai 60 FPS sur la télé, je m’en fiche tout simplement 🙂

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *