Thursday 9 June 2022

Amber - towards an archival operating system.

What is Amber and who is it for?

I use Linux almost exclusively, either Devuan or Parabola. Devuan because it doesn't use systemd which I'm inherently suspicious of as it goes against basic unix philosophy of  "do one thing and do it well", more on that here and here  . I've found on the whole Devuan and non systemd based distros  faster and more stable than say Linuxmint or anything Ubuntu based on the second hand or trash picked machines I generally use . Parabola is stupidly fast ( and comes in systemd and non systemd versions), but takes longer to install and is a rolling release model as opposed to Devuan's stable release LTS ( long term support) model. The advantage of using Devuan ( or Debian or Ubuntu) is that releases are supported for longer and those projects maintain usable archives of older releases meaning that old versions though no longer supported can still be installed and used and packages installed from those online archives.

Devuan addresses for me the disadvantage of working digitally from an artists point of view that software and hardware changes over time. As software and hardware changes so does my ability to continue working in ways that I've found productive. Web cams in particular and certain capture cards that I have based a lot of my work on (and still do ) have mostly had kernel support dropped in the recent past . Examples of that would be ffmpeg dropping support for codecs like libschroedinger. Yes I can download and recompile that from the original source code ( if those sources are still available) but then I'm left with two installations that I have to swap between. Another example is  gtk-recordmydesktop the gui frontend for recordmydesktop, a piece of software I've used a lot for screen-capturing playback of hex edited/datamoshed video that won't bake ( re-encode)  in the same way using handbrake or even ffmpeg itself , that disappeared from most distros repos a while back (though the cli verson is still available the gui version made life much easier). You could ask , well why don't you use obs-studio , and yes on my newer machines I do, but older machines though capable pf running newer versions of devuan ( and Parabola - its hilarious to see that parabola will boot on an old dell dimension 3000 with a single core ht processor from 2003 ) will not run obs-studio as the processors dont have the correct instruction set extensions - so something like gtk-recordmydesktop is pretty indespensible As my work is glitch based a lot of the time the effects that I get are dependent on quirks in software or hardware , if those quirks are removed then that software becomes unusable. Also gtk-recordmydesktop records in ogv format which when played in gnome-mplayer on older versions of linux like Ubuntu 10.04 and Ubuntu 6.04 give some really interesting playback flaws.

I had to find a way of recreating/preserving the environment I had been using up until quite recently so that I'd be able to be able to use  those techniques and ways of working in a form which could run from either DVD or USB stick, and also be installable to be able to keep on reusing older hardware.


Amber is a project I've been working on for the last six months or so. and is based on Devuan's first release Jessie which in turn was Devuans first release after the split with Debian over systemd . I've found it works very well on older hardware, and has support for my various circuitbent webcams and capture cards ( which newer versions of linux and windows do not) - its not to modern and its not to old. I do have various machines running Windows Xp , Ubuntu 6.04/10.04 and various community versions of Puppy linux ( legacy os 2017 and Legacy os 4 mini ) all of those I keep around in installed and live versions because of the various software and hardware flaws I've discovered over time that I use in my work. 

Find Devuan here https://www.devuan.org/

Find Devuan Jessie here  https://www.devuan.org/os/announce/stable-jessie-announce-052517

Find Amber here  https://archive.org/details/snapshot-20220607_2202

Installing from scratch

(This isn't a beginners guide I'm presuming you have a basic understanding of Debian based systems, partioning, installing and how to configure and troubleshoot them). 

If you have found and downloaded the original ISO for Devuan Jessie and burnt it to DVD ( Important note here from experience use DVD not USB for installation  as post-installation Devuan will look for the packages on DVD not USB until you have it set up even if you used USB to successfully install) I have also discovered that during installation it will ask if you want to use a network mirror, say no obviously as the original mirrors /etc/apt/sources.list points to no longer exist as Devuan Jessie is now archived - the archives are there but old install media won't see them. That will make the install possible - if you specify to use a network mirror the installation will possibly fail. But that also means after installation you may not have networking as it won't install network manager etc. You will have to do that manually and thus you need the DVD because that has the packages you need post-install).

It makes life easier after installation if you have both a root account and a user account ( there are quirks in Devuan Jessie which need root approval even though you can install without root and using sudo). After install you will have to  keep that DVD in the drive to install stuff to get online and  its the only media your apt sources list will see , install network-manager and the gnome equivalent notifier ( they are on the disk) using apt get install  then change your apt sources list to this ....

# deb cdrom:[Debian GNU/Linux 1.0-final _Jessie_ - Official amd64 DVD Binary-1 20170522-03:57]/ jessie main non-free

#deb cdrom:[Debian GNU/Linux 1.0-final _Jessie_ - Official amd64 DVD Binary-1 20170522-03:57]/ jessie main non-free

# jessie-security, previously known as 'volatile'
# A network mirror was not selected during install.  The following entries
# are provided as examples, but you should amend them as appropriate
# for your mirror of choice.
#
 deb http://archive.devuan.org/merged jessie          main contrib non-free

then do sudo apt update but you will also have to download a more modern devuan keyring
( from here  https://www.devuan.org/os/keyring ) and either do

 dpkg -i devuan-keyring_2017.10.03_all.deb (as root).

or install gdebi and do it that way - after that you do 'sudo apt update' again and you shouldn't get warnings about unverified sources ( which is why you need the new keyring)

***************************************************************************************

The iso I have made can be run as a live DVD or installed to a hard-drive using the included refracta installer ( hint open a terminal while running from the live DVD and type in 'sudo refractainstaller' and follow the on-screen instructions carefully) with added applications for making glitch art video, sound and stills ( and gifs via ffmpeg or gimp). Its a snapshot of a working system that I created as a personal archive of tools, ideas  and scripts (see script section and the processing sketchbook in the home folder) before the tools and repositories that I'd been using for a few years changed or disappeared into the mists of time. It is both documentation and archaeology as it took a while to put together (given that software toolsets change quite a lot, to get the video function in processing working for using webcams meant finding an earlier version of the processing video library as the current version as of spring 2022 won't work with the gstreamer version that Devuan Jessie comes with so in processing when it asks if you want to update to a newer version of that library don't).

The machines I used up until quite recently were low end core2duos (ie the pentium version with lower cache size and slightly more sluggish), socket AM2 single core or duel core Athlon's (or even final run socket 775 HT pentiums) and the software and hardware I used reflected this. I felt I needed to put this together so I would have a record of how I worked and the possibility of continuing/recreating that if circumstances required it without having to root around looking for the various software versions installed here.

It also serves as a proof of concept for working in a sustainable way with older or recycled hardware, there is a glut of low end computers being sent to landfill, and if through personal circumstances  someone ( or me ) can't afford an even modest 2nd or third gen i3 or newer it means the barrier to entering into making glitch art or digital art can be made lower. This operating system as set up is usable on a modest Thinkpad T61 with a 2ghz core2duo and 4gb of ram from 2008 ( I have run this version of Devuan on a pentium 630 ht with 2gb of ram and spinning hardrive)

You don't have to use the version of ffmpeg I've installed  (4.4.1) I've downloaded a few versions ie 2.8 / 3.4.9 and 4.4.1, 2.8  is one that allows using of obscure codecs like  libschroedinger ( that disappeared from newer versions of ffmpeg in favor of dirac which does not behave the same way at all when hex edited) but doesn't have ffplay functionality. I've compiled 2.8 and 3.4.9 and run make on both but not sudo make install - if you need to use that first navigate to the ffmpeg 4.4.1 folder in Downloads run sudo make uninstall then find the ffmpeg  2.8 folder and run sudo make install. Or if you don't want to go that far find the 2.8 folder in downloads  place the video you want to work in there and use it in that folder i.e. as a stand-alone. I've compiled ffmpeg 4.4.1 with support for cavs ( reading  and encoding).

Fun fact to install FFmpeg with ffplay support you need to have libasound2-dev
and SDL2 compiled and installed, more info here:
https://www.programmerall.com/article/8543614812/

This Distro remix also has build-essential and most build tools like cmake, nasm, yasm gcc etc included, and also ruby for using aviglitch. I have bookmarked links to websites in Firefox which might give some insight into how this distro was put together . So if you wanted to recompile ffmpeg or install software from source you should be able to do that within the limitations of the distro itself .

Why Devuan ? I started experimenting with Devuan around the time this version came out ( 2017?) and discovered it worked really well on lower end machines, its fairly conservative in its approach and rock solid, and not using systemd  seems to give an extra oomph with older machines, and to be honest I like Devuans philosophy. There is also the wonderful refracta toolset to consider, Refracta being a spin of Devuan , the refracta toolset makes it stupidly easy to make snapshot isos of a running system which is also installable, so I can make new snapshots of the system as I refine it and use it as a basis for archiving and reproducing my working methods and tools over time without having to desperately search for archives of programs or tools on the way back machine . 


I've never been a fan of rolling distros as they often break a method that I've found of working with an update and I was getting pissed off with the way that my previous distro of choice, linuxmint started to go, vlc in Mint became unusable and newer versions of linuxmint and Debian just didn't seem as snappy. Another important reason for using this version of Devuan is that it excels at recognising and making usable older webcams, a lot of my work is based around circuit bending old webcams and for some reason this version of Devuan has recognised and allowed me to use more than any other Distro I've used and as a bonus it supports older TV capture cards ( PCI and USB ) which are handy for capturing from other computers via vga to composite adaptors, or just capturing old VHS c input or even old VHS or satellite boxes - just because something is old doesn't mean it isn't useful,  often the textures I find using these old things are more interesting than those I get from newer HDMI capture methods.

Who is it for?

Primarily its for me as an artist working with open-source tools and recycled /obsolete hardware to make glitch art. These are the tools I've used since 2012 or so in various forms and on various distros. This remix draws all of them together so that I have a snapshot and usable environment to document and save those tools in case I need them again, so its part documentation, part archaeology and part useful toolset, the way I've put it together means it can be installed and used offline if need be without an internet connection as most tools neded are here. If somebody else finds it useful or helpful that's also good.

Notes on the software.

As I said I've compiled ffmpeg  from source but with the cavs encoder as well ( cavs is pretty awesome and another of those things getting harder to track down as it seems to be discontinued development wise ) so you can checkout the xavs source code via subversion on the commandline - doing this 'svn checkout https://svn.code.sf.net/p/xavs/code/trunk xavs-code' compile that then compile ffmpeg with support for xavs more info here

 
I also I had to compile avidemux from source as Devuan doesn't have it in the available repositories and I wanted the lower version as newer versions are not useful for datamoshing ( version installed here is version 2.5.6 download source code here http://avidemux.sourceforge.net/download.html and follow instructions for compiling here , though they are for 2.6 version , Make the bootstrap.sh script executable then do sudo './bootstrap.sh' it can take a while to compile . after its finished it leaves and executable in /usr/bin which you can call from the command line by doing ' /usr/bin/avidemux_qt4' but thats clumsy - if you edit a desktop file as per https://www.internalpointers.com/post/add-new-menu-items-xfce-menu that makes it turn up in the multimedia menu in xfce, which is what I did here by writing and editing a .desktop file and placing it in /usr/share/applications ( as root) referencing the icon from the downloaded and unzipped package in home.

Everything else is pretty standard, gimp with gmic plugins , audacity and sox ( sox is useful for sonification) and standard office stuff like libreoffice ( with english dictionary ) calibre, and suchlike for editing documents or putting together epubs . I included Netsurf and Links2 also as I find them aesthetically pleasing.

you might find hard to find multimedia binaries and codecs not installed here
https://archive.deb-multimedia.org/

I did want to include ctwm in this but opted for TWM as ctwm keeps crashing on Devuan Jessie and I havent yet been able to work out why ( plus Jessie has no binaries for lxdm that I have been able to track down and ctwm works in the way that I want it to with lxdm not Slim ). There will be a 32 bit version soon and a second version of Amber that I'm working on which does include ctwm and lxde based on Devuan Ascii - but they are not ready yet when they are I will post links here.

Crash-stop spring 2022

ikillerpulse ( requires tomato.py in working directory)

I've been working on this script for the last week or so. What does it do? It takes an input video/s,  converts to a format we can use f...