Giocoso 3 - Installation Quirks

All Distros

Giocoso 3 has been designed to look best when using the Libre Baskerville and Century Schoolbook Monospace 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 found on every operating system).

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 Century Schoolbook Monospace, then fine. You'll see this sort of display:

...rather than the intended:

...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/ is *not* deleted by the installation of Giocoversso Version 3. Instead, a new executable (called /usr/bin/ is created, but the original remains untouched.

The softlink between giocoso-> is, however, re-written so that giocoso-> 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 ''. At a time of your choosing, you can simply rm -f /usr/bin/ to delete Version 2, once you're happy that Giocoso 3 meets your classical music playing requirements.



As with all other distros, Giocoso will (probably) prompt you to install additional software packages before it will run successfully. On my vanilla Fedora 38 installation, for example, it said a command such as this was required:

sudo dnf install sqlite fd-find libsixel xdotool flac ffmpeg xclip xterm dialog

Whilst this certainly gets the 'gist' of what's required to get Giocoso working, it's missing a couple of crucial details!

For starters: ffmpeg is not available in the standard repositories, so running the command as given will generate an error that no package called 'ffmpeg' can be found. The fix for that is to ensure that you have enabled the RPMFusion software repository -and to do that, you need to issue the following commands:

sudo dnf -y install$(rpm -E %fedora).noarch.rpm
sudo dnf -y install$(rpm -E %fedora).noarch.rpm
sudo dnf update

Once that repository is enabled, the installation of ffmpeg will succeed without further drama.

The initial Giocoso instruction to install "libsixel" will still not work, however, because the relevant program is not included in either the standard or the RPMFusion repositories. So, a further command is required to enable a repository in which the software can be found:

sudo dnf copr enable lchh/libsixel
sudo dnf update

Only once this new repository is switched on will the original Giocoso 'suggested command' work as intended.

Note, too, that on one of my Fedora systems, I was told that installing ffmpeg from the RPMFusion repository would cause assorted libraries to conflict with existing software: the extra software installation command Giocoso provides will therefore fail unless you append --allowerasing to it. The command that works therefore ends up looking like:

sudo dnf install sqlite fd-find libsixel xdotool flac ffmpeg xclip xterm dialog --allowerasing



When Giocoso is first launched on a fully-updated Pop!OS, the program will prompt the user to install needed extra software packages, with a message similar to:

sudo apt install sqlite3 imagemagick libsixel-bin flac ffmpeg xclip xterm dialog

This installation command works as-is and should give no trouble.



Identifies itself as Ubuntu, and installs accordingly without fuss. Lite's terminal does not support displaying graphics within itself, so you'll either have to enable POPOUT_ART in the configuration file, or launch xterm and run Giocoso in that (since xterm does support displaying graphics) if you want to see album art when music plays.



The Giocoso instructions to install additional software run without drama.

Again, the default terminal doesn't support displaying graphics. Neither does the xterm, actually (might need to fix this).


Garuda Linux

The Giocoso instructions to install additional software run without drama.

The default terminal knows how to display graphics without issue, so no problems there. Lack of Baskerville by default is the only slight complication.



Somewhat bizarrely, Solus does not have xterm in its repositories, so although Giocoso will prompt for its installation, you won't be able to meet its requirements.

The built-in terminal application doesn't support displaying graphics within the terminal, either, so POPOUT_ART needs to be set to 'yes'.

To fool Giocoso into thinking that xterm has been installed, you can do:

sudo ln -s /usr/bin/x-terminal-emulator /usr/bin/xterm

To install the Libre-Baskerville font, you will first need to install font-manager: sudo eopkg install font-manager.

Doesn't look like it's actually playing anything at the moment. Looks broken...


Gecko Linux

Installation of program prerequisites goes smoothly.

Not working, as it seems to think we are always playing something before launching the program. This seems to be because the 'earlyoom' program contains 'ffmpeg' as a string in one of its arguments. Adjusting the string Giocoso greps for seems to fix.

Gecko also has a weird dependency between ffprobe and libjack. sudo zypper in libjack0 fixes this.

Installing Libre Baskerville requires a font manager: sudo zypper in font-manager

The default terminal doesn't display in-line graphics. Xterm will display it correctly if launched with the command:

/usr/bin/xterm -xrm 'XTerm*selectToClipboard: true' -b 16 -bg black -fg green -geometry 103x28 -fa 'Century Schoolbook Monospace' -fs 12 +dc -ti 340 -tn xterm-256color -e giocoso




All software prerequisites install without drama, following the command Giocoso shows.

Sudo apt install font-manager helps get the Libre Baskerville and Century Schoolbook fonts installed correctly.

The default terminal completely scrambles in-line display of graphics. Again, launching Giocoso in a suitably-configured Xterm window will fix this:

/usr/bin/xterm -xrm 'XTerm*selectToClipboard: true' -b 16 -bg black -fg green -geometry 103x28 -fa 'Century Schoolbook Monospace' -fs 12 +dc -ti 340 -tn xterm-256color -e giocoso

Not sure how you create a launcher for that though.


sudo nano /usr/share/applications/giocoso.desktop

[Desktop Entry] Name=Giocoso3
Comment=Randomising Classical Music Player
Exec=/usr/bin/xterm -xrm 'XTerm*selectToClipboard: true' -b 16 -bg black -fg green -geometry 103x28 -fa 'Century Schoolbook Monospace' -fs 12 +dc -ti 340 -tn xterm-256color -e giocoso

Then open Start -> Applications -> antiX -> Personal Menu Editor, then Add Icon, select Giocoso3 from the list of possible applications, add selected app's icon. After that, simply Start -> Personal -> Giocoso3



User is not in the sudoers file by default: that needs fixing before anything else (su - root, then export EDITOR=nano, then visudo).








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.