Slackware 15.0 has been released on 2022-02-02

Pick your favorite quote for today!

What would you do if you were stuck in one place,
and every day was exactly the same and nothing that you did mattered?

… or rather:

Welcome to Adventure!!  Would you like instructions?

Wed Feb 2 22:22:22 UTC 2022
Slackware 15.0 x86_64 stable is released!

Another too-long development cycle is behind us after we bit off more than
we could chew and then had to shine it up to a high-gloss finish. Hopefully
we've managed to get the tricky parts out of the way so that we'll be able
to see a 15.1 incremental update after a far shorter development cycle.

I honestly kept my breath and have had some difficulty believing that this would eventually really happen, but yet here it is. Slackware 15.0 stable! Released yesterday and available on mirrors across the globe today.
I am fiercely proud of Patrick Volkerding who has again showed all of us that the oldest actively maintained Linux distribution is more than a rolling release for Linux enthusiasts.
The latest stable release 15.0 is packed with applications for both desktop and server usage. It is truly a modern Linux platform that power users can and should embrace as their daily driver.

I will share with you some of the highlights and particulars of the development process between the release of Slackware 14.2 (the previous stable) and the new 15.0.

  • With five years and seven months in the making, this has been the largest interval between stable releases.
  • We said ‘farewell’ to the Slackware Store and goodbye to printed DVD and CDROM sets.
    A major reason for this dragged-out development cycle is the realization that for a long time, Pat and family have been deprived of substantial amounts of revenue which the people of The Store reaped through the sales of Slackware installation media, clothing and other paraphernalia. The truth was shared by Pat in a post on LinuxQuestions and resulted in a long-running thread discussing how the community could help with the funding: https://www.linuxquestions.org/questions/slackware-14/donating-to-slackware-4175634729/ .
    Luckily a new means of securing an income for Pat was established through Patreon, which allows Pat to focus again on his Slackware distro. After all, Slackware is his only source of income; the rest of the coreteam have regular day jobs and we don’t get (nor want) any part of the revenue.
  • A ChangeLog.txt of roughly 40,000 lines makes the process of “slackpkg install-new” (churning through all that text) to find all those added packages a long and painful one.
  • The Slackware 15.0 core distribution consists of 1590 packages, a 19% increase from the 1332 packages in Slackware 14.2 core (i.e. everything not in ./extra or in ./testing).
    A lot of packages have been removed (276), many of those belong to KDE4 and 82 of them are the old language packs. You won’t miss a thing there because language support in Plasma5 is now included in all the application packages.
    If you look at the number of packages that have been added to the distro (i.e. did not exist in Slackware 14.2), that’s an impressive 534.
  • The compressed size of these packages went up from 2.4 GB to 3.0 GB. Uncompressed and installed onto your computer, the difference will be significantly larger. The recommended disk space needed for a full installation, increases from 9+ GB (Slackware 14.2) to 16+ GB.

So what about that exciting content you can find in the new 15.0 release?

  • Slackware 15.0 installs Linux kernel 5.15.19.
  • The kernels all have preemption enabled and you can configure your bootloader for full, dynamic or no preemption.
  • The installer properly supports installing to NVMe disks and has improved support for installing on UEFI platform.
  • Slackware still supports 32bit hardware platforms and is one of the few relevant Linux distros that do so today.
    Both the 64bit and the 32bit distro are built from a single source tree.
  • Collaboration with smart people on the LinuxQuestions.org forum resulted in the ability for Slackware to be reliably built from scratch these days. Thanks in particular to worsel and nobodino. The latter maintains his efforts in a git repository from which Slackware has borrowed several patches. Slackware itself has a ‘master build script’ called make_world.sh and Patrick keeps a log of everything that “fails to build from source” aka the FTBFSlog files which you can find in the source-directory root of every package series. Nothing in the distro fails to build from source right now, which is awesome and a definite change from previous stable  releases.
  • In ./source/installer you find the complete sources to easily rebuild the Slackware installer from scratch.
  • ConsoleKit2 was replaced with elogind as the session/seat manager. Elogind is a standalone version of the logind code in systemd and independently maintained at https://github.com/elogind/elogind .
  • FFmpeg and Lame have been added to the distro, yay! Also, it includes SDL2, speex, opus, fluidsynth.
  • A new command-line ISO creation tool to supplement cdrtools was added: xorriso.
  • Python3 was introduced but Python2 stuff remains available and is still the default python. Its most relevant modules have been bundled in a compatibility package.
  • Postfix has been added and Sendmail moved to ./extra where it still receives upgrades. Lucky me, I still prefer and use Sendmail on my boxes.
  • Dovecot is the powerful new IMAP and POP3 server, replacing the old imapd and ipop3d.
  • The Qt4 graphical toolkit has been removed and Qt5 came in its place.
  • KDE 4 (which was already abandoned at the release of Slackware 14.2) has been replaced with KDE Plasma5. More specifically, with Frameworks 5.90, Plasma 5.23.5 and Applications 21.12.1, meaning the very latest versions; all released this January 2022. This is topped with some cool additional Plasma5 applications like the Calligra office suite, Krita vector drawing program, Digikam photo management, KMymoney personal finance management, the Chromium- and Qt5-based webbrowser Falkon and Kyle LaTeX editor (and then some). And of course KDevelop.
  • The latest XFCE 4.16 is included and it’s a very nice step-up from the version of Slackware 14.2.
  • Wayland 1.20.0 is available as alternative to the venerable X.Org 1.20.14 which is still the default graphical display system.
  • The latest Mesa and Vulkan libraries are installed and GLvnd (the GL Vendor-Neutral Dispatch library) ensures that for instance NVIDIA’s binary driver is a breeze ti install and will not overwrite any system files.
  • Pulseaudio has competition from Pipewire which has been added to the distro and ships with a configuration that can mostly replace pulseaudio with this new low-latency audio server.
  • The whole build toolchain has seen a thorough refresher, with glibc 2.33, GCC 11.2.0 and LLVM 13.0.0 and the addition of Rust which is now at 1.58.1. Also essential tools that are part of modern-day software compilation like meson, ninja, scons and icecream are new in Slackware 15.0.
  • … and there’s a lot of other stuff that you have to find out for yourself.

Using Slackware

All in all, when you install Slackware 15.0 on your computer you will be able to work in graphical desktop environments and using tools that are on par with all the big distros. When looking for software that is not part of the core distro you can turn to slackbuilds.org (SBo) which is a curated platform for Slackware package build scripts. Tools like sbopkg, sbotools and slpkg will assist you in automating the build- and dependency resolving process when using these scripts from SBo.
Third-party package repositories are also available to quickly install binary packages if you do not trust yourself when compiling from source. You can think of my own alien and restricted packages but also Robby Workman’s package repository or the SlackOnly collection of packages that have been pre-compiled for you out of all the SBo scripts.
Slackware’s own slackpkg package manager which only deals with official Slackware packages can be extended with the plugin slackpkg+ if you want to be able to easily manage a mix of official and 3rd-party packages using a single tool.

Slackpkg with the slackpkg+ plugin also supports managing a multilib installation (i.e. a 64bit Slackware OS which is capable of running and compiling 32bit software). With multilib, running the Steam gaming platform is fully supported on your 64bit Slackware, and Steam applications run as fast on Slackware (or faster) than on Windows.

I hope you are all as excited about this new release of Slackware Linux as I am, and I hope you will have a lot of fun using it. Of course, those of you who have been running the ‘bleeding edge’ all the time, aka Slackware-current, can keep doing that. The Slackware-current tree is still there and it will now focus on post 15.0 development towards the next stable release.

Upgrading from 14.2

People upgrading from Slackware 14.2 have multiple options. You should definitely read the CHANGES_AND_HINTS file to get a good picture of the many package additions and removals. The UPGRADE.TXT file is an invaluable source if you want to perform a manual upgrade.
The Slackware Documentation Project contains an article called “upgrading Slackware to a new release“. It describes how to use the slackpkg tool (which is part of Slackware) to perform the upgrade with a large degree of automation.

Still, it is good to be aware that Slackware moved from ConsoleKit2 to elogind and one thing will be immediately obvious if you start an X session after upgrade and reboot:

With elogind as the session/seat manager instead of ConsoleKit2, if you run ‘startx’ or ‘startkwayland’ at the console, you won’t see a VT (virtual terminal) switch. In the past, your console TTY would usually be tty1 but your graphical session would start on tty7 and you would automatically be switched from tty1 to tty7. This is no longer true – the graphical session will re-use your console TTY.

You can read more details about the implications of the switch to elogind in my 2020 blog post here on Alien Pastures.

Get Slack

Download your official ISO images from any of the Slackware mirrors. We use mirrorbrain to ensure that a visit to mirrors.slackware.com will lead you to a server that is near to you.

Support Slackware

Please consider supporting Patrick and his family by visiting his Patreon Page, choosing a membership category and becoming a Patron. If you can spare a dollar or so per month, it will help keeping this unique distribution alive. All that money goes only to Pat.
If you are longing for the stuff that The Store used to sell, you can have a look at this CafePress URL which is Pat’s. Anything you buy there generates some money for him: so on you go to Patrick’s CafePress Shop.
Don’t fall for the fakes (several others on Cafepress sell clothing and gear with Slackware’s logo on them)!

Give Slackware a test-drive

Has the article made you curious or interested but you don’t yet feel comfortable installing Slackware on your computer?
We’ve got you covered!
There’s a Slackware Live Edition waiting for you. It is the same Slackware 15.0 but it will run entirely from a USB stick, won’t touch your harddisks and you don’t have to install anything.
Unlike Slackware itself, the Slackware Live Edition supports Secure Boot but you’ll have to enroll the liveslak certificate into your computer’s MOK first.
And if you do want to install Slackware after seeing the Live Edition, there’s a “Install Slackware” icon right there on the graphical desktop, which you can click (and use the password “live“!) to run through a slightly modified but still very familiar Slackware setup program (called ‘setup2hd‘ in the Live Edition).

Get the ISO for Slackware Live Edition 15.0 here: https://slackware.nl/slackware/slackware-live/slackware64-15.0-live/ (rsync via rsync://slackware.nl/mirrors/slackware/slackware-live/slackware64-15.0-live/). Instructions about installing the ISO to a USB stick and using Slackware Live can be found at https://liveslak.org/ or https://docs.slackware.com/slackware:liveslak#enduser_documentation .

Choosing development or stable

Slackware comes in two flavors:

  1. The stable releases (14.2 and 15.0 being the most recent ones) which get regular security updates but no changes in functionality;
  2. And the development release called ‘slackware-current’ which has a lot of activity with sometimes daily updates, new functionality and basically being there for all of us to test and find the bugs.

Note that the designation ‘-current‘ confuses some people who interpret “current” as “latest stable“. It is not!

Are you running ‘-current’ but want to switch to Slackware 15.0 and enjoy a stable experience with regular security updates but without the hassle of daily upgrades and occasional breakage? It’s as easy as opening the mirror list (/etc/slackpkg/mirrors) for your package manager slackpkg, and selecting a Slackware 15.0 mirror instead of a Slackware-current mirror.
To give an example: I myself would change the single un-commented line in that file  “http://slackware.nl/slackware/slackware64-current/” to  “http://slackware.nl/slackware/slackware64-15.0/“, and then run “slackpkg update ; slackpkg install-new ; slackpkg upgrade-all“. Now my computer is fully up-to-date with Slackware 15.0 and ready to receive future security upgrades.

Note that if you are not only interested in security updates but actually want to be able to run new software all the time, then the development release  “Slackware-current” is still the better option for you; but you need to be able to fix the occasional breakage which is inherent to walking the bleeding edge. If you want to switch from a stable release to -current, the process is simular to the example above: change the mirror line in “/etc/slackpkg/mirrors” to the URL of a slackware-current repository and be sure to read the documentation.

Looking forward

Things I hope to see in that next release post 15.0:

  • Out-of-the-box support for SecureBoot
  • The switch from Elilo to Grub as the default bootloader for UEFI platforms
  • Getting rid of the huge kernel and automatically generate and use initrd.gz images with generic kernels in Lilo and Grub
  • Full integration of Pipewire as an audio/video server replacing Pulseaudio and making Jack2 superfluous
  • A basic firewall as part of the initial installation

Not all of that will probably be achievable, but we’ll see…

In memoriam

A long-standing member of the Slackware core team passed away during the development process towards Slackware 15.0. Erik Jan Tromp (alphageek) would have loved to have been able to witness the release of Slackware 15.0 but circumstances decided otherwise. We said goodbye to him in March 2020.
He will be remembered fondly.

Steam client update, also fresh Wine, QEMU, MinGW-w64

It was already a while ago that I refreshed my ‘steamclient‘ package for Slackware.

The steamclient package is meant to bootstrap the installation of Valve’s Steam gaming platform on your Slackware computer. The package installs a couple of scripts and a 32-bit Linux runtime based on Ubuntu. When you first start ‘steam’ from the menu or from the X terminal commandline, the client will download a larger set of runtime libraries, including 64-bit support. Onwards, the client will keep its runtime libraries up-to-date automatically, every time it starts up and connects to the Steam servers.
The Slackware package has a couple of tweaks because we obviously do not have Ubuntu tools on board. As a result, on Slackware-current (32bit and 64-bit with multilib) Steam works out of the box.

The reason for a package refresh is a recent bug report on Valve’s github, about an ALSA related crash on Slackware. The root cause was eventually found and it was part of the customization I added to the steam launcher 6 years ago when we were still on release 14.1 and we did not have pulseaudio as part of the Operating System.

So I removed (actually, commented-out) these lines, and that should fix the root cause for that bug. If you do not use Pulseaudio or want to enforce ALSA sound regardless, just un-comment the relevant lines at the top of the ‘/usr/bin/steam’ script again – it’s self-explanatory.
I have also refreshed the READMEs for Slackware and additionally removed support for all Slackware versions older than 14.2. To be realistic, I assume that gamers are all on the -current platform already.

NOTE:
If you have an older ‘steamclient’ package installed on 64bit Slackware and use the slackpkg+ extension to manage 3rd-party repositories, you need to un-install the old steamclient package first. The old packages have a ‘i386’ architecture tag whereas the new one has a ‘i386’ architecture tag for the 32bit Slackware, and a x86_64 tag for use on 64bit Slackware.
They are the same package actually but I was asked to make ‘steamclient’ installable via slackpkg/slackpkg+ also on 64bit Slackware. So:

# removepkg steamclient
# slackpkg update
# slackpkg install steamclient

Have fun playing games on Steam!

Some other recent package updates in my Slackware-current repository are:

Wine: we’re up to version 6.23 now. The 32bit wine package is just that – 32bit Wine. My 64bit wine package contains both 64bit Wine and the 32bit WoW64 (Wine on Wine64). Both have the ‘staging‘ patches applied.
The external dependencies for this package remain the same: FAudio and vkd3d are required. On 64bit Slackware you need to have multilib installed. In addition to multilib, you need to convert the 32bit versions of the FAudio and vkd3d packages to ‘compat32’ packages and install those.

MinGW-w64: I have updated this package to v9.0.0_gcc11.2.0. Mingw-w64 is based on the original mingw.org project (which was created to support the GCC compiler on Windows systems), particularly adding 64-bit support.

The MinGW compiler suite is used to generate the native Windows DLLs in the wine package.

The QEMU machine emulator and virtualizer got a refresh because I am preparing (fingers crossed!) for a release of Slackware 15.0 which according to an online statement could happen soon after New Year 2022.
I run Slackware Virtual Machines (VMs) in QEMU and I wanted to take advantage of the newest QEMU features. At the moment my VM host is Slackware 14.2 and that has a fairly old QEMU package installed. The VM host will get an upgrade to Slackware 15.0 as soon as the new release is made available.
Dependencies for my qemu package are: vde (historically for non-root network bridge support) and as of now also: device-tree-compiler, jack2 (note that jack2 has its own sub-dependencies!) and virglrenderer.


Have fun with these during the holiday break, and I wish you all a Happy New Year.

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

Liveslak new features, DAW Live, OBS Studio, logo contest

I wanted to update you about a couple of my projects that I was able to spend time on, now that I took some time off of work. I need to distance myself from my day job every so often to prevent a burn-out and this time I am dangerously close.
I baked bread for the first time in years and it was well-received in the family. The result was a tasty sourdough bread using the wild yeast culture that I am keeping healthy for many years now, even if I had not used it for making bread for a long time. Although a while ago I did share some of the sourdough culture with a friend who is also into baking bread. Even a tiny bit of “starter” can jumpstart your career of baking 🙂 It’s a tedious task to raise a healthy culture of wild yeast and suitable bacteria that create good bread.

But I would like to focus more on liveslak, on my Digital Audio Workstation spin, and some new software for which I created packages.

The liveslak project received some interesting new features.
Most importantly, the hard disk installer of the Slackware Live Edition – called “setup2hd” – was expanded. In the past, it used to allow only the installation of the Live OS to your hard drive. But I received requests to also make it possible for setup2hd to install regular Slackware like the official installer does. It sounded like a good idea, and starting with liveslak release 1.3.7 the “setup2hd” program will let you choose from more package SOURCES than just the Live OS. In addition to the Live OS, you can now choose to install regular Slackware from a NFS, HTTP, FTP or Samba server. In other words, Slackware’s network install feature was added.
Why is this different from the setup program on the official Slackware ISO? Well, the most obvious improvement is that you are working in a graphical desktop environment (the Live OS). You can run the setup2hd hard disk installation in an X terminal while you keep doing other stuff like reading online materials or watching a video to pass the time. Moreover, you can install stable Slackware 14.2 from the Live OS. That means MMC and NVMe drives are supported during installation (which is something the official Slackware 14.2 installer does not provide for).
And to top it off, I am now also adding “setup2hd” to the small XFCE ISOs. Word of caution: the XFCE ISOs do not contain a “huge” kernel which means if you want to install the stripped-down XFCE OS to your hard drive, you will have to do a manual “chroot” after installation completes and before you reboot, to edit /etc/lilo.conf and add a section for the “generic” kernel. and then run the “lilo” command to make it stick. Hopefully the “liloconfig” command will learn how to do that for you, sometime soon. You can always perform a Slackware network installation from the XFCE Live OS of course!

The second new feature is the ability of liveslak to configure a custom background image for Plasma5-based Live OS. The custom image is used when generating the Live ISO, as the background for the SDDM login greeter, your desktop wallpaper, and for the lock-screen backdrop.
What I still want to achieve is adding similar functionality to the XFCE and Gnome based Live variants. The snag is that the configuration needs to be scriptable, i.e. when the “live” user logs in everything must already be in place and pre-configured. For Plasma5 that was not trivial to work out, and I have zero Gnome and XFCE scripted desktop configuration knowledge. Suggestions and code snippets are welcome.

My Digital Audio Workstation project, called Slackware Live DAW, received some updates as well. The blog article I link to describes the generic process to tune and tweak Slackware for use as a real-time audio workstation, but I used that knowledge together with a whole lot of useful audio and music software to create a Slackware “spin-off” if you want – building on a lean Slackware package set plus the core of KDE Plasma5.
Since Slackware Live DAW  is based on liveslak, it profited from improvements in that area too. Most notably the DAW Live ISO now comes with a nice dark black & white themed background – which is better on the eyes if you work on your musical project in a room with low ambient light intensity.

Created with GIMP

The other improvement, or enhancement if you will, is that I have collected all the DAW specific programs in their own submenu “Applications > Multimedia > Slackware Live DAW” and removed them from the “Multimedia” menu. This lets you focus on the audio workstation purpose of this Live OS by having all your tools in one place.
And of course, the “setup2hd” program allows you to install the Live OS to your hard drive. One caveat though: the installation will be pristine, meaning you will get all the packages but not the “liveslak” customizations installed. What you won’t get is: the nice wallpaper, the “Slackware Live DAV” submenu, the real-time tweaks to the Operating System and the pre-configured JackQtl. On my TODO is to create a way (perhaps a package) to apply all of these customizations easily afterwards. For now, best is to run the Live OS directly from a persistent USB stick. If you have a bit of patience and at least 8 GB of RAM, you can load the whole Live OS into RAM when it boots up, and use the USB persistence to write your updates to the USB stick while you work, using the liveslak boot parameter “toram=os“. Loading into RAM will take a few minutes but then you have a lightning fast DAW OS that runs completely in memory.

I created a short video to show the boot sequence, the wallpaper and the new submenu:

Now that I am writing about my DAW project, I also want to use the opportunity to ask you – my readers – to participate in a small contest. I am not good with graphical tools, but I would really like a couple of graphics:

  • a logo for Slackware DAW Live. Higher up on this page I used a generic “tux with headphones” image but I want something special for the project. A SVG file would be best but I will settle for a nice PNG.
  • a user icon for the live account. Currently all Slackware Live editions use the purple Slackware “S” icon , but I want an icon that reflects both Slackware and making music.

I welcome your submissions and will create an overview page with all of the graphics I receive. Ultimately I will select the ones I like most and use then in the liveslak project. So please do  not share copyrighted material.
I came up with the wallpaper image myself, and I asked a friend of mine, who is also a producer and a dee-jay, to supply some of his own black & white photography as wallpapers for Slackware Live DAW.

Some of the packages I created or updated lately

I usually update the blog when I have something to share about my high-profile packages like chromium, libreoffice, openjdk, vlc and the likes. But I add stuff to the repository from time to time that serves a specific purpose – either because someone I know requested a new package, or because I expand the list of available software for my DAW Live project. Here are a couple that I did not mention yet.

OBS Studio (formerly known as Open Broadcaster Software) is video recording and streaming software. It is sometimes referenced by people when they email me with requests to create a package for it. Working out the dependencies and packaging those is not trivial. I realized that I could use this myself (to create the above video of booting DAW Live), and have added it to my slackbuilds repository along with a dependency that was not in there yet: mbedtls. The other dependencies for OBS Studio were already in my repository: jack2, vlc  and x264.
I chose not to add “luajit” as yet another dependency. Luajit meant to add Lua scripting support, but OBS Studio already supports scripts via Python3. If anyone needs Lua as well, let me know. I also did not add the suggested “fdk-aac” encoder dependency for AAC audio since Slackware’s ffmpeg package also has an AAC encoder and OBS Studio will use that instead.
I realize that Patrick recently added Simple Screen Recorder (ssr) to Slackware-current but OBS Studio is more powerful and has a lot of features which make it particularly suited for people who stream their video recordings directly to sites like Twitch or Youtube.

Geonkick is “a synthesizer that can synthesize elements of percussion. The most basic examples are: kicks, snares, hit-hats, shakers, claps”. Unfa has a video up on Youtube in which he shows a bit of the interface and the percussion sounds you can create. I added this one to my DAW package list so you can use its functionality as a plugin in Ardour or as a standalone app.

 

QTractor? My DAW package list already contains Ardour and Audacity to use as your main application to record, mix and process music. They serve different purposes and audiences – Audacity is a multi-track recorder with nice post-processing capabilities, and for some people that is all they need when Ardour has a long learning curve.
Qtractor is yet another digital audio workstation tool. It is a multi-track sequencer for audio and MIDI, with a nice QT5 interface and extensive plugin support. I guess it is comparable to Ardour but less complex and therefore suited for somewhat less experienced musicians and producers.

And here is MuseE, another audio and MIDI multi-track sequencer with an interesting feature list and a QT5 interface. Similar to QTractor you can use MusE as a your DAW studio interface or use it to pre-process your MIDI tracks before importing them into Ardour, as shown in this video tutorial sequence by LibreMusicProduction.

It will be a matter of preference which of these programs you are going to use. They are all part of Slackware DAW Live so go ahead and try them out! The Slackware DAW Live ISO image can be found at https://martin.alienbase.nl/mirrors/slackware-live/pilot/ https://slackware.nl/slackware-live/latest/ and I recommend to copy it to a USB stick as a persistent Live OS, using the iso2usb.sh script.
If and when I manage to migrate slackware.nl to a bigger server I will be able to finally host it there along with the other liveslak stuff (Update 2020-Nov-15: I finally migrated to a new server and the old server died in the process, but not before I managed to save all important stuff).

Have fun! Eric

Sonic-Pi: live-coding music software now on Slackware

Here is a new program for inclusion into my DAW package collection. It is Sonic-Pi, a ‘code-based music creation and performance tool’ as its web site states. My DAW collection already features Supercollider, which at its core is a powerful audio synthesis engine, but it also features a graphical user interface which you can use for live-coding music. Sonic-Pi has similar capabilities but it is more intuitively accessible (compare it to vi and notepad for instance).
Therefore Sonic-Pi would be better suited for introducing people to the concept of creating music through writing code, and letting that music evolve during a live performance by updating on-the-fly the code which represents the audio synthesis.

Sam Aaron is the creator of Sonic-Pi and uses it as a musical instrument in its own right with his band. He did a TEDx talk about programming as performance a couple of years ago:

He explains how Sonic-Pi was conceived as an educational tool. By making a free and open-source program like Sonic-Pi available to schools (and it runs on the Raspberry Pi – now you know where the program got its name from), you will gently introduce young kids to the art of computer programming while at the same time infusing them with a love for music – because they will be able to create the music they like in no time.

Sonic-Pi uses the synthesis engine of Supercollider, which means that that has to be installed as well. Both Sonic-Pi and Supercollider use JACK to route the audio and let it come out of your speakers.
The graphical user interface allows easy access to a large collection of example code snippets, sound samples and synthesizer definitions, so you will be listening to music in a few seconds after starting the program – after which you can begin modifying that code and hear live what your programming does to the generated music. The GUI also contains a nice visualization of the music you are generating.

The software is usually distributed as an ‘appimage’ which simply bundles everything you need into an archive. This is not really Slackware-like, so I wrote a SlackBuild script which brings some order into the directory structure, removing a lot of redundant megabytes and creating a proper package with a nice menu item.

The liveslak scripts have been updated as well so that the next Slackware DAW Live will include Sonic-Pi.
If you use slackpkg you can download an updated template here: http://www.slackware.com/~alien/tools/templates/daw.template and use “slackpkg install-template daw” to have easy access to the full list of packages.

Get Sonic-Pi from https://slackware.nl/people/alien/slackbuilds/sonic-pi/ or https://slackware.uk/people/alien/slackbuilds/sonic-pi/ . Mind the dependencies!

Have fun! Eric