Lubuntu and the Flutter-based Subiquity Installer - Personal concerns and thoughts

Note: All thoughts and opinions expressed here are my own - this is not an official statement or inquiry on behalf of the Lubuntu Development team. If I have any historical details wrong, please point them out so I can correct them.

Earlier today, there was some discussion of the new Flutter-based installer for Ubuntu, and whether Lubuntu would be interested in using it or not. While the Lubuntu Development team is interested in it, I have a few concerns relating to how it fits in Lubuntu.

Many Ubuntu flavors have been using the Ubiquity installer up until now. Ubiquity is nice, but as I understand it, due to some limitations in it, Lubuntu chose to switch to the Calamares installer, which is a lightweight, Qt-based installation system that (I believe) is developed by KDE. It offers a number of significant advantages over Ubiquity, and has been in use since Lubuntu 18.10.

While the new Flutter-based installer is a fantastic substitute for Ubiquity, it is not at feature parity with Calamares, and has some behaviors that give at least me some cause for concern. In particular, there are four points I would like to discuss:

  1. Lubuntu is very lightweight compared to Ubuntu Desktop. The Calamares installer requires very little resources, making it a great fit for Lubuntu. The Ubuntu Desktop Installer, on the other hand, at least feels bulkier (notably, it appears to make use of accelerated graphics with its installation progress indicator, and it sometimes takes a significant amount of time to load certain parts of itself). How would the use of the new installer affect Lubuntu’s current (and very low) system requirements? Subiquity is usable in Ubuntu Server, so I assume that the Subiquity backend is lightweight, but I’m not sure about the user interface.
  2. The Flutter-based installer appears to have a placeholder for a progress bar when the final system installation is underway. However, this bar doesn’t indicate progress, it just displays an animation until the installation is complete. Calamares has a working progress bar and more detailed progress indicators during installation that help the user know how things are progressing and if they are stalled or not. Ubiquity has a similar feature. While not necessarily a blocker in my opinion, this is a significant lack of functionality that I would personally like to see addressed at some point.
  3. The Ubuntu Desktop Installer has a manual partitioning screen, but it lacks at least one critical feature that Calamares supports, namely the ability to create LUKS-encrypted partitions in a manual partitioning setup. The current Ubuntu Desktop Installer has no such feature in the manual partitioning screen - if you use manual partitioning, the installation is unencrypted, period. Calamares is capable of making encrypted partitions containing any of a number of different filesystems (I believe). This is a significant feature that we would lose with the Ubuntu Desktop Installer. There is a bug report about this issue here: https://github.com/canonical/ubuntu-desktop-installer/issues/1353
  4. Lubuntu is Qt-based. The Flutter installer is GNOME-based. This will probably make it look sorely out of place in Lubuntu. The installer is one of the first things (if not the very first thing) that the user notices when using a Lubuntu ISO for the first time, and having a GNOME-like UI in the installer may give a user a false impression of what the rest of the OS will be like. Ideally, there would be a Qt-based frontend for Subiquity similar to how there is a Qt-based frontend for Ubiquity in Kubuntu. Perhaps Flutter has the ability to render a UI in Qt? I’ve not looked into this yet.

Does anyone else have thoughts, opinions, or ideas about this? In particular, are there thought on how these problems could possibly be solved so as to make the installer fit better in Lubuntu?

Thanks for your time and consideration.

3 Likes