Beaucoup se demandent en quoi GNU/Linux serait utile sur PS4, et la réponse est en réalité très simple, l'environnement logiciel est extrêmement modulaire, libre (code source disponible et réutilisable) et ouvert/intéropérable.
Avec le noyau BSD modifié par Sony et Orbis OS, il faut à chaque fois réinventer la roue.
Légalement il est interdit de se servir du SDK d'origine pour des raisons de copyright, et recréer un SDK libre demandera beaucoup de travail, pour un résultat approximatif et qui nécessitera un effort énorme de reverse engineering et développement pour atteindre approximativement l'équivalent du SDK original de Sony.
Ainsi, une fois que tous les drivers Linux seront disponibles et stables (ça bosse bien là dessus, les explications viendront au prochain "chapitre"), l'on pourra profiter de tous les outils libres déjà disponibles dessus sans devoir faire un portage spécifiquement pour l'OS de la ps4, réclamant de fait énormément de travail supplémentaire, y compris pour un maintien sur la durée.
Bien sûr, l'on pourrait argumenter que le temps de chargement d'un système Linux pourrai être plus longs, mais pas du tout, l'environnement est très modulaire, et je vais vous donner un exemple concret, qui ne connaît pas XBMC/Kodi ?
Ici, si l'on devait profiter de la version Linux de KODI comme homebrew PS4, il suffirait alors, de proposer un noyau Linux purgé de tous ses modules/drivers inutiles excepté ceux nécessaire au fonctionnement det la console et du logiciel, avec une simple base de distribution minimale, ce qui, réduirait considérablement le temps de chargement de l'homebrew (qui pourrait tout aussi bien être autre chose) et se mettre au niveau du temps de chargement de n'importe quel homebrew natif.
C'est tout l'intérêt de Linux qui s'adapte à toutes les situations... Sa modularité lui permet de fonctionner dans tous les environnements, même les plus improbables.
On s'évite par ailleurs un port fastidieux et la nécessité de réadapter chacune de ses mises à jour, sur OrbitOS, et le noyau Linux permet déjà par défaut de profiter de nombreux systèmes de fichiers sur les médias externe, dont le NTFS, autant de temps et d'énergie économisée pour se concentrer sur d'autres choses.
L'utilisation de Linux sur PS4 (et à terme, la Xbox One si hack, les deux étant très proches) permet par ailleurs d'unifier les efforts de développement du monde PC, et de la scène console, rien n'empêche de continuer le développement d'émulateurs sur PC par exemple (le "core"), et aux développeurs PS4 de développer une interface comme on en retrouve souvent sur les homebrews consoles, avec un SDK d'origine ou non. (Ou même de ces derniers de reprendre le core et l'optimiser pour la PS4)
Les développeurs PS4 profiteront alors de l'apport de l'univers PC, pourront contribuer aux projets d'origine s'ils le souhaitent, et l'univers PC profitera alors des apports d'interfaces développées pour la console.
Et ce n'est qu'un petit aperçu des avantages... Avec la PS4 sous Linux, vous pourriez profiter de votre écran 21/9 2560x1080 // 3440x1440 ou résolutions d'écran spécifiques, de votre carte son USB, de votre enceinte Bluetooth/USB, là où OrbitOS et le noyau BSD de Sony ont bien des limitations...
Enfin, le dernier point non négligeable également, est la possibilité de se servir de Linux comme sur un PC, classiquement, le processeur d'AMD support la virtualisation, donc vous pourrez executer MacOS X ou Windows dans une machine virtuelle, avec support de l'USB 3.0, pour pouvoir effectuer n'importe quelle manipulation dessus.
Vous pourrez également profiter de jeux Windows quasi nativement avec Wine et PlayOnLinux, jouer à des jeux natifs comme une SteamBox avec steam, ou simplement executer LibreOffice pour faire du traîtement de texte/tableur, voir même Microsoft Office (si si, avec wine & PlaOnLinux c'est possible), sur une machine ayant un bon rapport performances/prix, généralement bien plus performante que ce qu'offre un ultrabook de base avec un core i5/7 mobile...
Et, bien évidemment, vous pourrez profiter de tout ça, tout en profitant de la ludothèque PS4 à côté, et sur une durée de support très longue (plus de dix ans, vingt ans ?), car ce n'est pas demain la veille, que le support x86_64 sera abandonné sous Linux. On est très loin des situations connues jusqu'ici pour Linux sur les autres consoles, entre une configuration poussive (la première xbox) ou un environnement d'execution limité (la ps3) avec des architectures CPU très spécifiques et limitantes...
Avec une base Linux, vous n'êtes donc pas prêt de remiser votre PS4 au placard, et vous profiterez toujours des dernières avancées logicielles, il ne reste plus qu'à espérer qu'un homebrew PS4 natif permettra bientôt de charger directement ce dernier sans devoir passer par l'envoi d'un PayLoad via le réseau...
Concernant l'avancée des drivers, je viens donner quelques informations concernant le support de Linux sur PS4 fat/slim/pro.
Il semblerait qu'une équipe italienne soit actuellement en train de travailler sur l'intégration du dernier patch fail0verflow des drivers GPU sur le noyau Linux, mais pas que, suite au travail de xorloser pour récupérer le firmware du chipset wifi & bluetooth (voir son github), l'équipe annonce également travailler sur l'intégration de ce dernier pour en profiter également.
Par ailleurs, l'équipe a déjà intégré les patchs d'Eeply pour le support du pont DisplayPort => HDMI sur ps4 Slim, Pro, et les dernières Fat CUH-12xx.
Enfin, l'équipe travaillerais également sur le support de l'audio via le HDMI (on rappelle qu'en attendant, les cartes son USB ou enceinte bluetooth peuvent fonctionner sans problème avec un dongle, j'ai par exemple utiliser une enceinte BeoPlay A1 de Bang & Olufsen aussi bien en Bluetooth qu'en USB, et une deuxième peut être appairée en stéréo à l'autre sans fil..)
Vous pouvez suivre la team en question sur son twitter ou, github.
Maintenant, concernant Manjaro Linux, je vais donner quelques éclaircissement sur ce choix, un certains nombre d'utilisateurs anglophones ayant reprochés de ne pas avoir poussé une distribution classique, comme Fedora et Ubuntu.
Il y a quelques similitudes entre Fedora et Ubuntu qui me posent problème, certes elles sont censées apporter une stabilité accrue, de même que Debian, mais les versions de paquets sont pour la plupart figées, et l'on ne profite pas des dernières fonctionnalités.
Si pour un environnement de production, avoir une base la plus statique et stable possible est un avantage pour la maintenance, pour l'utilisateur final, lambda, ça ne me semble pas vraiment pertinent, notamment sur PS4. Autant profiter du dernier logiciel quand il est disponible.
Manjaro, et ArchLinux, sur laquelle elle est basée, apporte l'avantage d'une distribution toujours à jour et bourrée d'outils graphiques lui étant propre.
Votre média de stockage (Clé usb, SSD, Disque dur) contenant la distribution aujourd'hui pourra toujours être mise à jour plusieurs années après, là ou en dehors des versions LTS (support sur le long terme) d'autres distributions, ce n'est pas le cas.
Par ailleurs les versions LTS d'Ubuntu, par exemple sont souvent très en retard sur les versions de librairies et de paquet, ce qui pose des problèmes pour le support de certains logiciels dans leurs version la plus récente, les PPA (dépôts communautaires à rajouter un à un) peuvent foutre un bordel incroyable assez rapidement pour peu que vous souhaitiez installer des paquets qui ne soient pas disponibles de base dans les dépôts de la distribution.
Manjaro a, de plus, la spécificité d'être en léger décalage avec ArchLinux pour les mises à jour, afin que le temps sois pris de vérifier que celles ci soient suffisamment stables et ne posent pas de problèmes.
De cette sorte, pousser Manjaro sur PS4 permet également de supporter ArchLinux, les utilisateurs avancés n'auront aucun mal à installer cette dernière, les deux distributions profitent d'un socle commun, en étant beaucoup plus proches que ne le sont Ubuntu et Debian, notamment.
Enfin, comme je l'avais mentionné dans une précédente news, les deux distribution ont l'avantage fort de disposer d'un dépôt communautaire accessible, et complet, permettant d'ailleurs d'en apprendre pas ma sur le fonctionnement du gestionnaire de paquet, mais également, en donnant bien des exemples de compilation ou empaquetage de nombreux logiciels.
La différence avec les dépôts PPA est flagrante, là ou il faut rajouter manuellement un dépôt pour chaque paquet(s) d'un internaute sur la distribution, le logiciel "yaourt" qui pioche dans le dépôt "AUR" va récupérer un script, votre script, ou celui de quelqu'un d'autre.
Ce script contiendra tout le nécessaire pour construire un paquet logiciel, avec l'indication du nom, de la version, de la taille, des dépendances, qu'elles soient dans les dépôts de la distribution ou accessible via le dépôt communautaire "AUR", ainsi que toutes les manipulation pour télécharger/compiler et/ou empaqueter.
Car si la finalité est bien d'installer un paquet logiciel pouvant contenir n'importe quoi (d'une extension, à une musique, un script de configuration, un service, un logiciel, etc...) de façon standardisée, on peut tout aussi bien ne pas passer par une compilation et proposer via le script de télécharger directement des binaires, les intégrer à un paquet, et l'installer.
Enfin, avantage de taille, ce dépôt est déjà très bien rempli, de multiples logiciels, jeux, émulateurs, qu'on ne trouve même pas sous forme de PPA sous Ubuntu, ni généralement pas dans leur dernière version (surtout avec les versions LTS dont les librairies datent), et, en cas de compilation, tout est automatisé, bien qu'il soit possible d'intervenir et éditer le script avant toute activité pour personnaliser tout ça et apprendre comme ça fonctionne. (Inclure des arguments, un support spécifique, changer l'emplacement de l'installation, le nom du paquet, la version, une adresse de téléchargement, etc...)
Un exemple tout bête. Si quelqu'un se crée un script/outil, graphique ou non, permettant de compiler (ou télécharger une version pré-compilée) du dernier noyau Linux proposée par PSXITA ou Eeply, de l'installer directement sur le média de stockage USB sur la partition FAT16/32... Il pourra alors le proposer à tout le monde sur le dépôt AUR, disponible par défaut chez tout le monde.
Et c'est valable pour n'importe qui, pouvant apporter n'importe quoi.
De mon côté je ne compte pas m'arrêter là, dès qu'un noyau stable et fonctionnel sera disponible sur PS4, je peaufinerai et proposerai une version un peu plus optimisée et pré-configurée de Manjaro, pour que l'utilisateur néophyte puisse l'utiliser sans aucune difficulté prêt à l'emploi, et l'environnement de bureau principal sera Gnome (mais avec quelques extensions particulières pré-installées), tandis que l'environnement de bureau secondaire sera LXDE.
Par ailleurs je songe également à proposer une version ArchLinux pour les utilisateurs avancées qui voudraient partir d'une petite base sans interface graphique, ainsi qu'une version minimal de Kodi comme "proof of concept".
Je proposerai également sans doute une version Française par défaut, et une autre, en Anglais, au téléchargement.
Ps : je serais gré à quiconque, de proposer, comme sur mon dernier article, une version anglophone de celui ci, sur psxhax & gbatemp, merci beaucoup !
Modifié par tikilou, 29 mars 2018 - 15:23.