IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Développement 2D, 3D et Jeux Discussion :

Valve propose des modifications du noyau Linux pour le rendre plus « game-friendly »


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Expert éminent sénior

    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Mars 2017
    Messages
    1 177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Madagascar

    Informations professionnelles :
    Activité : Rédacteur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2017
    Messages : 1 177
    Points : 78 775
    Points
    78 775
    Par défaut Valve propose des modifications du noyau Linux pour le rendre plus « game-friendly »
    Valve propose des modifications du noyau Linux pour le rendre plus « game-friendly »
    Les premiers tests montrent de modestes gains de performances

    Linux n’a jamais été la plateforme de jeu par excellence. Pourtant, la société Valve la considère comme « l'avenir du jeu » et estime que les systèmes fermés sont en contradiction avec l’évolution du marché du jeu vidéo. L’éditeur de Steam souhaite depuis longtemps que Linux remplace Windows en tant que plateforme majeure de jeu sur PC et c’est probablement l’une des raisons pour lesquelles il redouble d’efforts afin de « mettre Linux à niveau ».

    Nom : 0.jpg
Affichages : 50075
Taille : 30,7 Ko

    L’année dernière, Valve a officialisé Steam Play et Proton, un outil utilisé par le client Linux de Steam pour fournir la compatibilité interplateformes Windows-Linux et permettre de jouer facilement à des jeux Windows ou d’exécuter des applications 3D Windows sous Linux. Proton est construit autour d’une version personnalisée de Wine et intègre d’autres bibliothèques développées en parallèle. Il est entièrement open source et offre dans bien des cas des performances supérieures à Wine, la couche logicielle de compatibilité grâce à laquelle il est possible d’utiliser sur un environnement Linux, FreeBSD et macOS des applications Windows.

    Les implémentations de DirectX 11 et 12 dans Proton sont basées sur Vulkan (DXVK et vkd3d) et les performances dans les jeux multithreads auraient été grandement améliorées par rapport à celles de Wine. Des optimisations apportées au support plein écran et au support des contrôleurs de jeu afin qu’en mode plein écran, les jeux puissent s’ajuster harmonieusement à la résolution désirée sans interférer avec la résolution native du moniteur et qu’ils puissent reconnaitre automatiquement les contrôleurs pris en charge par Steam sont également de la partie.

    Dans la version la plus récente des notes de mise à jour de son outil Proton, Valve propose désormais d’apporter des changements au noyau Linux afin de surmonter les problèmes rencontrés en essayant de lancer certains jeux et de rendre les distributions Linux plus « game-friendly ». L’éditeur de Steam veut notamment étendre la fonctionnalité futex() et apporter des modifications à glibc et à lbpthread afin d’améliorer les opérations multithreadées.

    À ce propos, Valve a expliqué : « Nous proposons d’apporter des changements au noyau Linux pour étendre l’appel système futex() afin d’exposer ce que nous pensons être la fonctionnalité essentielle supplémentaire nécessaire pour supporter une synchronisation optimale du pool de threads ».

    Valve suggère en premier lieu de remplacer la fonctionnalité baptisée esync par une nouvelle encore expérimentale appelée fsync, qui fournit « une prise en charge des primitives de synchronisation intraprocessus basées sur un futex » et réduit davantage l’utilisation du processeur que esync. Toutefois, comme cela nécessite l’utilisation de la fonction eventfd() du noyau Linux, des modifications de ce dernier sont nécessaires pour fonctionner correctement.

    Dans les premiers tests prenant en compte ces changements, Valve a noté des gains de performance de 4 % sur le jeu Beat Saber et de 1,5 % sur Shadow of the Tomb Raider avec Proton. L’entreprise est malgré tout persuadée que des améliorations significatives pourront être obtenues ultérieurement. La version 4.11 de Proton devrait bénéficier du patch fsync pour utiliser le nouveau noyau lorsqu’il sera supporté.

    Source : LKML

    Et vous ?

    Que pensez-vous de cette initiative de Valve ?
    Ces efforts pourraient-ils aider à Linux à s’imposer rapidement comme la plateforme de jeu par excellence dans les années à venir ?

    Voir aussi

    Valve muscle son service de Cloud gaming, Steam Link, avec Steam Link Anywhere, désormais vous pouvez jouer en streaming à vos jeux PC partout
    Microsoft veut qu'Azure devienne la solution serveur multijoueur pour toutes les plateformes, grâce à PlayFab Multiplayer Servers
    Google lance en bêta-test son service de streaming de jeux vidéo via Chrome, Project Stream va inaugurer le jeu Assassin's Creed Odyssey d'Ubisoft
    Google et Ubisoft s'unissent pour développer une architecture serveurs dédiée aux jeux vidéo qui s'appuie sur Kubernetes
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre actif
    Femme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Décembre 2017
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Décembre 2017
    Messages : 59
    Points : 281
    Points
    281
    Par défaut
    Oui enfin avant de penser à faire des gains de 5%, on pourrait pas faire une campagne de sensibilisation auprès des devs de jeu pour qu'ils arrêtent de faire des boucles d'attente actives, et être plus CPU-friendly ? C'est pas en changeant le noyau Linux que d'un seul coup un pauvre menu composé de 5 sprites va passer de 100% à 95% de consommation de ressources.

  3. #3
    Membre expert Avatar de air-dex
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 654
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 1 654
    Points : 3 774
    Points
    3 774
    Par défaut
    Linux ne sert pas qu'à jouer. Du coup j'ai hâte de lire la réponse du maître Torvalds avec ses mots bien à lui.
    "Ils ne savaient pas que c'était impossible alors ils l'ont fait." Mark Twain

    Mon client Twitter Qt cross-platform Windows et Linux. (en cours de développement).

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    909
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 909
    Points : 2 818
    Points
    2 818
    Par défaut
    Citation Envoyé par lsbkf Voir le message
    Oui enfin avant de penser à faire des gains de 5%, on pourrait pas faire une campagne de sensibilisation auprès des devs de jeu pour qu'ils arrêtent de faire des boucles d'attente actives, et être plus CPU-friendly ? C'est pas en changeant le noyau Linux que d'un seul coup un pauvre menu composé de 5 sprites va passer de 100% à 95% de consommation de ressources.
    Certes, de plus un gain de performance veut pas nécessairement dire passer de 100% à 95% de CPU mais simplement plus d'IPS (ou FPS si vous préférez).

  5. #5
    Membre actif
    Femme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Décembre 2017
    Messages
    59
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Décembre 2017
    Messages : 59
    Points : 281
    Points
    281
    Par défaut
    Ce qui ne sert à rien si tu continues à cramer le CPU dans le vide quand tu limites le framerate. Moi je parle d'utiliser les ressources proprement, pas de concours de bites. Ils font leurs tests avec le jeu seul sur un PC haut de gamme et l'OS fraîchement installé en regardant leur nombril alors que dans un cas réel tu as typiquement le browser qui tourne (et d'autres trucs variés) et qui est souvent utilisé en parallèle. Lui en revanche va devenir 10 fois plus lent pour tout faire même s'il ne se passe rien dans ta fenêtre de jeu, et à son tour va provoquer du stuttering dans ton jeu parce que le scheduler ne saît pas qu'il peut donner la main à autre chose pendant que ton jeu est dans sa boucle active, puis finalement alloue du temps au browser pendant que le jeu est dans une section de code utile.
    Certains développeurs évitent d'utiliser la fonction Sleep (ou autre équivalent) car ils s'imaginent (ou "on leur a dit") que la granularité du scheduler va les désavantager sur le temps disponible dans une frame, mais en réalité cette granularité est quand même présente (en plus du problème de stuttering), tandis que si tous les processus jouent la carte de la coopération tu peux réveiller ton thread pile au moment où tu le voulais, et dès que tu as fini les autres peuvent faire leur travail immédiatement et laisser autant de marge que possible pour tous ceux qui ont besoin d'un timing spécifique.
    D'autres développeurs vont rejeter la faute sur leur moteur de jeu et il ont seulement à moitié raison : ils ont aussi le droit de faire remonter le problème, ou modifier le moteur eux-mêmes.

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2013
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2013
    Messages : 125
    Points : 659
    Points
    659
    Par défaut
    Ces efforts pourraient-ils aider à Linux à s’imposer rapidement comme la plateforme de jeu par excellence dans les années à venir ?
    Je pense que le seul moyen que Linux s'impose comme plateforme de jeu par excellence est de continuer à dévorer windows de l'intérieur comme actuellement, à savoir être installé dans windows.
    Perso je n'est rien contre Linux, au contraire je l'aime bien et c'est un compagnon de travail depuis de nombreuses années. De travail oui, car steam sont bien gentils, mais malgré leurs position dominante ce ne sont pas les seuls, et je suis curieux de voir si ubisoft, EA et compagnie suivront le mouvement...
    Petite pensée pour ceux qui profitent des facilités qu'offre windows pour le multi-plateforme entres xbox et windows 10, je suis certains qu'ils soutiendront l’initiative de valve ...

    Non mais plus sérieusement, qu'ils boost Linux pour le jeu, c'est très bon, mais de là a avoir l'intention de remplacer windows comme plateforme de jeu, je n'y crois absolument pas.
    C'est pas tout d'avoir des jeux compatibles, faut aussi les périphériques ... (logitech, si vous lisez ce message, entendez mon appel au secours et rendez vos casques 5.1 et 7.1 USB compatibles nuNux )

Discussions similaires

  1. Paramétrer le noyau linux. Pour le démarrage
    Par sivaller dans le forum Administration système
    Réponses: 1
    Dernier message: 28/01/2010, 16h48
  2. Réponses: 0
    Dernier message: 09/12/2009, 11h20
  3. Réponses: 0
    Dernier message: 29/10/2009, 11h04
  4. Réponses: 3
    Dernier message: 05/12/2008, 07h45
  5. configuration du noyau linux pour l'embarqué
    Par wa7ch3000 dans le forum Administration système
    Réponses: 2
    Dernier message: 24/11/2008, 22h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo