Archive for the ‘Linux Audio & Video’ Category
Saturday, January 14th, 2012 Mounting ISO files in Linux is easy with mount cmd, however remembering the exact command one has to issue is a hard task because mounting ISO files is not a common task.
Mounting ISO files directly by clicking on the ISO file is very nice, especially for lazy people uninitiated with the command line 😉
Besides that I'm sure many Windows users are curious if there is an equivallent program to DaemonTools for Linux / BSD*?
The answer to this question is YES!
There are two major programs which can be used as a DaemonTools substitute on Linux:
These are FuriousISOMount and AcetoneISO
AcetoneISO is more known and I've used it some long time ago and if I'm correct it used to be one of the first ISO Mount GUI programs for Linux. There is a project called GMount-ISO / (GMountISO) which of the time of writting this article seems to be dead (at least I couldn't find the source code).
Luckily FuriousISOMount and AcetoneISO are pretty easy to install and either one of the two is nowdays existing in most Linux distributions.
Probably the programs can also be easily run on BSD platform also quite easily using bsd linux emulation.
If someone has tried something to mount GUIs in Free/Net/OpenBSD, I'll be interesting to hear how?
1. Mount ISO files GUI in GNOME with Furius ISO Mount
FuriousISOMount is a simple Gtk+ interface to mount -t iso9660 -o loop command.
To start using the program on Debian / Ubuntu install with apt;
debian:~# apt-get install furiusisomount
The following extra packages will be installed:
fuseiso fuseiso9660 libumlib0
The following NEW packages will be installed:
furiusisomount fuseiso fuseiso9660 libumlib0
…
To access the program in GNOME after install use;
Applications -> Accessories -> Furious ISO Mount

When mounting it is important to choose Loop option to mount the iso instead of Fuse
After the program is installed to associate the (.iso) ISO files, to permanently be opened with furiusisomount roll over the .iso file and choose Open With -> Other Application -> (Use a custom command) -> furiusisomount

2. Mount ISO Files in KDE Graphical Environment with AcetoneISO
AcetoneISO is build on top of KDE's QT library and isway more feature rich than furiousisomount.
Installing AcetoneISO Ubuntu and Debian is done with:
debian:~# apt-get install acetoneiso
The following NEW packages will be installed:
acetoneiso gnupg-agent gnupg2 libksba8 pinentry-gtk2 pinentry-qt4
0 upgraded, 6 newly installed, 0 to remove and 35 not upgraded.
Need to get 3,963 kB of archives.
After this operation, 8,974 kB of additional disk space will be used.
...

AcetoneISO supports:
- conversion between different ISO formats
- burn images to disc
- split ISO image volumes
- encrypt images
- extract password protected files
Complete list of the rich functionality AcetoneISO offers is to be found on http://www.acetoneteam.org/viewpage.php?page_id=6
To start the program via the GNOME menus use;
Applications -> Accessories -> Sound & Video -> AcetoneISO
I personally don't like AcetoneISO as I'm not a KDE user and I see the functionality this program offers as to rich and mostly unnecessery for the simple purpose of mounting an ISO.
3. Mount ISO image files using the mount command
If you're a console guy and still prefer mounting ISO with the mount command instead of using fancy gui stuff use:
# mount -t iso9660 -o loop /home/binary/someiso.iso /home/username/Iso_Directory_Name
Tags: AcetoneISO, Auto, BSD, cmd, custom, debian gnu, Draft, emulation, exact command, file, Files, Free, GMount-ISO, Gnome, graphical environment, gtk interface, guis, image files, ISO, iso file, iso files, iso9660, libumlib, long time, loop command, most linux distributions, nbsp, Open, OpenBSD, option, platform, roll, someone, something, source code, substitute, time, Ubuntu, windows users, YES
Posted in Gnome, Linux, Linux and FreeBSD Desktop, Linux Audio & Video | No Comments »
Monday, January 23rd, 2012 Every now and then my gnome keyboard layout switcher hangs. When my keyboard switcher hangs I can't switch between my two defined languages English and my native Bulgarian
The hang up of the language switcher is makes switching between my two defined languages impossible until I logoff and login again or kill the current GNOME session with CTRL+ALT+BACKSPACE.
Sometimes logging off again is not necessery so I have to logoff and login to GNOME few times until finally the gnome keyboard layout switcher reacts to an issued change language via Alt+Shift or by clicking on it.
Unfortunately the gnome keyboard layout switcher is not available as a process so there is no way to simply kill -HUP the process responsible for it.
Just until today I couldn't find a way how to restart the gnome keyboard layout switcher when it hangs.
Now today I finally found a way to restart it without restarting the whole gnome session or killing completely the Xorg server.
To "fix" up the keyboard switcher when its not responding, I had to issue in gnome-terminal or via ALT+F2:
hipo@noah:~$ gnome-keyboard-properties
As you can see in the screenshot below, one has to press the Move Up button to switch the default order of languages. Once this is done the keyboard layout switcher starts working again. Once working I just used the move up once again to revert back my default language order as it used to be.

I'm not sure what exactly is causing the GNOME 2 keyboard layout switcher to hang (when it does), my guess is it is due to some kind of version incompitability between gnome versions or configurations specific to my computer. In the past I was running Debian Testing/Unstable and then downgraded back to Debian stable, probably this is the reason of the language switcher hangs.
Tags: Button, change, change language, Computer, default language, f2, Gnome, guess, hipo, HUP, incompitability, keyboard layout, keyboard switcher, kind, languages, layout, login, move, necessery, noah, order, reason, revert, screenshot, switch, switcher, testing, today, Unstable, version, way
Posted in Gnome, Linux, Linux and FreeBSD Desktop, Linux Audio & Video | No Comments »
Thursday, January 26th, 2012 I needed to enable automatic passwordless login in my Debian GNU/Linux …
GNOME and GDM desktop environments developed a lot through the last few years, achieving these simple task was doable only through gdm manual configurations. Nowdays creatiion of user to login without any password is easy via easy to use GUI program.
In this article I'll explain, few ways to enable automatic login in GNOMEThe quickest way is to navigate in GNOMEs gnome-control-center -> Login Window submenu
To do so launch gnome-control-center – press (ALT+F2) keys and type in gnome-control-center, or launch via command line in gnome-terminal or xterm:
hipo@debian:~$ gnome-control-center
While inside the control center find en launch the Login Window as in the screenshot below:
Login Window configuration can be also done directly by launching gdmsetup from command line e.g.:
hipo@debian:~$ /usr/sbin/gdmsetup
...
gdmsetup will further pop up a window asking to type in the root password to allow you to customize, how gdm will deal with user logins.

For who might not know gnome well architecture, gdmsetup is part of the gdm (Gnome Display Manager) package and is the default login program used to login the end user in most of the modern Linux based distributions as well as BSDs. gdm logins the users on many of the free software OS desktop environments like GNOME, LXDE, XFCE… Just to name a few of the many Linuces counting on GDM to handle the user logins: Ubuntu, Xubuntu, Fedora, Debian, Linux Mint, OpenSUSE etc.
Once the Login Windows Prefences appears go to the Security tab.
As you can see in the screenshot, what you can do with gdmsetup it is pretty self-explanatory:

The two options of interests for user authorization without pass are:
a. Enable Automatic Login
To enable:- put a tick on Enable Automatic Login
– from user dropdown menu, choose the user which has to be configured
b. Enable Timed Login
Enable Automatic Login lets the user login without any user password input, immediately after the configured username is typed in (if gdm is with type username prompt).
In case where the usernames are represented by Avatars, (like its in most user friendly Linux distributions), once clicked avatar the user is logged in.
When Enable Timed Login is ticked and a username is choosen or typed, instead of immediately logging the user on click or username input, the user logging is delayed with a number of set seconds .
Enabling the Automatic and / or Timed Login is doable also using few simple configurations directives in /etc/gdm/custom.conf. In many distros /etc/gdm/custom.conf will be not existing and hence the file has to be created.
To enable delayed autologin without password for a user using gdm config:
Create the file with a text editor ( vim, joe, nano )whatever your favourity and place inside:
[daemon]
TimedLoginEnable=true
TimedLogin=hipo
TimedLoginDelay=30
The above gdm config vars can also be placed inside /etc/gdm/gdm.conf but for the sake of clarity its better if custom.conf is used.
If you don't want to bother with a text editor copy paste inside any terminal lets say mlterm :
echo '[daemon]' >> /etc/gdm/custom.conf
echo 'TimedLoginEnable=true' >> /etc/gdm/custom.conf
echo 'TimedLogin=hipo' >> /etc/gdm/custom.conf
echo 'TimedLoginDelay=30' >> /etc/gdm/custom.conf
To enable auto-login for a user on a first PC boot in /etc/gdm/custom.conf put:
[daemon]
AutomaticLoginEnable=true
AutomaticLogin=hipo
An auto login can also be done by using the TimedLoginDelay gdm config directive by putting insetad of the previous code a code like:
[daemon]
TimedLoginEnable=true
TimedLogin=hipo
TimedLoginDelay=0
Where hipo is my desired username that will autolog, and as you see the LoginDelay is 0 (e.g. no gdm login delay)
I attempted to also allow autologin for several users with some cinfigurations like:
[daemon]
AutomaticLoginEnable=true
AutomaticLogin=hipo
AutomaticLogin=other-username
as well as configurations like:
[daemon]
TimedLoginEnable=true
TimedLogin=hipo
TimedLogin=other-username
TimedLoginDelay=0
In gdm3, the location of GDM config files should be /etc/gdm3/ directory, anyways the configurations directives should be working just like in gdm2
After any configuration changes to gdm.conf or custom.conf to load the new settings in gdm a gdm daemon restart is necessery with cmd:
root@debian:~# /etc/init.d/gdm restart
...
Note that, weirdly not using the gdm init script and trying to kill -HUP $(pidof gdm) / killall -9 gdm will not make gdm to load its new configurations. So always restart via /etc/init.d/gdm restart after gdm conf change.
Another alternative method to achieve login without a password input is by creating a passwordless user account on the system. This method is not recommended though, especially for machines with real IP addresses visible from the Internet (with lets say enabled) SSHD access.
Using a passwordless system account can expose the system to a severe security risk!!! Anyways, for systems not running telnet/sshd or any other system remote access service creating a user without an empty password might be not such a bad idea.
To make a user auto login without any password input /etc/shadow file (storing all user account information) needs an edit.
This is an example user entry taken from /etc/shadow:
test:$6$OPdvXArZ$ktujC6bBh9JNaCz8E9v61yNeWcJHqQiuNk8eBzevcwcIl8KFvQzJ6aBCvVpIs0Lf5MAbHjjqftUeN9crWUfxs.:15275:0:99999:7:::Now to make the test user login directly without any pass input, one can just remove his encrypted password string. After the change the user line in /etc/shadow, should be:
test::15275:0:99999:7:::
If the user is created just from scratch e.g. (a new user) that needs to login passwordless in GDM, create it without password:
root@debian:~# adduser -d newusername
To sum it up the good thing about the remove password hash method to auto login a user is that it will allow user or users login across all Display Managers (not only GDM specific).
The bad side is it is very insecure and therefore in most times a really bad practice.
I guess the described ways to login without password in Gdm on FreeBSD should similar, unfortunately right now I have not access to BSD running desktop to test it. If someone has tested it and can confirm it works it will be great to drop a comment.
Tags: Alt, architecture, Auto, automatic login, center, config, control, custom, customize, debian gnu, Desktop, desktop environments, distributions, Draft, dropdown menu, fedora, file, GDM, Gnome, gnome control center, gnomes, GNOMEThe, gnu linux, launch, linux gnome, login, login windows, logins, manual configurations, mint, password, root, screenshot, security tab, text, tick, TimedLoginDelay, type, username, window, window configuration, xterm
Posted in Gnome, Linux, Linux and FreeBSD Desktop, Linux Audio & Video, Various | No Comments »
Wednesday, February 1st, 2012 Earlier I've blogged on How to Work Around periodically occuring TrackPoint Thinkpad R61 issues on GNU / Linux . Actually I thought the fix I suggested there is working but I was wrong as the problems with the trackpoint reappeared at twice or thrice a day.
My suggested fix was the use of one script that does periodically change the trackpoint speed and sensitivity to certain numbers.
The fix script to the trackpoint hanging issue is here
Originally I wrote the script has to be set to execute through crontab on a periods like:
0,30 * * * * /usr/sbin/restart_trackpoint.sh >/dev/null 2>&1
Actually the correct values for the crontab if you use my restart_trackpoint.sh script are:
0,5,10,15,20,25,30,35,40,45,50,55,58 * * * * /usr/sbin/restart_trackpoint.sh >/dev/null 2>&3
ig it has to be set the script is issued every 5 minutes to minimize the possibility for the Thinkpad trackpoint hang up issue.
One other thing that helps if trackpoint stucks is setting in /etc/rc.local is psmouse module to load with resetafter= parameter:
echo '/sbin/rmmod psmouse; /sbin/modprobe psmouse resetafter=30' >> /etc/rc.local
Tags: amp, blogged, change, correct values, crontab, dev, fix, gnu linux, hang ups, ig, issue, issue one, Linux, modprobe, Module, mouse, mouse pointer, nbsp, null, parameter, periods, psmouse, resetafter, rmmod, sbin, sensitivity, speed, stucks, thinkpad, thrice, trackpoint, ups, use, usr
Posted in Linux, Linux and FreeBSD Desktop, Linux Audio & Video | 1 Comment »
Tuesday, January 31st, 2012 
In above graphics you see development of GNU/Linux through the years startingfrom 1992 to 2010. You see for the past 18 years the number of kernel developers has rasised from 100 to 1000 (10 times). The number of super computers based on GNU / Linux operating system was only 1, while in 2011 they were already 413. Just for information Top 10 Super computers in terms of CPU power are running on top of some Linux + GNU environment based operating system.

You see the number of Patented software increased approximate 3 times for 16 years … PC shipped with Linux all oer the world increased almost 10 times.

A survey was run among the biggest Linux convention LinuxCon aiming to find out the share difference between users using different distros, as well as a survey to answer the question where is Linux mostly used. Obviously even though the Ubuntu desktop boom this years Linux is still mostly used in work location, home desktop / notebook users are almost 3 times less.
The survey show the sad results, the Linux in school and academic communities is less used than for professional purposes. On the desktop things has slightly changed, for the last 5-7 years. From the position of being a Linux Desktop leading OS, Fedora went into the shadows in favour of the "less free" (in terms of Freedom) Ubuntu.

All system administrators knows well Linux is a very common choice for building small or middle enterprise business information systems. Hugest platforms which are the web backbone today like Google, Facebook, Twitter, Stock Exchanges, Mail services, various technical equipment etc. runs on top of Linux. Even though the huge number of adoption Linux and free software is though to not be legally assured this is well known among free software and open source evangelist under the term FUD.

Android found its way also in Samsung Galaxy and a number of tablet devices running Linux based kernel OS was shipped in 2011.
With the raise of Android which (base is mostly Linux kernel and less GNU tools based). The spread of Linux has seen a huge raise on the mobile (smart phones) market as well. You see in above chart as of 2011 Android sells had the highest market share with 37%.
The year 2011 was not among the best Linux users anywas, as Unity does turned away many users to become Linux converts. The big GNOME 3 mess, which was called by Linus Toravlds a "holy mess" , along with the kernel.org's security break in does also contributed that year 2011 ended up as a bad one for free software.

As of August 2011, the global Linux market approximate market share is about 3% of all the installed OSes currently existing in the world. And compared to 5 years ago there is a little decline in the share. I believe the 2012 will be a better year for both development and adoption of free software and Linux.
Tags: Auto, business information systems, convention, cpu power, Desktop, distros, Draft, enterprise, equipment, facebook, gnu linux, google, home desktop, information, kernel developers, Linux, linux desktop, linux gnu, linux operating system, location, mail services, mess, nbsp, notebook users, number, oer, power, professional purposes, quot, sad results, show, software, Stock, stock exchanges, survey, term fud, Ubuntu, work, work location, year
Posted in Linux, Linux and FreeBSD Desktop, Linux Audio & Video, Various | No Comments »
Tuesday, January 24th, 2012 I needed a G/Linux distribution that will work fine on an old PC with hardware configuration:
guest@xubuntu-desktop:~$ grep -i cpu /proc/cpuinfo; free -m; df -h
cpu family : 6
cpu MHz : 797.613cpuid level : 2
total used free shared buffers cachedMem: 497 470 26 0 35 259-/+ buffers/cache: 176 321Swap: 1454 10 1444File System Size Used Free % Mounted on
/dev/sda1 37G 4,3G 31G 13% /
I've read a lot on the internet and come to the conclusion I have basicly two popular Linux distros as option to install on archaic x86 hardware:
1. Puppy Linux
2. Xubuntu Linux
I first give Puppy Linux a try. It worked quite nice, but the interface was too old school and the desktop felt like a bit out-dated.
Besides that many of the Puppy Linux shipped programs were not a mainstream programs available across most of the other Linux distributions.
Many of the programs shipped with Puppy are great, but more suitable for a computer geek than for a Windows accustomed GUI user.

My opinion on Puppy (from what I've seen) is that its great distro for old school hardcore Linux users.
Anyways its not suitable for absolutely "uniniated" users who encounter Linux for a first time.
Secondly I installed Xubuntu. Most of the archaic hardware on the PC was detected during install time (a pleasently surprise).
Xubunto works fast and Xfce menus opens "light fast" as on the old 800Mhz pc with 512 mem of ram. Generally the GUI worked quick and responsive.
To conclude I liked Xubuntu a lot and I strongly recommend it to anyone who want to quickly roll on Linux on an old PC.

What impressed me most is the minimalistic look & feel and simplicity.
I'm sure Debian will be working great on old hardware as well, however configuring it will be hell a lot of work. Thus I think Xubuntu is a good choice for people who want save some time in obscure configurations and easily have a neat Linux ready for desktop use.
Tags: Auto, bit, buffers, computer geek, CPU, cpu family, cpu mhz, cpuid, Desktop, distribution, distro, Draft, family, Free, geek, hardcore, hardware 1, hardware configuration, hardware pc, installing linux, level, Linux, linux distribution, linux distributions, linux distros, mainstream, mainstream programs, menus, Mounted, old hardware, old school, opinion, option, puppy linux, quot, school hardcore, sda, simplicity, size, thoughs, time, work, x86 hardware
Posted in Linux, Linux and FreeBSD Desktop, Linux Audio & Video | No Comments »
Monday, January 23rd, 2012 I've not played audio CD for ages. Anyways I had to set up one computer with Linux just recently and one of the requirements was to be able to play audiocds.
I was surprised that actually a was having issue with such as simple tasks.
Here is how i come with this article.
If you encounter errors playing Audio CDs on any Linux distro in VLC or other players, you might need to apply the following fix.
root@xubuntu-desktop:~# apt-get install xubuntu-restricted-extras
...
root@xubuntu-desktop:~# apt-get install ubuntu-restricted-extras
...
I'm not sure if this packages are required, anyways having them installed is a good idea especially on computers which will have to support as much multimedia as possible.
Trying to play a CD with VLC the result was not nice, you see in the picture above the error that poped up while trying it with VLC:

Due to wrong configuration of the play device VLC will be looking to read the audio cd from.
To succesfully play the audiocd invoke VLC command with a cdda///dev/sr0 argument like so:
hipo@xubuntu-desktop:~$ vlc cdda:///dev/sr0
...
To permanently fix the error you will have to edit ~/.config/vlc/vlcrc :
Inside ~/.config/vlc/vlcrc find the lines:
dvd=/dev/cdrom
Substitute the above line with:
dvd=/dev/sr0
Next find the line:
vcd=/dev/cdrom
Change the above line with:
vcd=/dev/sr0
Due to a bug in generating vlcrc , the dvd= might be set also to other messy unreadable characters (different from /dev/cdrom). This can also be the reason why it fails to properly read the disc.
If dvd= and vcd is set to a different unreadable characters delete them and substitute with /dev/sr0 .I've experienced this on Xubuntu Linux with a Bulgarian localization (probably the bug can be seen in other Linuxes when GNOME is installed in Russian, Chineese and other UTF-8 languages.
The strange error can be observed also in other players when the localization is set to someone's native language …
Alternative solution is to install and use rhythmbox instead of VLC.
Other program to play audio CDs called workman , you will have to get used to the interface which uses gtk1 and therefore obsolete. Putting aside the ugly interface it works 😉
Tags: Anyways, argument, Audio, audio cd, audio cds, audioCD, Auto, cdda, change, chineese, Computer, config, disc, Draft, error c, fix, freebsd, Gnome, GNU, gnu linux, gtk, hipo, languages, Linux, linux distro, linuxes, localization, picture, Play, program, reason, root, someone, strange error, unreadable characters, UTF, VCD, VLC, workman
Posted in Linux, Linux and FreeBSD Desktop, Linux Audio & Video | No Comments »
Sunday, January 22nd, 2012 If you still have some old dusty CDs left on the CD shelf, its quite cool to give it a ride in a rainy morning.
As I enjoy working in console so much, I thought it might be interesting to share how music audio CDs can be listened in plain text mode console.
For all console / terminal geeks Linux and BSDs can be equipped with a number of text/console audio cd console players.
There are plenty of free software console cd audio players on the net, however I found cdplay , cdcd and dcd to be the most popular ones.
On Debian and Ubuntu G*/Linuces cdplay and cdcd are installable via apt. To install cdtool:
root@xubuntu-desktop:~# apt-get install cdtool
...
cdtool package, contains a number of commands enabling you to listen/stop/shuffle/eject/get info about cd audio volumes. cdtool provides the following binaries:
cdeject
cdclose
cdir
cdinfo
cdpause
cdplay
cdstop
cdvolume
cdshuffle
Install cdcd on Debian and alike by typing:
root@xubuntu-desktop:~# apt-get install cdcd
...
cdcd has shell like interface the most basic use of it is with:
root@xubuntu-desktop:~# cdcd
cdcd> play
To play audiocds in console on FreeBSD , a command tool dcd is available and installable through ports.
To install it issue:
root@freebsd# cd /usr/ports/audio/dcd
root@freebsd# make install clean
...
dcd is also available for Linux but on most GNU/Linuxes it has to be built from source.
Lets say you'd like to Play the 5th song from audio CD:
freebsd# dcd 5
dcd has plenty of great arguments, to get some fun with it check the man page.
Another program that can be used to play audio CDs on both Linux and BSDs is the "classical" mplayer .
To play AUDIO CD with mplayer the command line to use is:
root@debian:~# mplayer -cdrom-device /dev/sr0 cdda:// -cache 5000
...
The argument -cache 5000 has to be passed to to work around choppy sound (if for example audio playback interruptions every few milliseconds).
For people who are keen on ncurses (Midnight Commander) like command line interfaces you might enjoy Herrie – a minimalistic music player that supports plenty of sound formats, including audiocds.
Herrie is available for Debian and most deb based modern distros via apt, e.g.:
root@xubuntu-desktop:~# apt-get install herrie
...

Ports are also available for FreeBSD, NetBSD and OpenBSD.
To install on FreeBSD:
root@freebsd# cd /usr/ports/audio/herrie
root@freebsd# make install clean
I'll be happy to hear feedback and recommendations on any other console audio cd players I might forgot to mention.
Which is your favourite console text based cd audio player?
Tags: audio cd, audio cds, audio music, audio playback, Auto, binaries, BSDs, cac, cdcd, cdclose, cdeject, cdejectcdclose, cdinfo, cdircdinfocdpausecdplay, cdplay, cdvolume, cdvolumecdshuffleInstall, choppy sound, command tool, dcd, Draft, Free, geeks, gnu linux, herrie, info, Install, interruptions, linuxes, man page, midnight commander, milliseconds, mplayer, music cds, number, Open, package, page, Play, player, playTo, ports, quot, rainy morning, root, shelf, Shell, software, terminal, text, text mode, tool, Ubuntu, usr
Posted in FreeBSD, Linux, Linux and FreeBSD Desktop, Linux Audio & Video | 1 Comment »
Wednesday, January 11th, 2012
I remember GNU / Linux, 11 years from now, times when ALSA was not standardly shipped with Linux.
Back then ALSA still lacked good support for many SoundCards and was still a "baby project".
In that time what we used to have sound on Linux was OSS – Open Sound System. OSS emerged right after the first ever Linux sound system VoxWare (formerly known as the Linux Sound Driver).
Back in those days OSS was used for multimedia support on both GNU / Linux and BSD based free OSes. It was few years later when I heard and used ALSA for a fist time and it wasn't really a love from first sigth.
One can easily find out by the name ALSA it is a system especially built for the Linux kernel and that's one of the reasosn why *BSD systems has their custom separate sound system.
There is plenty of reasons why OSS was substituted with ALSA. Main reason was its commercial like license, OSS wasn't completely "open source" GPLed (free software), there was resctions on use of OSS for commercial goals.
With its emerge ALSA started to push away OSS slowly. Somewhere in 2003, alsa has officially entered the Linux kernel source and until 2005 it was the default standard for all GNU / Linux operating systems.
As of time of writting ALSA has become the only sound system to have support for multiple sound card devices for Linux.
My experiences with ALSA, however ain't so nice if I take a look in my past experiences.
Since the very beginning of using ALSA, I had plenty of troubles with configuring properly my sound card not to mention, even after configuring it the MIDI support was not there.
Besides all the troubles main problems were stemming from the many applications still written to use OSS as sound system and hence with those sound was impossible with ALSA.The most problematic thing about apps written with OSS in mind was all of them tried to stream sound via /dev/dsp (OSS Digital Sound Processor), since alsa did not used /dev/dsp those programs was soundless.
On the other hand OSS was creating issues as well, one severe problem with OSS was the inability to stream multiple sounds simultaneously, because each sound stream required to pass voice through /dev/dsp and usually there was only one /dev/dsp.
The message;
/dev/dsp: Device or resource busy
and the proceeding irritation that used to annoy us in the early GNU / Linux days had of course some raw workarounds hacks but generally the workaround did not fix problems always.
Introduction of alsa free us from /dev/dsp issues but on the other handy has created a whole ocean of new BIG problems …
ALSA has modular structure and this imposes a great problem nowdays. The modular architecture is generally a good idea, however the way this was implemented within ALSA is far away from clear and easy to understand by the end user and therefore makes it very unintuitive and obscure.
Alsa misses simplicity which somehow was partially in the days of OSS. Thinking over the general situation with Linux multimedia nowdays, I believe it was exactly ALSA Project responsible for the so delayed mass Desktop Linux adoption.
Many long year standing Linux users had certainly had the alsa troubles during new system installs (correct me if I'm wrong).
The only fix to multiple soundcard initialization problems was to download alsa source and compile from source and hence made it hard and discouraging for people giving Linux a try.
This kind of ALSA "brokenness" pattern continues even to this very day (in Debian) Linux and probably building the alsa system from source is among the good practices to have a functional Linux sound system…
With all said the historic reason why ALSA was not quickly adopted and still is not a preferred default system for many applications ported to Free Software OSes by commercial company vendors is clear. Its simply not working out of the box …
Hope some ALSA developers will read this post work on changing the crazy structure of ALSA over complexity. ALSA needs automate way to solve issues with itself, the configuration should be more trivial and unified if Linux has to become more attractive for Desktop adoption.
Anyways, after the few words of history and indicating my pesonal observations on ALSA. I will proceed and explain few things on how ALSA can be configured to support and play nice with OSS dependant programs as well some basic explanations on common incompatibility between esd and pulseaudio and how this can be fixed;.
To assure nowdays OSS API built programs and games would work with Alsa its necessery to have installed;
ALSA wrapper for OSS applications
On Debian, Ubuntu, Fedora and most Linux distributions the Alsa OSS compatability layer comes under a (deb / rpm) package named alsa-oss
To install OSS compatability on Debian, Ubuntu and the like Debian based distributions issue:
debian:~# apt-get install alsa-oss alsaplayer-oss
...
On Fedora and other rpm based distributions install is with:
[root@fedora ~]# yum install alsa-oss alsaplayer-oss
...
alsa-oss provides with a command called aoss that should be used to work around some issues with old applications still depending on OSS:
hipo@debian:~$ aoss programName
Using aoss is helpful especially in situations if you have to run programs which deal with MIDI and others which somehow want to use /dev/dsp
There is also alternative way to enable alsa native support for MIDI and OSS by loading 3 kernel modules:
debian:~# modprobe snd-seq-oss
debian:~# modprobe snd-pcm-oss
debian:~# modprobe snd-mixer-oss
Note! The three modules has to be separately build using kernel source at most cases and does not come with most Linux distributions, so on many installations (including my current), they will be missing. If for you they load properly or you have customly build them add them also to load on system boot, like so:
echo 'snd-seq-oss' >> /etc/modules
echo 'snd-pcm-oss' >> /etc/modules
echo 'snd-mixer-oss' >> /etc/modules
The Linux sound situation becomes even more messy when ESD enters the scene. Many of the novice new Linux users certainly don't remember (Enlightened Sound Daemon) . ESD historically preceded PulseAudio . Hence it will be good to mention ESD was used for few years in GNOME and in around 2006-2007 it was substituted by PulseAudio.
Many applications, however who was ported or written for Linux especially (the proprietary ported ones) was already built to work with ESD and even though newer GNOME releases was fully using pulseaudio, this (non free software apps and games) were still depending on ESD.
The situation was partially fixed by creation of module for pulseaudio which added emulation support for esd . This was done by a module library for pulseaudio called libprotocol-esound.so
The package for almost all Linux distributions which does the esd emulation via pulse is pulseaudio-esound-compat . In latest Fedora Linux pulseaudio-esound-compat is installed by default.
In Debian and other Linux distributions it might need to be installed via apt with;
debian:~# apt-get install pulseaudio-esound-compat
...
pulseaudio-esound-compat solves some of the ESD app incompability but not always …
Handy tool also worthy to mention in solving PulseAudio, OSS incompatibility issues is padsp
padsp is helpful in solving obsolete issues with OSS applications (trying to access /dev/dsp) and therefore unable to communicate with Pulseaudio
padsp – is a PulseAudio OSS Wrapper.
An example where padsp is helpful is in case of /dev/dsp errors like:
/dev/dsp: Device or resource busy
Could not open /dev/dsp
Another common problem with sound on Linux is when running windows applications (running windows games with wine).
Quite often sound fails to work since wine tries to directly communicate with alsa and fails because alsa sound channel is taken by pulseaudio.
To workaround wine issues with pulseaudio, one of the solutions is to temporary stop pulseaudio, before running the wine emulated application:
hipo@debian:~$ pulseaudio --kill
Later on when the windows wine emulation is completed, pulseaudio has to be started once again in order to make Pulseaudio applications produce sound again, e.g. one has to issue:
hipo@debian:~$ pulseaudio --start
Alternative way to workaround wine sound issues is by using a script to kill pulseaudio every second. Here is fix_pulseaudio_wine_sound_probs.sh script
This script was reported by many people as fix to problems with wine games failing to play sounds and music, anyhow I personally prefer using the stop / start pulseaudio method.
The picture below is taken from Wikipedia and illustrates, clearly the intergalactical complexity of sound systems on Gnu / Linux and BSD

I just hope one day this (OSS, ALSA, esd, Pulseaudio) mess will be over! In the mean time I hope my suggested work arounds helps someone. If someone has a better more unified script or solution please share in comments
Tags: alsa, apps, baby project, BSD, bsd systems, card, commercial goals, custom, Desktop, Driver, dsp, experiences, fist time, free oses, GNU, GPLed, Linux, linux kernel source, linux programs, love, midi support, multimedia support, nbsp, Open, open source, operating systems, pulseaudio, quot, reason, right, software, sound card, soundcards, structure, support, time, Ubuntu, wine, wine games
Posted in Linux, Linux and FreeBSD Desktop, Linux Audio & Video | 3 Comments »
Thursday, September 10th, 2009 While playing with my installed programs on my recently updated Debian I stepped into a problem with /usr/lib32/alsa-lib/libasound_module_pcm_pulse.so. It seems the library was linked to two non-existing libraries: /emul/ia32-linux/lib/libwrap.so.0 as well as /emul/ia32-linux/usr/lib/libgdbm.so.3. A temporary solution to the issue is pointed out in Debian of the Debian Bug reports . As the report reads to solve that it’s required to:
1. Download libwrap0_7.6.q-18_i386.deb and libgdbm3_1.8.3-6+b1_i386.deb.
2. Extract the packages:dpkg -X libwrap0_7.6.q-18_i386.deb /emul/ia32-linux/dpkg -X libgdbm3_1.8.3-6+b1_i386.deb /emul/ia32-linux/
3. echo /emul/ia32-linux/lib >> /etc/ld.so.conf.d/ia32.conf
4. Execute /sbin/ldconfig
5. Check if all is properly linkedExecute ldd /usr/lib32/alsa-lib/libasound_module_pcm_pulse.so|grep -i “not found”Hopefully all should be fixed now.
Tags: b1, bug reports, conf, deb, Debian, debian bug, download, dpkg, emul, grep, issue, ld, ldquo, lib, libasound, libgdbm, libraries, linkedExecute, Linux, Module, pulse, report, rsquo, sbin, sid, solution, squeeze, temporary solution, Unstable, usr
Posted in Linux and FreeBSD Desktop, Linux Audio & Video, Skype on Linux, System Administration | No Comments »