Comment nVidia et Valve ont porté le moteur de jeu Source sur Linux

En mars dernier, lors de la GDC (Game Developers Conference), nVidia et Valve ont présenté lors d’une conférence les leçons apprises lors du portage du moteur de jeu Source sur Linux avec la sortie de Steam sur cette plateforme récemment.

Ils sont revenus sur les différentes raisons qui ont poussé à faire ce portage: Linux est libre, le pourcentage de gamers augmente, la proximité avec Android, les performances et la sortie de Steam.

On peut retrouver dans cette présentation les outils conseillés pour le développement (SDL, Simple Direct Layer, et l’implémentation du C) et l’analyse des performances CPU (vtune, and Telemetry) et GPU (NVIDIA Nsight, PerfStudio, gDEBugger, CodeXL et ApiTrace).

Ils ont aussi évoqué les contraintes de développement par rapport à Windows: les noms de fichiers sensibles à la casse, la gestion des ports pour les serveurs, la gestion de la souris, du multi-écran ou de l’affichage des polices de caractères.

L’intégralité de la conférence est disponible en PDF (90 pages) sur le site d’nVidia (mirroir sur mon blog) et en vidéo (conférence en anglais):

Accéder à Steam sur Linux sans être inscrit à la bêta

Si vous souhaitez accéder à la bêta fermée de Steam sur Linux sans y être inscrit, une astuce a été postée sur Reddit afin d’accéder tout de même aux jeux de la plateforme.

Dans un terminal, tapez:

  • wget http://media.steampowered.com/client/installer/steam.deb
  • sudo dpkg -i steam.deb
  • S’il vous manque des dépendances, tapez sudo apt-get install -f puis tapez à nouveau sudo dpkg -i steam.deb

A partir de ce moment-la, démarrez Steam normalement (il se peut que le client se mette à jour), et tentez de vous connecter, vous aurez un message comme quoi vous ne pouvez utiliser Steam car vous ne faites pas partie de la bêta fermée:

Ouvrez alors un terminal et tapez la commande suivante:

  • steam steam://open/games

Profitez 🙂

J’attend de tester avec un Ubuntu 32 bits, ça n’a pas l’air de bien fonctionner avec la version 64 bits.