Faut-il continuer à utiliser Ubuntu ?

La question peut paraître saugrenue, surtout quand on pense qu’Ubuntu a été pendant des années un système plébiscité par beaucoup. Et pourtant, les dernières versions LTS (“Long Term Support” : support à long terme) ont sérieusement érodé la confiance que certains plaçaient dans ce système :

  1. les soucis d’Ubuntu 16.04 ;
  2. Ubuntu 18.04, pas vraiment (vraiment pas ?) un sauveur ;
  3. Ubuntu 20.04, toujours pas mieux ?

Les soucis d’Ubuntu 16.04

Dans la distribution 16.04 d’Ubuntu (mais aussi de ses variantes KUbuntu, LUbuntu, XUbuntu, EdUbuntu, …), de nombreux logiciels ont posé des problèmes :

  • certains ont eu des comportements inadéquats dans certaines situations, comme la page d’accueil (LightDM) en présence d’écrans multiples (passage de l’écran intégré d’un portable à un écran externe ou à un vidéo-projecteur :  affichage parfois irrécupérable, l’ordinateur devant être relancé) ;
  • d’autres plantaient carrément, comme par exemple Gimp lorsqu’on utilisait l’outil de transformation par cage.

Cinq années plus tard, certains de ces problèmes (dont les deux cités plus haut) n’ont toujours pas été résolus, alors même qu’il existait des solutions (pour Gimp, lier le code à une version antérieure d’une bibliothèque, comme initialement prévu par les développeurs). Cette distribution a donc toujours été assez désagréable à utiliser, au point où certains sites ont préféré continuer (très longtemps) à utiliser la version LTS antérieure (Ubuntu 14.04).

Ubuntu 18.04, pas vraiment (vraiment pas ?) un sauveur

La sortie de la version LTS suivante, Ubuntu 18.04, a du coup été perçue comme une très bonne nouvelle. Pas pour très longtemps, malheureusement. En effet, en voulant à tout pris paraître plus à jour, la version 18.04 d’Ubuntu a choisi de proposer des versions plus récentes de certains environnements de développement comme Qt ou ROS, et uniquement ces versions.

Ainsi, alors qu’il est possible d’utiliser Qt4 ou Qt5 dans Ubuntu 16.04, Ubuntu 18.04 n’a longtemps proposé que Qt5. Or, le passage de Qt4 à Qt5 n’est pas anodin, la compatibilité ascendante n’ayant pas été assurée :  certaines classes, servant à mettre en œuvre des comportements, ont disparu au profit d’autres mises en œuvre (par exemple, la classe QSignalMapper servant à lier un identifiant entier ou chaîne de caractères à un bouton et permettant de connecter plusieurs boutons à une seule méthode). Pour un enseignant-chercheur utilisant Qt4 pour ses cours et sa recherche, le passage de Ubuntu 16.04 à Ubuntu 18.04 était donc compliqué, si son code ne pouvait pas tourner sous Qt5 : trouver du temps pour mettre à jour son code est rarement facile.

Pour ROS, le problème était encore pire : seule la toute nouvelle version Melodic était disponible pour Ubuntu 18.04. Or, de nombreux paquets de ROS n’étaient disponibles que pour la version précédente Kinetic. Passer à Ubuntu 18.04 supposait donc d’assurer le portage de Kinetic à Melodic de tous les paquets de ROS requis par mes programmes. Autrement dit, une tâche encore plus irréalisable (car beaucoup plus coûteuse en temps) que celle concernant Qt. Heureusement, ces paquets ont été portés par d’autres personnes… Au bout d’un ou deux ans !

En conséquence, j’ai du attendre plusieurs années avant de pouvoir migrer d’Ubuntu 16.04 à 18.04, malgré les nombreux soucis du premier système…

Ubuntu 20.04, toujours pas mieux ?

Quant à Ubuntu 20.04, il semble continuer sur la même lancée : pas de version Melodic de ROS mais la suivante (encore très incomplète, évidemment), et des logiciels ne fonctionnant pas correctement (par exemple, hplip permet bien d’imprimer avec les imprimantes HP, mais pas de scanner avec certaines)… Et je n’ai que très peu essayé cette distribution, du fait du premier point !

En conclusion, j’envisage très sérieusement de renoncer à la distribution Ubuntu, bien qu’elle soit largement utilisée dans mon université et mon laboratoire de recherche, à moins que leur politique ne change radicalement. Je me tournerais sans doute vers Debian, qui propose une version stable très sûre (sans tous ces problèmes) et qui reste très proche d’utilisation d’Ubuntu. Qui vivra verra !..

Installing a Canon Printer on XUbuntu 18.04

Now that I have Aseba Studio working, I tried to get connected to my Canon Wi-Fi printer, and it is once again quite difficult. Is there something rotten in Ubuntu’s world?

Let us start by the beginning, and describe my printer’s configuration: it is a Canon Pixma MG4250, connected by Wi-Fi to my Freebox Revolution. It is detected by system-config-printer, which by default chose automatically the corresponding driver, by failled at last step to define the new printer and returned cups-error-internal-error. My first reaction was of course to check the Web for others having a similar problem, and the way they solved it if any did, but I did not find anything relevant.

I then tried something else: instead of choosing the automatically detected printer, I gave the URI found on XUbuntu 16.04, which is cnijnet:/ followed by (what I think to be) the MAC address of the printer. I then had to choose a driver (where system-config-printer automatically did it in previous method), but adding the printer still failled at last step, this time with cups-error-not-possible.

At last, I applied the method which worked on XUbuntu 16.04, which is to use Canon driver. I chose the Debian archive from their page, and tried to install it. However, it needed three packages (libpango1.0, libpng12 and libtiff14) while only the first is still available on 18.04 (the two others are obsolete). A web search indicated that older packages can be used, I thus got those of the previous LTS (xenius) on the Ubuntu archive site (but the last one, libtiff14, needs a direct access to tiff directory of the French archive site, as the library is not referenced, only its dev part). Once those package are saved and installed (with a sudo dpkg -i ...), Canon’s installation script works fine, and adds the printer. Everything now works fine.

As I found abnormal the two errors sent by system-config-printer, I filled a bug report on launchpad.

Missing Aseba Studio on Ubuntu 18.04

I am using Aseba Studio as development tool for the Thymios (personal French page | official English one) in several courses at master level.  I longed for Ubuntu 18.04 to come out, in order to replace this (%§$*!) buggy Ubuntu 16.04, but the aseba package provided in Ubuntu 18.04 has also a bug (cf Launchpad): several executables are missing, including those I need (Aseba Studio).

As some of my future students may also need it, I decided to solve this bug by compiling the whole package from the sources available on github. It was not easy as the contained file indicating how to compile forgot several needed package, and github provided a master archive with some empty directories. I reported the problem, found out how to compile, and sum up everything in an archive (19.4 Mo, TarBzip file) containing the 3 github archives (1.6.9 master + dashel + enki), a building script and a read-me, which makes the compilation quite straightforward. Feel free to use and give your feedback.

Edit: Thymio seems now (in September 2019) to provide a valid package (with 1.6.1 version) for Ubuntu 18.04 on its page. I still wait for my students to verify whether this package does work.

Installer XUbuntu 18.04 sur un HP 14-cf0013nf

(I translated the previous article, as most of the pages on wich I added a reference to it were in French.)
Cette page est référencée par la liste des portable HP testés sous Ubuntu, et sur la liste des cartes Wi-Fi fonctionnant sous Ubuntu et celle des matériels bluetooth pris en charge

L’installation de ce portable comporte deux points techniques : la gestion de la carte carte combo wifi/bluetooth Realtek RTL8723DE, et la configuration de VMware pour utiliser le système Windows installé en dual-boot.

Activer le Wi-Fi et le bluetooth

Le portable HP 14-cf0013nf contient une carte mère Intel® Core™ i3-7020U avec une carte graphique HD Graphics 620. Les deux sont parfaitement reconnues par XUbuntu 18.04. Ce n’est cependant pas le cas pour la carte combo wifi/bluetooth Realtek RTL8723DE : elle a besoin de quelques manipulations pour fonctionner correctement !

J’ai trouvé deux solutions pour faire fonctionner le Wi-Fi (Network Manager ne montre à l’origine aucun réseau Wi-Fi, car le module du noyau ne gère pas correctement la carte RTL8723DE) :

  1. La solution la plus souvent recommandée (y compris par HP – en anglais) est d’utiliser la branche extended du dépôt GitHub rtlwifi_new de Larry Finger. Vous pouvez soit récupérer l’archive sur la page, soit utiliser git ou svn pour télécharger le code.
    Vous pouvez alors soit compiler et installer ce code (make; sudo make install), soit utiliser dkms pour le faire (sudo dkms add ./rtlwifi_new; sudo dkms install rtlwifi-new/0.6). La seconde solution est préférable, car le module devrait être automatiquement recompilé pour tout nouveau noyau (si j’ai bien compris). Vous aurez besoin d’installer le paquet build-essential, ainsi que dkms (en anglais) pour la seconde solution.
    Vous pouvez alors utiliser ce module avec sudo modprobe -v rtl8723de ant_sel=1, le dernier argument indiquant quelle antenne vous voulez utiliser (1 ou 2,testez les deux pour trouver celle qui fonctionne le mieux). Attention : cette solution n’est pas efficace pour mon portable, le signal Wi-Fi étant plus faible (entre 50 et 60 %) que sous Windows avec le même portable, ou sous Xubuntu avec d’autres.
  2. En cherchant un moyen d’avoir un meilleur signal, j’ai trouvé dans un des problèmes (en anglais) du dépôt de Larry Finger une référence à un module de smlinux, qui est plus récent.
    J’ai commencé par enlever l’autre module: sudo service NetworkManager stop; sudo rmmod -f rtl8723_common rtl8723de; sudo dkms uninstall rtlwifi-new/0.6; sudo dkms remove rtlwifi-new/0.6 --all; sudo service NetworkManager start.
    Comme ci-dessus, vous pouvez récupérer l’archive or télécharger le code, puis compiler et installer ce code (make; sudo make install) or utiliser dkms (sudo dkms add ./rtl8723de; sudo dkms install rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414). Une fois le module lancé (toujours avec sudo modprobe -v rtl8723de ant_sel=#), le signal Wi-Fi est bien meilleur (similaire à Windows ou à un autre portable)!

Pour les deux solutions, le Secure Boot doit être désactivé, ou le module n’est pas démarré (et vous n’avez de nouveau aucune connexion Wi-Fi dans Network Manager). Cela peut (c’était mon cas) changer l’ordre des Boot Loaders, mettant en premier celui de MS (qui démarre Windows) au lieu du grub (qui donne le choix). Il faut alors remettre le bon ordre dans les réglages du Bios.

Il est dommage qu’aucun de ces deux modules ne soit proposé d’une manière plus simple, comme le module de Dmitry Tunin (pointé dans la liste des portable HP testés sous Ubuntu) qui est disponible sous la forme d’un paquet : sudo add-apt-repository ppa:hanipouspilot/rtlwifi; sudo apt-get update; sudo apt-get install rtlwifi-new-dkms; echo "options rtl8723be fwlps=1 ips=0 ant_sel=2" | sudo tee /etc/modprobe.d/rtl8723be.conf. C’est plus simple à installer, mais ce module ne concerne pas la carte RTL8723DE, mais la RTL8723BE et d’autres.

Faire fonctionner le bluetooth a été plus simple, grace à Dmitry Tunin ! Encore une fois, le module par défaut n’était pas le bon : blueman ne disposait d’aucun adaptateur. Une discussion effrayante (en anglais) se termine heureusement par une réponse rassurante : il suffit de quelques commandes (sudo add-apt-repository ppa:hanipouspilot/bluetooth; sudo apt update; sudo apt install btrtl-rtl8723de-dkms) pour faire fonctionner le bluetooth !

Configurer VMware pour utiliser le système du disque

Bientôt !

Installing XUbuntu 18.04 on a HP 14-cf0013nf

(Comme beaucoup de références à cet article sont sur des pages françaises, je l’ai traduit.)

The installation of this laptop has two technical points: finding modules to handle correctly the combo wifi/bluetooth card, and setting VMware to use the Windows system of the disk.

Getting Wi-Fi and Bluetooth

The HP 14-cf0013nf contains an Intel® Core™ i3-7020U motherboard with a HD Graphics 620 graphic card. Both are perfectly handled by XUbuntu 18.04. This is however not the case for the Realtek RTL8723DE wifi/bluetooth card: it needs a few manipulations to get it to work well!

I found two solutions to get the Wi-Fi working (the Network Manager originally did not show any Wi-Fi, as the kernel module did not handle correctly the RTL8723DE card) :

  1. The solution the more widely recommended (including by HP) is to use the extended branch of Larry Finger’s rtlwifi_new GitHub repository. You can either get the archive on the page, or use git or svn to download the code.
    You can either make and install this code (make; sudo make install), or use dkms to do it (sudo dkms add ./rtlwifi_new; sudo dkms install rtlwifi-new/0.6). The second solution is better, as the module should be automatically recompile for every new kernel (if I understood well). You will need to install build-essential package, as well as dkms for the second solution.
    You can then use the module with sudo modprobe -v rtl8723de ant_sel=1, last argument setting which antenna you want to use (either 1 or 2, check which one is the better). Beware: this solution is not efficient for my laptop, as the Wi-Fi signal is much weaker (between 50 and 60 %) than under Windows on the same laptop, or under Xubuntu on other laptops.
  2. Looking for a way to have a better signal, I found in one of the issues of Larry Finger’s repository a reference to smlinux’s module, which is newer.
    I first had to remove the other module: sudo service NetworkManager stop; sudo rmmod -f rtl8723_common rtl8723de; sudo dkms uninstall rtlwifi-new/0.6; sudo dkms remove rtlwifi-new/0.6 --all; sudo service NetworkManager start.
    Once again, you can get the archive or download the code, and make and install it (make; sudo make install) or use dkms (sudo dkms add ./rtl8723de; sudo dkms install rtl8723de/5.1.1.8_21285.20171026_COEX20170111-1414). Starting this module (still with sudo modprobe -v rtl8723de ant_sel=#), the Wi-Fi signal is much better (similar to Windows or other laptops)!

For both solution, secure boot has to be disabled, or the module is not activated (and you get once again no Wi-Fi connection in the Network Manager). This may (it did for me) change the boot order, giving priority to MS boot loader (which starts Windows) instead of grub (which gives you the choice). You then need to restore the correct order in the Bios settings.

It is too bad none of these modules were proposed in a simpler way, as Dmitry Tunin’s module (indicated in the French list of Ubuntu checks on HP laptops) which is available as a package: sudo add-apt-repository ppa:hanipouspilot/rtlwifi; sudo apt-get update; sudo apt-get install rtlwifi-new-dkms; echo "options rtl8723be fwlps=1 ips=0 ant_sel=2" | sudo tee /etc/modprobe.d/rtl8723be.conf. This is an easier solution, but the module does not handle RTL8723DE, but instead RTL8723BE and others.

Getting the bluetooth was easier, thanks to Dmitry Tunin! Once again, the default module was not the good one: blueman did not have any adaptor. I found out a frightening discussion, but last post saved me: only a few commands are needed (sudo add-apt-repository ppa:hanipouspilot/bluetooth; sudo apt update; sudo apt install btrtl-rtl8723de-dkms) to solve all!

Setting VMware to use the disk system

Soon!