Ubuntu revient en partie sur son passage forcé au tout 64 bits

Vision contre réalité 117
Accès libre
image dediée
OS MàJ
Vincent Hermann

Mise à jour : Ubuntu a finalement été contraint de procéder à des aménagements suite aux réactions des développeurs. L'article a été mis à jour (à la fin) en conséquence.

La récente décision de Canonical de se passer de moutures 32 bits pour Ubuntu 19.10 et les versions ultérieures crée plus de remous que prévu. Valve prévoit de couper le support de la distribution pour Steam alors que Wine est bien embêté.

La semaine dernière, Canonical annonçait l’inévitable : dès la prochaine version d’Ubuntu, attendue comme d’habitude pour octobre, le système ne sera plus disponible qu’en 64 bits. Cette décision rejaillit tant sur les variantes officielles (Kubuntu, Xubuntu, etc.) que les distributions dérivées, dont Mint. Elle entraine donc de nombreux systèmes dans son sillage.

Elle était cependant prévisible, car le matériel purement 32 bits est devenu très rare et des plateformes importantes ont déjà fait le grand saut ou s’y préparent activement (macOS par exemple). Les avantages sont nombreux en termes de sécurité, de performances et surtout de maintenance, puisque de nombreux paquets ne nécessitent alors plus d’entretien.

Pourtant, ce sont bien ces paquets dont dépendent certaines applications, et pas des moindres. 

Valve dit non, Wine y songe très sérieusement

L'inévitable survient peut-être trop tôt. Ce qui s’apparentait à une « simple » décision technique provoque désormais de sérieux remous, malgré une FAQ officielle qui a rapidement montré ses limites.

On commence avec Valve, qui prévoit tout simplement la fin du support de son client Steam pour Ubuntu 19.10 et les versions ultérieures. Du moins si rien ne change. Pourquoi ? Parce que l'application repose encore largement sur des bibliothèques 32 bits. C’est cependant loin d’être le souci principal de Valve : de nombreux jeux en ont également besoin.

Dans l’immédiat, préparer un client 64 bits de Steam dans les mois qui viennent ne résoudrait donc pas le problème.

Steam Linux

Un développeur de Canonical s’est d’ailleurs amusé à tester des jeux venant de GOG sur une préversion d’Ubuntu 19.10. Le constat est sans appel : de nombreux titres ne fonctionnent tout simplement pas sur un système purement 64 bits (ce qu’Ubuntu 19.10 ne sera pas vraiment, nous y reviendrons). On peut donc envisager une situation similaire avec Steam.

La décision ne fait sans doute clairement plaisir à personne, et surtout pas à Valve. Après tout, Ubuntu est la distribution GNU/Linux la plus utilisée. Ne plus supporter la distribution risque fort d’ennuyer de nombreux joueurs, surtout avec les investissements massifs de l’entreprise dans le développement autour de l’API Vulkan.

Pour Wine, la situation est tout aussi compliquée. Ces bibliothèques 32 bits sont essentielles pour simuler l’environnement 32 bits de Windows, de nombreux logiciels fonctionnant sous la plateforme de Microsoft étant encore prévus pour cette architecture. Une situation qui n’évolue que lentement.

Rien ne pousse en effet les développeurs à basculer, à moins de besoins spécifiques comme les performances. Pour les abonnés Office 365 par exemple, les applications ne sont fournies en 64 bits par défaut que depuis moins d’un an.

Les clarifications de Canonical : bonnes et mauvaises nouvelles

L’éditeur s’est assez vite rendu compte d’un problème d’interprétation de son annonce. Oui Ubuntu 19.10 ne sera fourni qu’en 64 bits, mais cela ne signifie pas que les bibliothèques de compatibilité 32 bits en seront supprimées. Les soucis seraient-ils résolus pour autant ? Non, car le support technique vient s’en mêler.

Pour comprendre le choix de Canonical, rappelons qu’il existe deux cycles pour Ubuntu. D’une part, les versions classiques tous les six mois, accompagnées d’un support de neuf mois. D’autre part, les versions LTS (Long Term Support) tous les deux ans, avec un support de cinq ans. La majorité des utilisateurs sont dans le cycle classique, dont le support couvre les six mois entre deux versions, et trois mois supplémentaires pour laisser le temps aux « retardataires ».

Un support qui, dans les grandes lignes, ressemble à celui de Chrome ou Firefox, et qui ne vaut donc surtout que pour la version en cours. Comment intégrer dès lors des bibliothèques qui ne bénéficieront plus d’aucun support puisque Canonical cesse tout développement sur les paquets 32 bits ? C’est justement le choix de l’éditeur : intégrer les bibliothèques d’Ubuntu 18.04, la dernière LTS disponible, dont tous les paquets sont de fait supportés pour cinq ans.

Traduction : les paquets fournis dans la 19.10 seront ceux fournis un an et demi auparavant, supprimant au passage les diverses améliorations qui avaient été implémentées. On pense notamment à Mesa, cité par Steve Langasek de chez Canonical. En outre, il faudrait que les applications cherchant à les exploiter soient lancées depuis des snaps.

Entre scepticisme et compromis

Cette approche rend une partie des développeurs de Wine dubitatifs. Henri Verbeet notamment envisage la même décision que Valve : « Je pense que ne pas construire de paquets pour Ubuntu 19.10 est la seule option réaliste. Ce serait probablement une bonne idée de placer une petite explication sur la page de téléchargement ». Et d’expliquer que Wine pourrait fonctionner sur Ubuntu 19.10, mais « nous devrions construire et fournir toutes nos dépendances nous-mêmes ».

Il faut savoir également que la plupart des paquets 32 bits ne seront pas installés par défaut, mais disponibles dans le dépôt LTS correspondant actuellement à Ubuntu 18.04. C’est le cas de Mesa, avec une petite exception quand même, Langasek pointant des améliorations apportées sur le support du matériel dans cette même branche LTS.

Mais pour l’émulateur PlayStation PCSX2, le mouvement signifie bien le retour à la branche 1.4, plutôt que l’actuelle version 1.5. La situation est d’autant plus complexe qu’une application graphique a non seulement besoin de Mesa, mais aussi d’un pilote en 32 bits. Il y a fort à parier que les constructeurs se débarrasseront avec plaisir de l’ancien code pour ne plus se limiter qu’au 64 bits, avec la simplification que l’on imagine.

Dans le cas d’un snap 32 bits, Langasek imagine l’inclusion par exemple des pilotes NVIDIA libres 32 bits dans le paquet amd64, qui serait alors exposé aux conteneurs les réclamant. En clair, c’est tout le 32 bits qui se retrouvera dans quelques mois affublé de l’étiquette « legacy », avec un support technique limité à la seule sécurité.

Au-delà des applications courantes, la décision ne sera pas sans poser problème avec certains pilotes, particulièrement pour des périphériques un peu anciens. Canonical a repéré notamment des soucis avec les imprimantes Brother.

Un rétropédalage reste possible

Canonical ne pouvait qu’espérer une coupure nette et franche, mais ce type de mouvement se fait rarement de manière « propre » en informatique. En l’occurrence, la décision a beaucoup plus d’impact que le petit 1 % de machines 32 bits.

Au point qu’actuellement, il reste possible que l’éditeur soit contraint de revenir sur sa décision et la décaler. Canonical a voulu être proactif, mais subit une levée imprévue de boucliers des développeurs. Steam et Wine sont deux produits emblématiques : Ubuntu a beau être la distribution la plus utilisée, elle a besoin d’applications pour garder son intérêt.

L’utilisateur « moyen » ne sera peut-être pas touché, mais le risque de rencontrer une incompatibilité est loin d'être négligeable. Si la polémique enfle, Canonical pourrait faire face à un retour de bâton. La version 19.04 finira en effet par se mettre automatiquement à jour vers la 19.10, et les utilisateurs pourraient voir d’un très mauvais œil la moindre cassure dans une compatibilité, que ce soit dans un jeu, un émulateur ou une imprimante.

Si l’éditeur décide de poursuivre, il devra copieusement communiquer. Le point même sur lequel il est attaqué actuellement par les développeurs.

Mise à jour : Ubuntu ne revient qu'en partie sur sa décision

Ubuntu a fait un demi-tour partiel. Comme nous l’évoquions hier, il s’agit bien d’une conséquence aux boucliers levés par les développeurs.

Canonical fournira une « sélection de bibliothèques 32 bits » qui ne seront dès lors plus limitées à leur mouture datant de la dernière LTS (Ubuntu 18.04). L’éditeur ajoute qu’un « processus communautaire » sera mis en place « pour déterminer quels paquets sont nécessaires au support d’anciens logiciels ». Cette décision s'applique pour l'instant aux prochaines versions 19.10 et 20.04.

L’éditeur annonce également un rapprochement avec certains développeurs, dont ceux de Wine. Mais la solution abordée est bien celle décrite hier dans l’article d’origine : l’utilisation des conteneurs logiciels. Selon Canonical, les Snaps et LXD sont une solution à long terme pour le support des vieux programmes 32 bits, jeux compris.

Il ne reste qu’environ quatre mois cependant pour réaliser l’ensemble des travaux.

Dernière mise à jour le 25/06/2019 11:03:28

chargement
Chargement des commentaires...