Comp 3000 ArtistX Report
Part I
Background
ArtistX is a free Linux distribution whose aim is to "turn a common computer into a full multimedia production studio"<ref name="axhome" >ArtistX homepage</ref>. The current version (at the time of writing) is based on the Ubuntu release 'Natty 11.04'. With multimedia developers in mind, its distinguishing feature is that it "includes almost all of the free multimedia software available for the GNU/Linux platform" so that someone who regularly uses graphics or audio development tools is ready to start right out of the box<ref name="axhome" >ArtistX homepage</ref>. The easiest way to download it is to go to the Download section of their website but be prepared to receive a big file; the .iso file is 3.6GB. If the size deters you at all keep in mind that there are (according to their site) over 2500 packages of free multimedia software that have to be able to run on a live DVD.
ArtistX seems to have undergone a couple of name changes since its inception by the Opensourcelab team from the Open Source Laboratory of Virtual Reality and Multi Media Park as we see from the earliest news releases on distrowatch<ref name=dwatch >ArtistX distrowatch news releases</ref>. Developed in Turin, Italy, Medialinux (which then became Mediainlinux) was based on Knoppix (with a couple of releases being based on Debian instead). The last release to use the name Mediainlinux was released in 2005 (this release was also the last to be based on Knoppix). It wasn't until 2007 that another release appeared, this time sporting the current name of ArtistX. The first few releases were based on Debian but since 2009 every release has been based on Ubuntu.
Considering the type of company who originally developed this distribution it's easy to speculate why they decided to make it. If you were the head of a multimedia company, wouldn't you want to have your developers working with high quality software? Wouldn't it be great if that software was free and readily available?
Currently it is unclear what company develops this distribution due to the following:
- the website has no 'about' section;
- there are no links to companies found on the website;
- the 'Copyleft' at the bottom of the ArtistX page reads "Copyleft © 2011. ArtistX - Audio Graphic Video Multimedia Linux" which, along with the 'Donation' button on the page, may indicate it having branched off into an independent company now;
- the person associated with the company through the distrowatch news releases<ref name=dwatch >ArtistX distrowatch news releases</ref> is a man named Marco Ghirlanda, who lists Project Manager and Team Leader at ArtistX as his current profession on his LinkedIn profile which also hints at an independent company now;
- looking at Mr. Ghirlanda's work history we see that he worked at Virtual Reality and Multi Media Park until February 2006 which is about the time when he started his job at ArtistX (January 2006) which seems to indicate that ArtistX branched off into a child company;
- further evidence that development of this product branched into its own company is that its predecessor in the distrowatch news release is Mediainlinux<ref name=dwatch >ArtistX distrowatch news releases</ref>;
- branching off would explain the lapse between the last Mediainlinux release and the first ArtistX release.
Faced with this information one would tend to speculate that ArtistX is its own company that develops itself and is probably a child company of Virtual Reality and Multi Media Park. There is a small piece of evidence against this conclusion however and that is the lack of any link to each other or mention of each other on their webpages.
Installation/Startup
For reasons of convenience I decided to install and test this operating system (OS) in a virtual machine (VM). Specifically, the setup was run from Oracle's VirtualBox version 4.1.2 from one of the computers in one of Carleton University 's many labs. The machine ran Windows 7 Enterprise with about 4 GB of RAM (although the VM only got 1419 MB) and an external drive from which to allocate the 20 GB disk size I gave the VM. If you're wondering why I would give this VM 20 GB it's because the ArtistX website documentation recommends 512 MB RAM and 20 GB disk space for installation. As for the number of processors, I left it at the default of 1. Hardware virtualization was enabled, specifically "Enable VT-x/AMD-V" and "Enable Nested Paging".
The installation process went fairly smooth with few hiccups. Once the VM was setup and the iso was loaded it presented a few options to select from. One small annoyance was that although I selected the 'install' option it seems to have ignored it and run from the live DVD anyway. It took about two to three minutes to boot up after which I ran the install executable on the desktop. The installation was straightforward and didn't require much user interaction, probably the same amount as Ubuntu requires; it asks for your language, asks you whether it should use the whole hard drive or partition it, asks you which drive to use, asks you where you are and finally asks you to create a user account. From there it does all of the work.
- The following screenshots walk you through the installation process. It's similar to Ubuntu as can be expected.
For me this whole process took just shy of an hour. I can only guess why it took so long but I'm sure the following affected it negatively: I enabled the boxes that asked if it should download updates from the web as it goes and then install some third party software; I was running other applications in Windows (namely a few instances of paint, Firefox and Microsoft Office Word); the VM had only one processor to work with; the amount of RAM wasn't very high; the university's internet probably wasn't very fast, as is often the case; the OS was being installed on an external hard drive attached via universal serial bus (USB).
After installation succeeded it asked me to restart the machine, so I did. I found it odd that when it starts back up it asks to choose between the Ubuntu OS, Ubuntu in recovery mode, two memory tests and sometimes another option of 'Previous Linuxes'. I told it to boot the regular Ubuntu. It seems to have been the right choice since ArtistX loaded normally after that. Another oddity though is that after I logged in as the user for the first time it gave me an warning message saying the hardware couldn't run a program (Unity) and told me to choose 'Ubuntu classic' at the login screen. I closed the message box and it continued fine to the desktop. Unfortunately the initial installation didn't install all of the updates. I was then presented with the option to update Ubuntu (which I declined) and to update, install and remove a bunch of random packages (although it told me it couldn't install all of them due to some error or other so it would do a partial install). This round of updates took a little more than an hour and another restart to complete and left my machine looking more like Ubuntu than it had initially. Finally, I installed the guest additions which thankfully took only a couple of minutes to install.
- The following screenshots walk you through the initial login after installation.
Basic Operation
A typical use case for someone who installed this distribution would likely be some kind of multimedia development. This distribution is good for that in that the tools are readily available and easily accessible. In the bottom left corner there is a button that resembles the Windows 'Start' button. Opening this 'Start menu' we are presented with a list of topics (e.g. 'emulators', 'video', 'music', 'graphics') that expand when highlighted to further menus. For example the 'graphics' menu presents another menu with '2d', '3d' and 'view' options, each of which would then expand into lists of programs relevant to '2d' or '3d' graphics development or programs to view photos.
Not being experienced in multimedia development, I found it hard to evaluate the choice of included programs. They're probably the best free software available but whether or not someone could use it for their job I couldn't really say. That being said it looks like they covered all of their bases (i.e. graphics and video creating/editing) and offered a few choices to do the major things like editing.
Being in the school's computer lab my computer didn't have speakers so I wasn't about to try any programs dealing with audio. Also, dealing with a fresh install I didn't have any files readily available for manipulation so really audio, video and image editing were out of the question. I figured the best type of program to test in my situation was a 3d modeling program. My biggest challenge though was that I've never done that before so I had a learning curve to overcome.
However it's not the modelling program I'm reviewing, it's how easy and comfortable it was to use. Although I didn't end up with any useful model due no doubt to my lack of experience, it was a relatively positive experience. The system in general didn't always respond to my input but it did a pretty good job although the graphics would lag a little every now and then. One program in particular couldn't run because it didn't have enough RAM. I'm not sure if that's indicative of the system generally requiring more RAM than I gave it but it seemed to do a pretty good job with what it had.
Usage Evaluation
Although I can't speak for multimedia developers I think this distribution met its design goal of "turning a normal computer into a multimedia production studio"<ref name="axhome" >ArtistX homepage</ref>. It is easy to use and easy to navigate to the programs you would need. It offers a plethora of programs that seem to cover the necessary topics but I can't vouch for how useful any of the programs would be to a real multimedia developer. I can't vouch for performance either due to not having really stressed the OS in terms of device I/O which is just as big of a concern as having the right tools. After all, there's no point in having the right tools if you can't use them. I don't know the internals of the system but I'm thinking they've optimized for device I/O. Going back to performance, I have mentioned that I experienced lag and occasionally user input was ignored. It was fast but it could be better. It's possible that these issues are a result of running in a VM with about a quarter of the RAM used by a modern, non-virtualized machine.
One thing in particular that I liked, stood out and is different from other Linux distributions I've seen is that the look and feel (especially on the desktop) resembles Windows. I think this was done to ease the switch to this Linux development environment from a Windows development environment which is important because that's probably what their target consumer is going to be doing.
To summarize, although I'm not experienced in the target field, I think that this distribution met its goals and that it's definitely worth looking into if you're a multimedia developer. After investing a few hours you may make a decision that will save you quite a bit of money. I think the biggest thing to look at is whether or not the given tools will be sufficient for your needs. I don't think a serious developer is going to be working inside a VM so the VM performance hit probably won't matter, but even if the issues were not due to the VM and the limited available RAM, they didn't seem bad enough in my limited interaction to be a deterrent.
Summary
Worth looking into if you're a multimedia developer despite the iso size and consequently the potentially long download time and despite the long installation time.
Part II
Software Packaging
As mentioned, this distribution is based off of Ubuntu which is itself based off of Debian so it would be no surprise to find that the software packaging is done in the same manner. I cannot say for sure, but from what I can gather it seems that this is the case. It seems that there are three utilities to manage packages with a Graphical User Interface (GUI): the 'Update Manager', which seems to deal only with updating packages, the 'Synaptic Package Manager', which deals with installing, updating and removing packages, and 'Aptitude' which does the same thing (I threw Aptitude in as a GUI because although it is accessed from the terminal, once started you can navigate the program with the mouse). As for a command-line utility this distribution comes with, as is implied by the presence of Synaptic and Aptitude, the Advanced Packaging Tool (APT) and therefore also the dpkg tool. Although Synaptic and Aptitude can be used with RPM packages, all evidence, especially ArtistX's lineage, leads me to conclude that this distribution uses the Debian package management system based on the 'deb' package format, which seems to be a binary package format opposed to a source package format<ref name="WikipediaSynaptic" >Wikipedia Synaptic description</ref><ref name="WikipediaAptitude" >Wikipedia Aptitude description</ref>.
Using the GUI utilities makes it incredibly easy to see what packages are installed (except using the Update Manager which just tells you what can be updated). In Synaptic, you simply need to open the program and select the 'Installed' option from the menu on the left which will then populate the list on the right whose items will all have those green rectangles to the left of their name(the green rectangle means they are installed). With Aptitude it's just as easy (although maybe not as pleasing to the eyes) but the lists are more specific. To see them you run the 'aptitude' command in a terminal, select 'Installed Packages', then the type of package you want to see and finally you select to see the list from a few options differing in whether or not they are supported and whether or not they are free. Using the command-line utilities it is just as simple to obtain a list of installed packages. Using dpkg, run 'dpkg -l' or 'dpkg --get-selection' if you want something less descriptive. It seems that there is no 'APT' way to get a listing but I figure that is because it would be redundant; APT is built on dpkg which already has this functionality so I guess they decided that people will just have to use dpkg<ref name="WikipediaAPT" >Wikipedia APT description</ref>.
- The following screenshots show what would be seen when using the GUI utilities to get package listings.
Using Synaptic to install and remove packages is quite easy; if you click the rectangle to the left of the package name you will be given a list of appropriate options such as marking for installation or removal of which you would select what you want to do; you then click the 'Apply' button at the top of the window (the button with the green checkmark), then confirm what you want to add/remove. Note 'mark for removal' and 'mark for complete removal' both remove the package, but the complete removal will remove all files related to the package like configuration files and user-created data. Using Aptitude to install and remove packages is pretty straightforward but you have to select the 'Become root' option from the 'Actions' menu to do it; to add a package, you navigate to it from the menu/listings and select it for installation (most easily done by using the '+' button); to remove packages you navigate to them and deselect them (most easily done using '-' button); When you've finished selecting/deselecting other packages, you press 'g' to actually add or remove the packages. Note that these things can also be done through the menu at the top, but it is easier to do it with the keyboard.
Using APT to add and remove packages is also easy; to add a package, run 'apt-get install package name ' (note that 'apt-get install package name-' will remove package name); to remove packages fully (even configuration files) run 'apt-get --purge remove package name ' (note that 'apt-get install package name+' will add package name) and to leave the configuration files in, don't use the purge option<ref name="DebianAPT" >Debian APT Obsolete Documentation (the reported APT instructions still work at time of writing though)</ref>. The harder part would be finding the package you want to install, but the available packages can be listed with 'apt-cache pkgnames'<ref name="APTCache" >How to use APT to list available packages</ref>. For adding and removing using dpkg use 'dpkg -i package.deb ' and 'dpkg --remove package ' or 'dpkg --purge package ' respectively. Note that the package must already be downloaded for you to be able to install it as reported in section 14.5 of Debian Tutorial (Obsolete Documentation)Chapter 14 - Removing and installing software (although the documentation is marked as obsolete, the information about dpkg seems to be accurate). Refer to The Debian GNU/Linux FAQ Chapter 8 - The Debian package management tools for more details on dpkg.
I would say the distribution offers an extensive catalog of applications. It does not cover everything, but it covers a lot. Let us remember that being lightweight is not really one of the design goals of this distribution, but this distribution does have a design goal. It is not meant to do everything. As such, it does not have many math applications, or physics simulators, or programming development environments but it is definitely not running on the bare-minimum! It's software encompasses multimedia (including photography and torrent applications), game emulators, access to the internet and browsers, e-mail applications, space simulators, geometry programs, calculators, text editors, printers/scanners, Linux terminal and even Windows software through 'Wine'. In other words, I would say that this distribution has a broad catalog of software as it does not not have one. It is not running on just the essentials and it is not particularly specially optimized for performance. In my opinion, something that comes installed with only basic utilities for user interaction (essentially a terminal, a web browser, a text editor and maybe a calculator or paint), something with as few packages as a user will allow would be a distribution that does not have an extensive catalog. As for the actual number of installed packages, I cannot say for sure as Synaptic and Aptitude report different numbers; Synaptic reports 6110 installed and Aptitude reports 3118 actual packages and 3857 virtual packages (according to Aptitude's menu description, 'virtual packages don't exist, they are names other packages use to require or provide some functionality').
Major Package Versions
Let it be stated now that I do not know how to determine whether or not a package has been modified by the distribution authors nor do I know how to determine how heavily it has changed from it's release, short of actually comparing the package source files if they are available.
alsa-utils: according to git release tag, the unmodified version of the included package of alsa-utils was committed (and I suppose released) Mon, 31 Jan 2011 at 14:19:55 and it seems to be the latest stable release according to the git summary. I do not see any evidence leading me to conclude that the ArtistX team changed this package, but the Ubuntu team may have seeing how the version identifier contains the word 'ubuntu' in it. According to Wikipedia, the alternative to using ALSA would be Open Sound System (OSS) but the Linux people have decided to deprecate OSS and use ALSA as the default sound API<ref name="WikipediaALSA" >Wikipedia ALSA article</ref><ref name="WikipediaOSS" >Wikipedia OSS article</ref>. ArtistX probably just accepted this default as it seems to be the way of the future.
cdparanoia: according to the CDParanoia website, the unmodified version of the included package was released on September 11, 2008 which, according to Wikipedia, is the last stable release<ref name="WikipediaCDParanoia" >Wikipedia CDParanoia article</ref>. I do not see any evidence leading me to conclude that the ArtistX team changed this package, but the Debian team may have seeing how the version identifier contains the word 'debian' in it. Being a multimedia-based distribution, it is easy to see why this package made the final cut as a CD-ripper is most likely something the target user will want. As for why it was chosen opposed to something else, my best guess would be that this was a default of the Ubuntu version that ArtistX was built on and either it sufficed or, if there are other CD-rippers (I was not able to look through all of the packages), they wanted to provide an alternative.
ffmpeg: it is hard to tell from the git summary what the last stable release was. It seems numbers are not significant in indicating age as release 0.5.5 seems to be the last stable release at the time of writing, having been committed November 6, 2011. The unmodified version of the included package seems to have been released around March 18, 2011 as that is the earliest mention of the version number 0.6.2. It seems that the Ubuntu team may have altered this package as their name appears in the package identifier. As to why it was included it seems to be a powerful video production tool and as such is definitely something the target users might want. As for why something else was not chosen, I do not know but I would once again have to guess that it was part of the default Ubuntu package that ArtistX was built on and they decided to just keep it. However, the package name has the name 'maverick' in it which may indicate that the ArtistX team actively took it from the 'Maverick Meerkat' Ubuntu release opposed to the 'Natty Narwhal' release it is based on.
karbon: once again it seems that the Ubuntu team may have altered this package as their name appears in the package identifier. It seems that karbon comes with the Calligra suite which is a very useful set of tools for a multimedia developer in that it comes with graphics editors but would be very useful for preparing presentations and reports which they probably have to do. According to the file offered for download as the latest release, the unmodified version of the package seems to be up to date with the last stable release. According to Wikipedia at the time of this writing this last release was on March 1, 2011. Note that there is a preview/beta release for the Calligra suite which is versioned as 2.4 beta 3.
blender: there is no version 2.58.1 in the release listing, but there is a 2.58a which I will take as synonymous. Version 2.58a was released July 8, 2011 and the most recent version at the time of writing is 2.60a which was released October 24, 2011. It seems as though the Ubuntu team altered the original package because the distribution nickname 'natty' appears in the version identifier. This tool was selected for inclusion in ArtistX because it seems to be really good at what it does and seems to be capable of producing sophisticated, quality results as we get an indication of by visiting either the Wikipedia article about them or their own website.
qsynth: the best indication I can find is that the installed version was released April 27, 2010 and the latest stable version (0.3.6) was released April 07, 2011. None of the available download links have the same version identifier as we see in this distribution. The only clue we have is that the identifier has 'rebuild' in it. I have not come across an 'ArtistX' identifier, but I have seen that Debian and Ubuntu use their names in the identifiers which could mean that the ArtistX team altered this package. It is also possible though that some third-party altered it and it was just included. As an audio-processing/manipulation GUI, it is only natural for the ArtistX team to make sure it was included.
gtkmorph: officially, it seems the last stable release of the original package was version 20060817 July 18, 2011 and the included package was modified by the Ubuntu team for their releases. According to the Ubuntu package overview, the included package was last released by Ubuntu as unstable on November 06, 2009 (note xmorph contains gtkmorph). It seems that Ubuntu included this package and ArtistX just left it in as it seems like a useful image manipulating tool (it warps pictures).
cinelerra: according to the HeroineWarrior download site, the latest release was version 4.3 on August 8, 2011. According to the launchpad page the included version is from June 02, 2011 and seems to have been modified by the Ubuntu team. One of the Cinelerra sites boasts that it ' is the most advanced non-linear video editor and compositor for Linux ' and screenshots hint that it is an effective video editor so I presume the ArtistX team left it in from the Ubuntu build because it helps them complete their multimedia package.
phonon: according to the Ubuntu change log from Launchpad, the installed version is from Monday, April 04, 2011 and seems to be based on version 4.5.0 of KDE 4. Note it seems that phonon comes packaged with KDE. The latest stable release seems to be 4.8 which was released on Thursday, October 27, 2011 according to the KDE release schedule. The Ubuntu team seems to have modified the original release to use it with their 'natty narwhal' release seeing as they have their own aforementioned development branch on Launchpad. The original ArtistX install had a KDE desktop environment (which explains why a lot of the other found packages are included because they are also KDE products e.g. Calligra suite) and phonon is a multimedia API included in the KDE package. I guess it was just easier to include the sufficient KDE package than to sift through all of the variant candidates and choose one.
gif2png: according to release history, version 2.5.2 was released November 11, 2009 and the most recent version is 2.5.4 which was released November 24, 2010. According to the Ubuntu Launchpad changelog the included version is not stable and was released Monday, January 18, 2010. They seem to have an updated unstable version (2.5.4-2) which was released Saturday, April 30, 2011. It is pretty clear that Ubuntu modified the original package as they have a development branch for it. It seems that when Ubuntu was developing the 'natty narwhal' release, 2.5.2 was the last released version and ArtistX inherited it. This is a useful conversion tool for image files and since things seem to be moving away from the gif format and towards the png format (according to the Wikipedia png article even the World Wide Web Consortium is pushing the move to png) it makes sense to have this tool. With an ever-increasing amount of multimedia content finding its way onto websites, the following aspect of the package description (as reported on the aforementioned Launchpad changelog) seems like an attractive feature as web developers maintain their websites: The package ' also contains the script "web2png" which converts entire websites from GIF to PNG and updates the HTML accordingly. '
Initialization
It seems that the distribution is started using a combination of Upstart and run-level System V init run scripts as Upstart is included as a package but not all scripts have been converted to Upstart. The way I determined that not all scripts had been converted was that some particular scripts in the /etc/init.d folder actually have specialized shell scripts and are not instead symlinks to /lib/init/upstart-job (according to the aforementioned 'upstart-job' script, it is a "Symlink target for initscripts that have been converted to Upstart."). Further evidence that a combination of startup methods is used is that the file '/etc/inittab', which was the configuration file used by System V init, is missing and there are a lot of configuration files in the '/etc/init' folder (which is where Upstart reads it's configuration from)<ref name="inittabMan" >'inittab' man page</ref>. Another useful installed package is the 'Boot-Up Manager' (BUM) package which is a graphical run-script manager. It seems that BUM is smart enough to use Upstart when necessary. I determined this by running a simple experiment with a colleague of mine, Nick Porter, as follows: we used the command 'initctl list' in the terminal to force Upstart to list all of the services it was managing as well as their states; choosing one, we told Upstart to stop it using 'sudo service xxx stop' and verified it's state by once again using 'initctl list'; we then checked BUM to see it was disabled and it was; we then told BUM to activate xxx which it reported as successful and updated it's list of running services; we finally checked 'initctl list' again and found that xxx was in fact running again.
Using the information I found at the BUM website (namely that things run in /etc/rcS.d are important as they are the first things run with runscripts) and the startup scripts listed in BUM ordered by 'run level S', I found that five major programs initially run are s30etc-setserial (but only if manual serial device configuration chosen, otherwise it happens later using the /etc/init.d/setserial file as reported in the s30etc-setserial script comments), S37apparmor, S47lm-sensors, S61svgalib-bin and X11-common (with the S70x11-common script calling /etc/init.d/x11-common) in that order (not necessarily one after the other, but the first listed runs sometime before the second listed, etc.). I do not think that these could run in parallel because this particular distribution handles them by using run scripts, not using Upstart.
References
<references />