Some Notes on Distro-Testing
The general approach to testing Giocoso is to try to run it on as many of the top 20+ distros as are listed on Distrowatch at the time of initial release. Some distros are not suitable candidates because they're immutable, or Enterprise, or intended for security penetration testing etc.; some are not suitable because they are just downright weird (Solus, I'm looking at you). Other distros may be out of the top 20, but are interesting to me anyway... and thus make the cut after all (for example, Tuxedo which is my new distro of choice on my own PC).
No matter what specific distros get tested, however, they generally fall into six 'families' of distro. You may be running Linux Mint, for example: but that's based on Ubuntu, so it belongs to the 'Ubuntu family'. Likewise, Devuan is really a member of the 'Debian family'; and Manjaro is a member of the 'Arch family'. The various families and their specific members, on which Giocoso Version 3 has been tested (and which should therefore work mostly without incident) are as follows:
|Arch Family||Debian Family||Ubuntu Family||Fedora Family||Suse Family||Arm Family|
|Arch||Debian||Ubuntu||Fedora||Leap 15.5||Raspberry PiOS|
|EndeavourOS||Linux Mint Debian Edition||Pop! OS||Ultramarine||GeckoLinux Rolling||Ubuntu|
|Garuda Linux||Peppermint OS||Linux Lite|
|Bluestar Linux||MX Linux||Zorin OS|
|AntiX Linux||Elementary OS|
Up-front, I'll tell you that the Fedora family are quite troublesome, the Arch one has problems displaying things correctly, whilst the OpenSuse one has its peculiar moments... but they can all be relied on to run Giocoso properly (mostly!) in the end. The Debian and Ubuntu families are the most well-behaved though 🙂
For the avoidance of doubt: all of the distros in the above table have been tested to install and run Giocoso correctly, by booting an old laptop with live distro ISOs (if available). The principal members of each 'family' have been tested again by actual installation onto virtual machines. The use of virtual machine installations was also necessary for the handful of distros that don't provide live ISOs (such as OpenSuse Tumbleweed). Finally, the principal members of each family were tested a third time by an install onto a physical PC.
I've sought also to ensure that, between these various 'parent distros', I've tested an installation on Gnome, XFCE, KDE, LXQt and MATE, Budgie, Pantheon and a number of other ones. No one desktop environment works better or worse than others: Giocoso doesn't, fundamentally, care. There are some distros (Gecko, for example) where I am aware certain screens display incorrectly in one desktop environment but perfectly fine in another. There may be other examples I am unaware of: I cannot realistically test all possible combinations of 20+ distros and 8 or more desktops!) Let me know if you run into problems I don't describe: I can at least look into them for you.
In all cases, the distros were installed 'clean', then fully patched, updated and rebooted. The nfs-common (or nfs-utils or equivalent) package was installed, so that I could access my music collection over the network, and a permanent NFS mount added in /etc/fstab. Other than the installation of NFS client capability, the environments were all 'clean' and default, though if the option to install 3rd party drivers or packages was made available by the installer, that was selected for, too. It is thus entirely possible that the Giocoso installation process goes horribly wrong on a Linux distro that's been well-loved and used over a period of months or years: I am obviously unable to test such bespoke edge cases!
My virtualisation platform of choice these days is Proxmox: I don't add any 'guest additions' or other drivers to get things working better than by default. Some distros may complain about lack of graphics drivers as a consequence: I simply let them do so. It doesn't seem to affect the outcome for Giocoso any.
Giocoso 3 has been designed to look best when using the Libre Baskerville and Space Mono fonts. Neither of those fonts are installed by default in any Linux distro, but they are supplied as part of the Giocoso 3 installation process, which will also make an attempt to install them into the installing user's personal .fonts folder. If you cannot see these fonts, or your Giocoso display looks significantly different to the screenshots provided in this documentation, you should try to install these fonts yourself, using your distro's standard font installation tools. The source font files are found in $HOME/.local/share/giocoso3/art.
Note that you don't have to use these fonts if you'd prefer not to -but the program display may look weird and behave oddly if you don't. If, for example, you prefer not to use Libre Baskerville, the program will instead attempt to use Liberation Serif as the caption font (which displays the name of the work being played underneath its album art). If that's not installed on your system, your caption font will revert to vanilla Courier (there's usually an equivalent for that found on every operating system, so it's the backstop of all defaults).
Similarly, Giocoso 3 runs in a terminal and will use whatever font you've configured to use as your standard font. If that's not Space Mono, then fine. You'll probably see this sort of display:
...but the underlying functionality will still be there, no matter how it looks.
A Note on Upgrading from Version 2
The Giocoso3 installation script first backs up your installation of Giocoso2 into a folder called $HOME/.local/share/giocoso-backup. It then installs itself into $HOME/.local/share/giocoso3. It finally copies all files with a '.db' extension from the giocoso-backup folder to the new giocoso3/db folder. In this way, you should be able to use Giocoso3 to open and play from a prior-version database without incident. The original database remains available in the backup folder, should you want to rollback to the prior version.
Note too that the Giocoso Version 2 executable (/usr/bin/giocoso.sh) is *not* deleted by the installation of Giocoso Version 3. Instead, a new executable (called /usr/bin/giocoso3.sh) is created, but the original remains untouched.
The softlink between giocoso->giocoso.sh is, however, re-written so that giocoso->giocoso3.sh. This means that you can run Giocoso Version 3 simply by typing 'giocoso' at the command line. It also means that you can revert to running Version 2 by typing the command 'giocoso.sh'. At a time of your choosing, you can simply rm -f /usr/bin/giocoso.sh to delete Version 2, once you're happy that Giocoso 3 meets your classical music playing requirements.
Tuxedo is a German company that makes computers and laptops. They also produce their own variant of Ubuntu to run on those pieces of hardware (that I'd love to own, but cannot afford!): Tuxedo OS. It is an Ubuntu-derivative, but it's a carefully crafted one that (very importantly, in my view) eliminates Ubuntu's own use of snaps to encapsulate packages. Snaps are slow, so not insisting on them as the Ubuntu devs do is a huge bonus. They also use the KDE desktop out-of-the-box, which is another key differentiator from parent-Ubuntu, which uses (these days, at least) Gnome. I cannot stand Gnome as a desktop, so Tuxedo's use of KDE suits me very well.
Anyway: Giocoso installs and then functions perfectly fine (as it mostly does on any Debian- or Ubuntu-based distro), with nothing special to note about it:
Common problems observed:
When creating a database or refreshing, the extension gets confused/confusing. You end up creating a music.db.db database, for example. Might need to tweak the dialog settings for this.