I confess to cheating! Giocoso Version 3 doesn't really run on Windows: it runs as a Linux program that happens to be able to run seamlessly on top of Windows, provided you first install the Windows Subsystem for Linux Version 2 (WSL2).
I've written a separate document explaining how you go about installing WSL2 on both Windows 10 and 11, so I won't repeat myself here. These days, it's a simple one-line command, quite a lot of downloading things from the Internet, and off you go: both graphical and audio Linux programs then appear and sound on the Windows desktop without further effort (or software, as used to be required). It's extremely clever and not terribly difficult to get working!
For the purposes of thorough testing Giocoso 3 on Windows, I installed three Linux distros 'inside' Windows 10 and 11: Ubuntu (the one you get by default); Debian (which you can get from the Windows Store); and Manjaro (which you have to download yourself and install manually, but it's not hard to do). For the most part, all three distros behave pretty much the same as their 'proper Linux' cousins -including Manjaro's inability to display album art very well, out-of-the-box. I also did a couple of other 'quick run-throughs', rather than full-on, careful testing, of Fedora- and Devuan-on-Windows, with good results on the whole.
Ubuntu-on-Windows behaves practically identically to 'real' Ubuntu. You therefore wget doco.absolutelybaching.com/gioinst to obtain the Giocoso installer and launch it with the bash gioinst command, entirely normally. The software dependencies are installed without issue, and Giocoso itself is installed correctly.
The only real issue arises from the fact that Ubuntu-on-Windows has no visible desktop or its own main menu to see the Giocoso program launcher in. There is thus no obvious way to actually launch Giocoso after installation! You could just type the command giocoso (all in lower-case), and that will work -but the program will display with incorrect fonts and the screen geometry will all be wrong. Instead, therefore, you should issue these commands:
This will trigger the display of the commands that would be used to launch Giocoso 3 on 'Ubuntu proper':
From that, you can see that the command to launch Giocoso in the style intended is something like:
/usr/bin/xterm -xrm 'xterm*iconHint: /home/xxxx/.local/share/giocoso3/art/giocosoico.xpm'-bg black -fg green -geometry 103x28 -fa 'Space Mono:style=Regular' -fs 12 -ti 340 -tn xterm-256color -e giocoso3.sh
(The 'xxxx' bit there will be your actual username: replace as appropriate in what follows!) You could simply type or copy/paste that command into the terminal now to get started, or create an alias to make it easy to launch in future. To add a new alias, just issue the commands:
Anywhere in the file, add the line:
alias giocoso3="/usr/bin/xterm -xrm 'xterm*iconHint: /home/xxxx/.local/share/giocoso3/art/giocosoico.xpm'-bg black -fg green -geometry 103x28 -fa 'Space Mono:style=Regular' -fs 12 -ti 340 -tn xterm-256color -e giocoso3.sh"
Save the modified file, then issue the command:
(That's dot, space, dot, forward slash, dot; then the name of the bashrc file). This picks up the new settings, after which you can simply type giocoso3 to launch Giocoso. One possible quirk that then follows is when you are creating a music database: if, like me, you store your music files on a network drive, how do you tell Ubuntu-on-Windows to find them? The simple rule is that files which Windows knows are to be found on a C: drive (or an M: drive or whatever) will be found 'inside' the Ubuntu environment in /mnt. For my testing, therefore, I had copied some music to my Windows Music folder: Ubuntu will discover that within the /mnt/c/Users/hjr/Music folder:
That minor 'environmental' quirk dealt with, however, Giocoso goes on to work on Ubuntu-on-Windows perfectly:
As you can see, even album art is displayed in-terminal correctly. That happens to be Ubuntu 22.04 running on Windows 11, but it works equivalently for any Ubuntu version from 22.04 upwards on either Windows 10 or 11.
Debian is available for installation into WSL2 by visiting the Windows Store (though searching for 'debian' didn't find it! I ended up searching for 'linux', and Debian was one of the first results offered. Go figure!). Since the store handles operating system installation, there are no dramas or issues, beyond being prompted for a "UNIX username" and password at one point (which doesn't have to match your Windows username or password at all, but I tend to make it do so).
After that, it's time to download the Giocoso installer... and here's where things differ slightly from what would happen in 'regular' Debian. Regular Debian neither includes the wget program needed to download the Giocoso installer, nor makes the non-root user able to issue sudo commands, so you end up having to become root, install wget, stop being root, then download the Giocoso installer. On Debian-on-Windows, however, the situation is subtly altered: the wget program still needs to be installed, but there's no root password so you cannot become root, but the non-root user is able to issue sudo commands! So, to obtain and launch the Giocoso installer, you simply issue the commands:
sudo apt install wget
The Giocoso installation then proceeds perfectly normally and without incident. The same issues that make launching Giocoso after installation tricky on Ubuntu-on-Windows also plagues Debian-on-Windows: there's no main menu to click through and the desktop launcher is invisible. The same fix as I described for Ubuntu works for Debian, though: if you cat the Desktop file from your home folder, you'll see the command needed to launch Giocoso. You can then either simply copy/paste that command in, or create an alias and then launch the program via the alias command. Either way, Giocoso behaves itself exactly as it does on 'Debian proper':
As you can see, in-terminal display of album art works just fine! Once again: remember that music files that Windows thinks to be somewhere on the C: drive will be visible to the Debian environment via /mnt/c. If you've mapped a network share to your Windows' Z: drive, it will be accessible via /mnt/z... and so on.
Manjaro is a bit trickier to get working on Windows, because it's not available in the Windows Store, so installation of it is a manual exercise. It's not exactly difficult, though: just visit the ManjaroWSL2 downloads page and obtain whatever the newest, relevant ZIP file happens to be. For me, running on an Intel laptop, I needed to download the ManjaroWSL2.zip file.
Once downloaded, right-click it and select the 'Extract All...' option from the context menu that appears. You can choose a specific location for the extracted files if you like; I just accepted the default suggestion, which meant that my file ended up creating a ManjaroWSL2 folder within my Downloads one.
Next, double-click the new folder to enter it, then double-click the Manjaro application that you'll find there. Windows will try to 'protect' you from the dangers of running unknown software, but if you insist on doing so, the Manjaro installation process will begin, part of which will ask you to create a new username and password combo for the new install: again, I re-use my Windows credentials at that point, but you certainly don't have to.
Once that's done, the installer window shuts down abruptly and it can be a bit tricky to know how to launch the new Manjaro-on-Windows environment! If you list 'all apps' from the Windows start menu, you'll find an entry for Manjaro there -but there's no one, obvious program to launch within it. Perhaps the simplest way to launch it is to open Windows' own Powershell and type the command:
wsl -d Manjaro
Once you get it running, however, the Giocoso installation process is entirely standard: wget doco.absolutelybaching.com/gioinst and then bash gioinst. The software dependencies come down without a problem and the Giocoso program itself is installed with equal aplomb.
As for all Linux-on-Windows environments, knowing how to launch Giocoso after installation is harder than it ought to be, because there's no start menu to click through or desktop icon to launch it with. As for Ubuntu and Debian, simply cat the Desktop file that's found in your home folder and extract the necessary command from that. Paste or type it in directly, or create an alias for it and launch the program by typing the alias. So much, so normal for Linuxy Windows settings!
The trouble really starts when you try to play music! Manjaro-on-Windows inherits its Linux-proper cousin's inability to handle in-terminal graphics correctly:
The 'solarised' look is not what's intended! At this point, you can use the mitigations I've discussed before when documenting Giocoso-on-Manjaro proper. That is:
- Use Administration -> Option 3, set Display album art in its own window to yes
- Use Administration -> Option 3, set Attempt to fix album art display to yes
- Install a terminal emulator that does know how to do in-terminal graphics properly
Pick one of these options: don't combine them! If you've enabled one of the Option 3 settings, be sure to disable it before enabling the other. Be sure both are disabled if you're going to take the third way out, too!
In respect of that third workaround, I'd suggest installing Konsole: sudo pacman -S konsole will do the deed. It has no problem displaying album art in-terminal properly:
You will need to play around with Konsole's profiles to achieve the correct font, colours, screen dimensions and so on: the above screenshot was taken after I created a new profile called 'Giocoso', where I set the colour scheme to green-on-black, the font to Space Mono, size 12, and the screen size to 103 columns by 28 rows. You also have to tell Konsole to stop remembering its previous sizes, otherwise that 103x28 setting never gets applied.
Creating a new profile is done by right-clicking any empty space in the konsole display and selecting 'Create New Profile' from the context menu.
To switch off the 'remember window size' setting, select the Open Menu -> Settings -> Configure Konsole menu options and select the 'General' tab.
Once you have Konsole looking 'right', you can edit your .bashrc file to set the alias appropriately. For example:
alias giocoso3='/usr/bin/konsole -e giocoso3.sh'
You can then launch Giocoso 3 in the future in Konsole, simply by typing the command, giocoso3.
A free but unofficial 'Fedora on WSL' is available from the Windows Store: Giocoso runs fine on that. Devuan also runs on WSL, but has to be installed manually, rather like Manjaro above. Unlike the Manjaro installer, however, the Devuan one doesn't auto-create a non-root user for you, so you either need to run Giocoso as root or be familiar with the useradd utility! Anyway, both run like their 'proper Linux' cousins, faults and all:
Fedora suffers from the Manjaro problem of not being able to display in-terminal graphics correctly: the workarounds are exactly those previously described.
Devuan is well-behaved in this respect, however:
That said, Devuan-on-Windows is missing a program which is a standard part of its 'proper Linux' installation: the program ps is missing (which astonishes me, as it's such a core component of nearly any Unix or Unix-like OS going back decades!) It can be installed manually with the command sudo apt install procps, and Giocoso-on-Devuan-on-Windows then behaves itself perfectly thereafter.
I suppose lots of other distros can be tweaked to run under WSL: I would expect Giocoso to behave on them just as they would on their 'real Linux' counterparts... but there's a limit to how much testing I can do for this sort of bespoke edge-case, so if you want to be adventurous, go right ahead. I'd love to hear of your progress, but you are fundamentally "on your own" at this point 🙂