Building Slackermedia
You should have at this point a fully functional Slackware system. You can use this system as you would any computer for any other task, but the goal for this handbook is to build upon the base install to create a multimedia studio.
There are a number of small programmes, libraries, and applications that a typical multimedia system, regardless of what you intend to do on it, should have installed, simply because they are so ubiquitous that the major media apps you install probably require them anyway.
These dependencies and libraries are usually small pieces of software that you will not use directly, but that are important for the larger applications to be able to function properly. In some cases, these dependencies are also fully-featured applications in themselves, and are also used by other applications. In any case, they are good to have as a common base from which you can build upon; think of it as the missing “base install” components that you didn't get with stock Slackware.
Determining what your system will need in order to process all the different kinds of media that a multimedia artist typically encounters can be confusing and overwhelming. This burden is alleviated in this chapter.
Which Dependencies Should You Install?
Slackware is a nice all-purpose distribution, so many of the dependencies, libraries, and backend apps required for a Slackermedia system are already installed by default, and many others can be obtained easily and quickly via slackbuilds.org and other resources outlined in slackbuilds.
As such, Slackermedia offers a list of the common multimedia-related libraries that you should install so that time spent manually installing dependencies is minimised. This list of Slackermedia dependencies can be installed manually, or you can pipe it into sport
or loaded into sbopkg
for automated processing.
The Slackermedia dependency list is not literally all-inclusive. You may have to install more than those listed here, depending on what you intend to install for your multimedia work. But if you performed the default, full Slackware install and do a complete Slackermedia dependency install, then most everything you'll need will be ready for you when you need it.
On Building and Installing
TL;DR Be sure to build applications in order; if you try to build one before building a library it uses, then it will fail!
Mind the order in which you build libraries and dependencies; if you attempt to compile, for instance, Inkscape
before you compile libsigc++
then the build will certainly fail since Inkscape depends on libsig++
to compile from source code. The sequence of building is important.
You can think of building and installing software like a puzzle. Building the dependencies are like gathering up all the puzzle pieces, and installing them is like putting the puzzle together. Without all the pieces, you would not want to try to assemble the puzzle, but as long as all of them are present, the puzzle works as expected.
So the order of installing is unimportant. For example, a system admin managing several systems can build the software in the requisite order, place the packages on a hard drive, and take those packages round to each computer and install them in bulk. As long as all the pieces are present, everything will work as expected.
Structure of Slackermedia Queue Files
TL;DR
Download the Slackermedia queue file and install everything listed in it with sport
.
To use the Slackermedia lists of dependencies and libraries, you may download queue files from http://slackermedia.info/downloads.
To use the queue file with sport
:
$su - #sport install $( < /path/to/slackermedia-huge.sqf )
To use it with sbopkg:
$su - #sbopkg -i /path/to/slackermedia-huge.sqf
Slackermedia originally provided four queue files, dividing installable libraries into groups like av
for audio and video producers, vg
for video and graphic artists, and so on, plus a huge
queue file containing everything from all of those groups. This proved to be confusing and arbitrary, and most people just used the -huge
file anyway.
As of 2015, Slackermedia provides four queue files: the huge file, plus three discipline-specific files in the interest of letting the user opt for a potentially faster install by excluding some large programmes that are probably only useful within a different discipline.
It is strongly recommended that you install the slackermedia-huge.sqf
file. Chances are that as an artist, you do not only do one artistic thing, so
the -huge
support will almost certainly be useful either as an artist or simply just as a modern computer user (the added codecs, for example, will impact you every time you attempt to play non-open media types).
The directory on the Slackermedia server also contains the master file from which the other queue files are generated, as well as the shell script that generates them. You are free to download these resources, but they will not work as a queue file, since they are not queue files.
Download the queue files from http://slackermedia.info/downloads/queues and
process with sport
or the installer of your choice.
Combining Queues
If you are unable or unwilling to to install the -huge
set for whatever reason, but you do wish to combine two queue files, you should prune out duplicate entries. For instance, to combine the audio set with the video set:
# sport -i $( < sort slackermedia-a.sqf \ slackermedia-v.sqf | uniq )
Of course, by the time you have combined two sets, you are probably only
excluding one or two packages from being installed, so it would be easier to do
the recommended -huge
install.
Troubleshooting
Sometimes an automated install fails due to the loss of network connectivity, or a source code package having been moved from its known location on the internet, or an md5 checksum failure, or some other error.
Should this happen, take note of what package caused the failure. Attempt a manual install (using the Slackbuild script, but with a manual download of the source code from the location listed in the .info
file in the SlackBuild tree. If that install works (it usually does), then you can resume the automated install by skipping all installed packages:
# for i in $( < slackermedia-huge.sqf ); \ do if [ ! -e /var/log/packages/"$i"* ]; \ then sport install $i "hello" ; \ fi ; \ done
Or open the queue file in a text editor and manually delete the entries leading up to and including the failed package.
Do not proceed with more installs without resolving any issue that prevents an install. At best, some of the following installs will fail because they relied upon the package that you skipped. At worst, everything will appear to have succeeded, and then you will experience failures later because the package that got skipped is being requested by some other application during runtime and is not being found.
If something fails to install and you do not know why, post a question about it in the Slackware forums at http://linuxquestions.org (you may send a private message to user notklaatu
if you wish) detailing what happened during your manual attempt to install the SlackBuild. It is vital that you make an attempt to install the SlackBuild manually before asking for help! Slackbuilds.org itself does not support frontends like sport
or sbopkg
, nor does Slackware; and they
shouldn't, because the SlackBuild system is well-designed and mostly flawless.
It's usually the assistance of an automated frontend that tempts a user to forego reading how to install something correctly and thereby introduces a problem (or a change in the source code location). An attempt at a manual
install will most likely reveal the exact stage at which the install process fails, and that's vital information.
Queue File Manifest
huge set
huge
installs all Slackermedia deps and libs, and a few important applications for good measure. Highly recommended.
Without going into specifics due to additions and subtractions and other changes that the list is inevitably subject to, this set contains:
- GUI frontends like
fltk
andwxGTK
, which are the GUI basis for many other applications. - Over 20 freely-available codecs and graphic libraries so that no matter what kind of file a client delivers to you, your system will most likely be able to play (decode) it.
Many of these codecs support an “everything and the kitchen sink” build of ffmpeg
, which is a video and audio encoding and decoding engine, and tends to be important to serious multimedia work.
- Essential multimedia tools like the system-wide sound server
JACK
, some of the most versatile soft synths available, the video effect libraryfrei0r
, audio effects plugins, severalGIMP
plugins,Inkscape
(the entire application, which is not included with Slackware), theMediaInfo
analytic tool so that you can get specs on video and audio files, and much more. - System-level tools and libraries that you may or may not use directly but which will be needed by one or more of the applications that you will, as a multimedia artist, certainly install at some point in the future. This includes XML parsers,
libdvdcss
for commercial DVD playback,SDL
,GNOME
components that manyGTK
multimedia applications need, EXIF tools, ID3 libraries,Cython
, and more.
Slackermedia recommends that you install this one, no matter what your artistic discipline.
a Set
Set a installs the Slackermedia dependencies and libraries that primarily relate to audio work, but also those that support ffmpeg, which is primarily a video tool but is also useful for audio conversion.
If you install the huge
set, then you get everything in this set plus a lot
more. It is recommended that you install the huge
set.
Without going into specifics due to additions and subtractions and other changes that the list is inevitably subject to, this set contains:
- GUI frontends like
fltk
andwxGTK
, which are the GUI basis for many other applications. - Over 20 freely-available codecs and graphic libraries so that no matter what kind of file a client delivers to you, your system will most likely be able to play (decode) it.
- Essential multimedia tools like the system-wide patchbay JACK, some of the most versatile soft synths available, including
Zyn
,Alsa Modular
,AmSynth
, andFluidsynth
, audio effects plugin sets such asSteve Harris
,CALF
,TAP
, andInvada
,Rakarrack
, theMediaInfo
analytic tool so that you can get specs on video and audio files, and much more. - System-level tools and libraries that you may or may not use directly but which will be needed by one or more of the applications that you will, as a multimedia artist, certainly install at some point in the future. This includes XML parsers,
libdvdcss
for commercial DVD playback,SDL
,GNOME
components that many GTK multimedia applications need, EXIF tools, ID3 libraries,Cython
, and more.
Do not install this if you have already installed the huge
set, and you should not combine this with another set (if you want to do that, just install huge
.
v Set
Set v installs the Slackermedia dependencies and libraries that primarily relate to motion and stop-motion (animated) visual work, including those that support ffmpeg
(the most ubiquitous video engine on Linux) but not ffmpeg
itself. Since there are so many ways to build ffmpeg
, Slackermedia offers a custom-built ffmpeg
package that includes nearly all available codecs listed as the ffmpeg
config options, which you will install later.
If you install the huge
set, then you get everything in this set plus a lot
more. It is recommended that you install the huge
set.
Without going into specifics due to additions and subtractions and other changes that the list is inevitably subject to, this set contains:
- GUI frontends like
fltk
andwxGTK
, which are the GUI basis for many other applications. - Over 20 freely-available codecs and graphic libraries so that no matter what kind of file a client delivers to you, your system will most likely be able to play (decode) it.
- Essential multimedia tools like the system-wide sound mixer
JACK
, thefrei0r
video effect set some basic audio effects,Inkscape
and a number ofGIMP
plugins (meant for titling and animation), thePOVray
renderer, theMediaInfo
analytic tool so that you can get specs on video and audio files, and much more. - System-level tools and libraries that you may or may not use directly but which will be needed by one or more of the applications that you will, as a multimedia artist, certainly install at some point in the future. This includes XML parsers,
libdvdcss
for commercial DVD playback,SDL
,GNOME
components that many GTK multimedia applications need, EXIF tools, ID3 libraries,Cython
, and more.
Do not install this if you have already installed the huge
set, and you should
not combine this with another set (if you want to do that, just install huge
.
g Set
Set g installs the Slackermedia dependencies and libraries that primarily
relate to graphic and non-motion visual work, including those that support
ffmpeg (the most ubiquitous video engine on Linux) but not ffmpeg itself. Since
there are so many ways to build ffmpeg
, Slackermedia offers a custom-built
ffmpeg package that includes nearly all available codecs listed as the ffmpeg
config option, which you will install later.
If you install the huge
set, then you get everything in this set plus a lot more. It is recommended that you install the huge
set.
Without going into specifics due to additions and subtractions and other changes that the list is inevitably subject to, this set contains:
- RAW image tools, including
raw-thumbnailer
,dcraw
, and theluminanceHDR
application. It does not install flagship applications likeDarktable
,Lightzone
, orDigiKam
, but these can be installed later. foobaz - Over 20 freely-available codecs and graphic libraries so that no matter what kind of file a client delivers to you, your system will most likely be able to play [decode] it.
- SDL tools, used in video games and other works of art that may involve non-traditional use of graphical elements.
- System-level tools and libraries that you may or may not use directly but which will be needed by one or more of the applications that you will, as a multimedia artist, certainly install at some point in the future. This includes XML parsers, libdvdcss for commercial DVD playback, the POVray renderer, some GNOME components that many GTK multimedia applications need, EXIF tools, ID3 libraries, Cython, and more.
Do not install this if you have already installed the Huge set, and you should not combine this with another set (if you want to do that, just install Huge.
Coffee Break
A very robust Slackermedia install will involve over 100 packages from slackbuilds.org . The huge queue file can be downloaded at http://slackermedia.info/downloads/queues/slackermedia-huge.sqf. This gives you a solid foundation for a wide variety of more discipline-specific applications. Feel free to customise and maintain your own base install list as you see fit; you may not need so many video codecs, or you may opt for a different id3 tag editor, and so on.
However, installing the huge
set of
dependencies and libraries prepares your system quite well for a more discipline-specific set of applications.
The full huge
install will take some time, so you may find this to be a good time for a coffee break. Next, we will look at a number of important multimedia components that you can install to get your artwork done, different options you have while installing them, as well as how many of them work together.