Monthly Archives: December 2020

December updates and a Christmas goodie for cable geeks

The silent treatment?

Hi there.
I know I have not been posting a lot the past few months. Sorry for that, really.
The last quarter is always a busy time at work and especially so during Corona; my mother fell ill; I sort of crashed when I ran out of energy; and it was a lot of work to clean up shop after my Plasma5 ‘ktown’ first got adopted as Slackware ‘vtown’ in testing and a bit later replaced the old KDE4 in the core distro. Lots of package recompilations and upgrades to work with the newer stuff in Slackware.

I also worked on (finally) migrating the old ‘bear’ server which was hosted in France, to a newer and more powerful server running in an Amsterdam Data Center. The new server ‘martin’ was mostly ready when I thought, let’s reboot ‘bear’ after applying the latest Slackware security fixes. And then it did not come back up… that was not a comfortable moment, since ‘bear’ not only hosts my own package and git repositories, but also The Slack Docs Wiki, the Slack Docs mailing lists, my own personal Wiki and some private family sites. I opened a support ticket and it turned out that the hard drive had crashed and all data on it were irrecoverable.
Luckily I had just finished making a set of backups and right before that fateful reboot, had discovered that my backup scripts omitted part of the server data… which I had also fixed just in time before  that crash.
It took some additional energy to get the services up and running on ‘martin’ again as soon as possible. I had made some new designs for the new server OS configuration and the new configs were un-tested… I hope not too many people noticed the partial down during the second half of November.
The new server runs fine now, has more disk space especially, so I can finally host the full history of Slackware releases and also the DAW and CINNAMON Live ISO images for which there was no room on ‘bear’.
Thanks again to those people who send me money un a regular basis so that I can pay the monthly rent of ‘martin’!

Despite that stress I have been enjoying myself still, just not in the spotlights. The semi-sudden switch in Slackware from KDE4 to Plasma5 and refreshing its XFCE Desktop had some consequences for my liveslak project. It took some time to work out a new optimal package set for the small XFCE image, and in particular the DAW Live image which is based on a bare Plasma5 Desktop needed attention to make it tick again.

So what’s new in Slackware DAW Live?

Remember: DAW = Digital Audio Workstation.
Read my original article documenting the research into a comprehensive collection of musician/producer oriented free and open source software, and a follow-up article on how to transform a Slackware system into a powerful Digital Audio Workstation.

Art work

I asked you in a previous post to come up with ideas for artwork to use in my Slackware Digital Audio Workstation. Thanks for those who contributed graphics and ideas – all of that creativity has been preserved here on the blog.
I decided to use the image to the left of this paragraph – a Slackware ‘S’ with headphones – as the icon to use for the “Slackware Live DAW” submenu. Contributed by Daedra and slightly colored by me.

I needed a second icon as well, to represent the ‘face’ of the Live user account, and for that I picked one of the contributions from Bob Funk: a Slackware ‘S’ with a TRS jack. You’ll see this one when you boot up the ISO and are asked to login at the SDDM graphical session chooser.

More art work was contributed by Sceptical-C, a friend of mine who doubles as a DJ, musician and producer. His black and white photography are the basis for several Plasma5 wallpapers and one of his photographs is also used as the background in the login and lock screens.

DAW_base package

I decided to move the configuration  of the DAW Live OS’ realtime capabilities out of the liveslak scripts and into a new Slackware package. This package called “daw_base” can be installed on any Slackware computer (preferably Slackware-current with PAM). It configures the OS in such a way that a user who is a member of the Slackware “audio” group is allowed to start applications with real-time scheduling priority. You’ll need that if you want to prevent sound drop-outs (also called XRUNs) during performing, recording and mixing. Some more tweaks are being made, they are documented in the package’s README.1st file. This package also contains the Plasma5 wallpapers which are created from the original Sceptical-C black-and-white artwork.
The package creates a new sub-menu in “Applications > Multimedia” called “Slackware DAW” and collects all my DAW related software in there. The submenus in “Multimedia” for the X42 and LSP plugins are moved into the “Slackware DAW” menu to keep it all closely together. This is very similar to what DAW Live also contains. Just the word “Live” is not present in the name of that menu installed by ‘daw_base‘.

The daw_base package also installs a template file for Slackware’s package manager ‘slackpkg‘. The template called “daw” contains a list of all DAW related software in my package repository and it allows for an easy installation and maintenance of that software collection.

New additions to the musician’s toolkit

Several packages needed a recompilation after the recent Slackware upgrades that are related to the new requirements for XFCE and Plasma5. I used that opportunity to upgrade software to their latest versions instead of recompiling – like Ardour, Mixxx, Jamulus, Guitarix for instance. But I also looked into some new stuff, mostly because people asked me about it. Here they are:

Zrythm.
An intuitive digital audio workstation all in itself. It’s under heavy development and nearing a 1.0.0 release. It supports LV2 plugins, offers a high level of automation, and looks really good. Perhaps an alternative for those who feel Ardour’s learning curve is too steep.

VCV Rack.
VCV Rack by the VCV project is a software emulation of the Eurorack Modular Synthesizer.
The project’s mission statement contains this line which resonated with me: “… the principle behind modular synthesizers is identical to the UNIX philosophy, where stable, minimal modules working together are preferred to a monolithic platform controlled by a single vendor (like portable synthesizer keyboards)“.

A short intermezzo first. My first experience with modular synths was as part of the audience when attending a concert by Pere Ubu, 1981 in De Effenaar in EIndhoven. Alan Ravenstine handled a huge contraption full of patch wires that produced all sorts of weird and interesting sounds. It’s what gave Pere Ubu their uniquely distinctive sound. I read later that he worked with EML modular synthesizers a lot but at the time I didn’t know. Damn impressive, but I decided that industrial sounds were more to my liking. This was during the early rise of Electronic Body Music, and that got me hooked for a while. If you can find the documentary “I dream of WIres” I recommend you watch it. The web site http://idreamofwires.org/ is dedicated to documenting the history of electronic music. An excerpt of a little more than 20 minutes is freely available, it contains an interview with Pere Ubu synth players Alan Ravenstine and Robert Wheeler.

Anyway – back in May 2019, a blog comment by ‘Hank’ already referenced VCV Rack with a question whether I would perhaps consider it for inclusion to my DAW software collection. At the time, my focus was on other things and a modular synthesizer is not the easiest instrument to work with, so I let that pass. But some recent youtube footage sparked my interest and here is the result – a Christmas present of sorts for you: packages for VCV Rack, and three free and open source plugins that expand the collection of available modules in Rack: vcvrack, vcvrack-audible-instruments, vcvrack-befaco and vcvrack-bogaudio.

Note that my VCV Rack package ‘vcvrack‘ contains the Fundamental plugin already. The software is quite useless without it so I decided to bundle it, just like the dev’s binary distribution. It is the only plugin which is automatically loaded by VCV Rack. If you install any other plugin, you need to execute one manual command to add the plugin to your user-directory: this will create a symbolic link to the ZIP file containing the modules and Rack will then automatically find and unzip this plugin and make it available to you.

$ ln -s /usr/share/vcvrack/Pluginname.zip ~/.Rack/plugins-v1/

All ZIP files in the VCV Rack system directory (/usr/share/vcvrack/) are module plugins – this is the format for distributing them.

Here is a Youtube tutorial series that you can use as an introduction to modular synthesis and VCV Rack in particular:

Enjoy! Eric

Today, Plasma5 replaces KDE4 in Slackware

Finally. It’s the major step towards a first Beta release of Slackware 15.0!

Pat used this past weekend to merge the ‘vtown’ packages in the Slackware-current testing area into the core distro. The result is a ChangeLog.txt entry that is 680 lines long… lots of package removals due to KDE4 having been replaced with Plasma5.

Mon Dec 7 21:49:58 UTC 2020
Goodbye vtown... we hardly knew you.
It is indeed the day of the Big Merge(tm) leaving nothing left in /testing (but
I'll try to work on that soon). In addition to merging packages from /testing,
Qt4 and related packages have gone away, along with some other libraries that
were only used by KDE4. Perhaps someone will want to take up maintenance of Qt4
(but I'm also pretty sure that SBo wouldn't touch that build script with a ten
foot pole). ConsoleKit2 is gone, replaced by elogind (which also takes over for
cgmanager and pm-utils).
Huge thanks to Eric Hameleers, Heinz Wiesinger, and Robby Workman for all the
help making this possible.
There's still more cleanup to do here, but that'll be easier with everything in
the main tree instead of maintaining side installs running the /testing
packages.
I'll look into what can be done about extra/pure-alsa-system/ soon.
Enjoy! :-)

Let’s see how quickly the remaining rough edges are smoothed out.
I don’t know when I’ll find the time to clean up the ‘ktown’ repository and generate new Slackware Live ISOs. At least, I prepared the liveslak sources already for the event. If only daytime job did not eat up all my energy. Also please tell me which packages in my repository need recompiling due to this major upgrade.

Addendum 2020-12-08 19:21 CET: How to upgrade?

Option 1:

If you never installed my ‘ktown’ Plasma5 packages before, and if you never installed the ‘vtown’ version of Plasma5 in the testing area of Slackware-current, then the upgrade is trivial if you are using slackpkg (the slackpkg+ extension is not needed):

# slackpkg update
# slackpkg install-new
# slackpkg upgrade-all
# slackpkg clean-system

The final “slackpkg clean-system” may be challenging for people who installed a lot of custom / 3rd-party packages, since those will be mixed into the output. See below for a one-liner command that will remove all packages from your system that are no longer part of Slackware since the switch from KDE4 to Plasma5.

Option 2:

If you installed Slackware’s ‘vtown’ version of Plasma5 from Slackware’s own testing area you will probably have edited “/etc/slackpkg/slackpkg.conf” to give the ‘testing’ packages priority over the regular packages. You need to revert this edit now. Meaning that this line:

PRIORITY=( testing patches %PKGMAIN extra pasture )

needs to be changed back to:

PRIORITY=( patches %PKGMAIN extra pasture testing )

If in addition you are using the slackpkg+ extension, you also need to edit “/etc/slackpkg/slackpkgplus.conf” to remove the priority for ‘testing:vtown’  by changing the PKGS_PRIORITY line. Suppose that line looks like this:

PKGS_PRIORITY=( multilib testing:vtown mylocal64 mylocal32 restricted alienbob mate )

then you only need to remove the ‘testing:vtown’ string:

PKGS_PRIORITY=( multilib mylocal64 mylocal32 restricted alienbob mate )

If you removed my ‘ktown’ repository from slackpkgplus.conf (check PKGS_PRIORITY, REPOPLUS and MIRRORPLUS statements) you can re-add it safely now. I cleaned the ‘ktown’ repository and it contains just one package now: phonon-vlc which did not get added to Slackware since that does not have vlc either.
This is all the preparation you need.
Next run the standard commands to perform a regular upgrade:

# slackpkg update
# slackpkg install-new
# slackpkg upgrade-all
# slackpkg clean-system

Again, that last command will scare some people who have a lot of 3rd-party packages installed and don’t want to check many tens of entries one by one to see what needs to be kept.

Clean-system?

The final step is to remove all packages that got removed when KDE4 gave way to Plasma5. The ChangeLog.txt entry for this “Big merge” shows all of those with the tag “Removed.” at the end of the line. So here is a single very long commandline which fetches the ChangeLog.txt from the official mirror, finds the ChangeLog entry for the “Big Merge”, locates all “Removed.” lines and extracts the package names from them. That is then fed into a “removepkg” command so that all these packages are actually removed from your computer. This is a safe move.
Here we go. As root. run a test first (the ‘warn does not actually remove anything, it just shows you what it would remove):

# wget -q -O - http://slackware.osuosl.org/slackware64-current/ChangeLog.txt | sed -n -e '/Mon Dec  7 21:49:58 UTC 2020/,/Sat Dec  5 20:36:27 UTC 2020/p' |grep 'Removed.' |cut -d: -f1 | rev |cut -d/ -f1 |cut -d- -f4- |rev |sort |xargs removepkg --warn

You will probably notice some “No such package: XXXXX. Can’t remove.” messages, those are harmless, you obviously did not have some (KDE4) packages installed anymore.

If you are confident about the command (ensure that there are TWO spaces after ‘Dec’ for instance) you run this:

# wget -q -O - http://slackware.osuosl.org/slackware64-current/ChangeLog.txt | sed -n -e '/Mon Dec  7 21:49:58 UTC 2020/,/Sat Dec  5 20:36:27 UTC 2020/p' |grep 'Removed.' |cut -d: -f1 | rev |cut -d/ -f1 |cut -d- -f4- |rev |sort |xargs removepkg

Have fun – Eric