Nasra's games

wine

Ça c'est pour un peu de nostalgie !

DOS ? DosBOX !

Pour lancer des jeux anciens, il vous faut un logiciel qui s'appelle DosBOX. DOSBox est un émulateur simulant un environnement compatible MS-DOS dans le but d'exécuter des jeux vidéo développés autrefois pour ce système. Et comme DosBOX est publié en licence GPLv2, il est disponible dans les dépôts de nombreuses distributions.

DosBOX

DosBOX et Steam

Avec le temps, de nombreux éditeurs se sont mis à republier leurs jeux. GOG en a fait son business en réadaptant des jeux autrefois non compatibles avec les versions plus récentes de Windows. Mais comme DosBOX va plus loin (la compatibilité avec MS-DOS, le système présent avant Windows), il est souvent aussi intégré dans les releases de GOG.

Et pour nous Linuxiens, ça va nous poser des soucis. Les launchers sont forcément des .EXE, compatibles ©Windows, et pas DOS. Nous avons donc besoin d'un outil qui intègre Wine et DosBOX pour lancer tout cela.

AlleyCat

Boxtron

C'est ici que Boxtron entre en jeu. Il s'agit d'un outil intégrant Wine et DosBOX, plus quelques bonnes idées de développement pour réduire l'input lag et quelques soucis de son et de résolution.

Comment installer tout ceci ?

Tout est là ! Installer DosBOX et ses éléments :

$ sudo apt install dosbox inotify-tools timidity fluid-soundfont-gm

Télécharger les sources, entrer dans le dossier, compiler :

$ git clone https://github.com/dreamer/boxtron.git
$ cd boxtron
$ sudo make install

Redémarrez Steam, et voilà !

Utiliser Boxtron pour vos jeux GOG

Pour installer aisément les jeux DOS (et ©Windows aussi !) venant de GOG dans votre librairie Steam, utilisez le script inclus :

$ ./install-gog-game ~/Downloads/setup_warcraft_orcs__humans_1.2_\(28330\).exe

Cela va installer le jeu dans ~/.local/share/games préparer l'installation qui marchera bien avec Steam et générera un raccourcis .desktop pour l'ajouter à votre librairie Steam. Après cela, vous pourrez jouer à votre jeu avec Proton ou Boxtron. Ce script dépend seulement d'une librairie Python standard, vous pouvez changer les dossiers de destination comme vous le souhaitez.

#steam #linuxgaming #dosbox #boxtron #wine #gog

...et les autres !

Proton ?

D'abord qu'est-ce que Proton ? Proton c'est un super utilitaire développé par Valve et intégré à Steam-Linux pour faire tourner des jeux créés seulement pour Windows. Il contient tout ce qu'il faut pour faire tourner des jeux et est basé, entre autres, sur deux éléments indispensables : Wine et DXVK ! Pour utiliser tout cela voici un très bon tutoriel en français ici.

Vulkan

Wine et DXVK ?

Wine est un acronyme pour “Wine Is Not an Emulator”, comme son nom l'indique, Wine est une collection de librairies qui permettent à des jeux ou applications Windows de “retrouver leurs petits” lorsqu'ils sont lancés sur Linux. En gros, c'est un traducteur d'appels d'applications. Au lieu qu'une application demande directement le .dll qu'il lui faut, Wine lui fournit une version différente qui permet de dialoguer avec Linux.

Wine est intégré dans différents projets comme PlayOnLinux, Lutris, Codeweaver...

DXVK ?

DXVK est un peu aussi un acronyme de “DirectX VulKan”. Même chose que pour Wine, il s'agit d'un traducteur. Mais avec cette fois la puissance de Vulkan, ce qui entraîne un gain de performances important voire parfois des applications qui tournent mieux ou à performances égales selon les jeux. et avec les versions, DXVK se bonifie !

Proton et ses versions non officielles.

Je ne vais parler que de celle que je teste depuis quelques temps, la version Proton-GE. C'est une petite merveille de Thomas Crider alias GloriousEggroll qui comprend les derniers développements de Wine, DXVK ainsi que d'autres utilitaires audio comme FAudio, XAudio... En gros, utiliser une version non officielle permet le plus souvent de gagner en performances et en compatibilité d'applications. Le mieux est de recenser tout cela sur le site ProtonDB qui documente tous les jeux jouables ou ayant besoin d'astuces pour fonctionner correctement !

Comment installer tout cela ?

Simple ! Vous allez dans la partie “release” du code déposé sur GitHub, vous téléchargez, et vous décompressez dans le bon dossier ! Chez moi c'est celui-ci : /home/nasra/.steam/debian-installation/compatibilitytools.d

Il n'y a plus qu'à sélectionner la bonne version dans Steam !

#vulkan #popos #mesa #proton #wine #steam

Ça avance de plus en plus !

Cheater

La compatibilité des outils anti-cheat avance sur Linux, quelles sont les avancées ?

Dans mon précédent article je vous parlais de Denuvo et autre joyeusetés. Je reprend juste deux, trois informations. Pour les jeux compétitifs en ligne, les logiciels anti-cheat sont devenus indispensables, notamment dans les jeux qui permettent des paiements en ligne. La situation de ces logiciels anti-cheat sous Linux est simple : pas compatible. Ces logiciels ont besoin d'accéder au noyau du système d'exploitation pour épier les irrégularités de comportement du joueur et ainsi bannir les contrevenants.

Wine

La dernière version de Wine montre quelques signes encourageant de ce travail, avec notamment le support “NetIO kernel driver implementation.” Des fonctions directement liées au noyau sont en train d'être développées sur Linux pour la gestion du réseau. Nous allons pouvoir trinquer une bouteille de vin !

Wine logo

EAC

La situation de Easy Anti-Cheat est particulière. Le logiciel que l'on retrouve dans Fortnite, Rust et bien d'autres a été racheté par Epic. Même si dans un premier temps l'équipe derrière EAC travaillait avec Valve pour une compatibilité avec SteamPlay, depuis le rachat par Epic, ce travail est resté à l'état de déclaration depuis 2019. Epic ne porte pas son attention à Linux (à part pour son moteur Unreal Engine, même dans sa dernière version). Mais certaines choses pourraient changer. Comme d'habitude sur Linux, les choses vont assez vite. Si vous testez une solution un jour, 6 mois plus tard vous n'aurez aucun soucis. Et c'est un peu l'annonce derrière ceci, EAC serait sur le point de fonctionner avec Wine grâce au travail de reverse engineering de cette équipe. Oui c'est tout récent, c'est tout frais, mais je voulais vous partager cette nouvelle !!

EAC

#linuxgaming #wine #anticheat #eac

Tricher c'est pas bien !

Denuvo

Les programmes anti-cheat sont très utiles pour le jeu en ligne. Ils permettent d'avoir une expérience de jeu égale pour tous, notamment dans les jeux où gagner de l'expérience permet d'acheter du matériel, étendre des possibilités ou dans les jeux compétitifs. Les tricheurs achètent du matériel plus facilement en s'arrogeant des crédit dans le jeu ou certaines capacités sont aussi boostées, auto-aim pour viser les ennemis et autres joueurs...

Bref, si leur utilité est incontestées pour beaucoup de joueurs sérieux, c'est surtout leur construction qui est mise à mal. Incompatibilités, ralentissements, jeux devenus injouables sans anti-cheat ou au support technique vacillant, les exemples sont légions.

Les Anti-cheat avec Linux

DRM

Pour qu'un logiciel anti-cheat puisse servir, il doit pouvoir détecter certains types de logiciels lancés par l'utilisateur, ou certains comportements jugés inhumains (frappes au clavier trop rapide, visée automatique de la souris...). Certains logiciels vont loin dans leur implémentation : ils vont jusque dans le noyau du système d'exploitation pour détecter ces tricheries.

Oui mais, ceci n'est pas sans risque. Les anti-cheat comme les protections DRM sont souvent des logiciels liés à des entreprises publicitaires, des profils marketing, ces logiciels ne sont pas open-source (on ne peut pas savoir exactement si ce qu'ils indiquent faire, ils le font exactement ou s'il n'y a pas d'autres comportements). Par exemple, Sony avait intégré une protection anti-copie à des CD Audio et le logiciel permettant de déchiffrer cette protection pour la lecture des fichiers ouvrait des failles de sécurité importantes permettant à des rootkit de détruire des données, exploiter des machines...

Pour un système qui intègre la plupart des serveurs de données dans le monde, ou une énorme partie des supercalculateurs tournent avec, il est inconcevable d'ouvrir la porte à ces types de logiciels à la sécurité chancelante (Microsoft, lui, s'en fout royalement).

Des jeux qui ne tournent pas

Il est donc normal que certains jeux ne tournent pas sur Linux à cause de ces programmes. C'est une question de sécurité. Cela concerne particulièrement des jeux comme PUBG, Fortnite, tous les MMORPG asiatiques (même très anciens, comme MuOnline ou SilkRoadOnline, que j'ai parcouru il fut un temps)... Et récemment Doom Eternal, qui a suscité tellement d'hostilité qu'une mise à jour du jeu a dû être mise en place pour supprimer ce logiciel des parties solo du jeu.

Doom Eternal

Oui, mais...

Valve a indiqué être au courant de cet aspect et va trouver des solutions. VMWare, y travaille déjà avec leurs solutions de virtualisation (important pour eux avec les licences de logiciels professionnels), et... plus récemment Wine ! La version 5.10 de Wine annonce travailler sur le programme Denuvo Anti-cheat !

#linuxgaming #denuvo #anticheat #wine