An ALSA mixer for KDE

News What Why How Who Status Todo Requirements Download


This is NOT SuSE's KAMix. SuSE ships it own mixer application for KDE, the name is the same (or, should I say that my kamix has the same name...) but the app is completely another thing. Name clash 1.

KAMIX is also a special linux distribution by Kamil Zakrzewski. Sorry for the name clash, I've already issued a request to Sourceforge staff to rename MY project to "kyamix". Name clash 2.

See status to see the features so far.



After a considerable while, version 0.6.6 is out. This will be the last release of kamix, then the project will be ceased and a new kalsamix will see the light. This because the name clash with SuSE's kamix and kamix distro (see initial note) should now stop.

kalsamix (stay tuned on sourceforge homepage) will be just a project renaming, so no functionality will be lost anyway.

So, please, be aware that kamix will be replaced by kalsamix as soon as I manage the repository move. Further notices will be put on this page.

But, in the meantime, this is 0.6.6:

Thanks to all people who contributed to kamix, I hope that everyone who use it will promptly switch to kalsamix when it'll be ready

As usual, suggestions and any kind of comment is welcome to me.


Version 0.6.5 is substantially a bugfix release:

Thanks so much to Chris Clayton for spotting the ALSA related bug, and to Diego Petteno' for spotting other compile bugs.

Enjoy it!


Nono, kamix is not dead. Version 0.6.4 is out there for your pleasure :)

This release fixes some nasty bug and adds some new features as well:

This version works clean on a KDE 3.4.3, ALSA 1.0.9 Debian/sid: if you trap into any error, please let me know, as usual.

Enjoy it!


Version 0.6.3; it fixes a bug related to group managing, and introduces a couple of new things:


Ok, after some idle time, kamix is back again, introducing a couple of new things and a couple of bugfixes too.

Changes since 0.6.1:

Enjoy it!


Time for 0.6.1 to see the light; this is mainly a bug fix, not any huge new feature within, changelog:


OK, version 0.6.0 is out; this version changes the whole code quite a bit, so it may introduce new bugs... keep 0.5.9 on your desktop :)

Anyway, in response to who asked me the capability to group similar items together, well, this version just introduce grouping: it means that the user can decide the elements to be shown (and hidden) together, so that the mixer can assume a "cleaner" aspect. Note, grouping cannot be done automagically, since ALSA has not this capability yet (apart from capture items that are mutually exclusive), but free manual grouping is not that bad anyway.

As of writing, group just exist to show/hide items together, in the next versions cumulative mute/unmute will be supported.

Complete changelog since 0.5.9:


0.5.9 fixes a couple of bugs that were introduced with 0.5.8, namely 1) a crash that may occour while internally rereading data (this may be fired up at any time), and 2) a config file mis-reading that could cause the OSD not to be shown.

While I was at it, I added free OSD positioning. Thanks to Andreas as usual for spotting the problems and updating .de translation.


Ok, for those who care :) 0.5.8 is there. Nothing really special, just fixed a couple of things and improved another couple. Other wishes I've received from you (thank you all for the feedback) will be soon approached, I'll cook a 0.5.9 in the next week. Changes:


Version 0.5.7 is out there. This fixes a couple of bugs, and adds some new features. Changes since 0.5.6:


Version 0.5.6 is out. Nothing sparkling here, just a couple of things:

Thanks to Andreas for the i18n update and for spotting out the SuSE problem.


For those who don't want any aRts dependencies, a switch to configure system has been added (--disable-vumeter) to disable the compilation of the vu-meter, the part that actually depends on libartskde. It's now available in CVS repository, and will be included in next 0.5.6 release.


Version 0.5.5 is ready. Nothing revolutionary, but an initial OSD notifier for mixer changes is available. Plus, German translation and a bugfix in widget positioning provided by Andreas Arens. hu transaltion updated by Charles Barcza. Also fixed a bug that made kamix lower or raise just one channel instead of the whole item when using DCOP interface and reduced to systray. So the changlog goes:

Thanks to Charles and Andreas for their contrib


Version 0.5.4 is out, basically a bug-fix release.

As pointed out by Jason Winzenried, kamix did two bad things when it was launched _after_ xmms or xine:

Those was due to actually two different bugs, but now they seem to be solved. Really thanks, thanks, thanks to Jason for the test job and the feedbacks it gave me back (I couldn't reproduce those on my hardware and he's been an excellent test base).


Version 0.5.3, which hopefully fixes an abnormal CPU consumption when the vu-meter is enabled; and optionally the playback/capture tabs can be tiled vertically or horizontally. Next releases will focus on better visualization of switches, and a more customizable gui. Here is the changelog:

As usual, thanks for suggestions, feedbacks and rants you provide me


Released version 0.5.2, which introduces "presets" management: in simple words, you can save your actual volumes and store them with a name; then, you can recall that "preset" at any time. This may be useful, or not :)

Full changelog since 0.5.1:

Have fun, and send me back any problem should you find


Ooops! Source tarball was a mess, and I've fixed a compilation error. Thanks to Diego Iastrubni, a kamix.spec for pclinuxos and mandrake has been added.

So 0.5.1 has been released, no functional changes at all.


Here goes version 0.5. Despite the (almost) absence of new graphical elements in the 90% of cases, this is quite a rework of the whole thing. This rework was necessary to support multiple soundcards, which this version tries to cope. Note that unluckily I have no computers with 2 or more soundcard, so my testing has been software only... it may not be enough so you're warned: please let me know if something does not work properly.

Also, I've changed accordingly the way the config is managed: you shouldn't loose any preference, but it may happen... sorry!

The changelog for this version is not that important, it's just "support for multiple soundcards"


Here goes version 0.4.2.

Changes since 0.4.1:


Some code clean up, splitted left/right vu-meter with peak indicators, better response to right click on levels, a compilation fix. Version 0.4.1.

I think kamix has reached its goal, filling the gaps that old versions of official kmix _had_. As KDE 3.2 came out, kmix got better and better, and now I suppose the two apps are quite identical: still kmix is better shaped, still there are little differences on items representation, still kmix is based on aRts and kamix is based on ALSA.

kamix was born as an experiment, as a need of mine, it tought to me a lot about KDE, so, at least, it was useful for me :).

I'll keep on support it for myself :) and for anyone that finds it useful someway.


OK, a nice step forward, to me. Version 0.4 includes a simple optional level vu-meter. This was the first item on my personal wish list ;) It's not done the way I would like (direct ALSA access), but since it seems so damn hard to find docs and answers, by now I provide this one that operates through aRts server.


A little step forward, version 0.3: this allows (basic) DCOP integration, and a new system tray behaviour: while left and right do what you expect (left shows/hide the main window and right shows the menu), the mid-button (or left and right pressed together) gives a fast access to master volume, a la kmix. So these are the changes since 0.2.1:


New update, 0.2.1: this hopefully fixes the creation of tons of apparentrly useless mixer sliders.

Changelog since 0.2:

As usual, comments, suggestions, rants or whatever are welcome.


OK, new version, 0.2. This should be some production thing.

Changelog since 0.2pre2:

As usual, comments, suggestions, rants or whatever are welcome.

NOTE!!!: Files and packages in sf.net will be added tomorrow. For now, brave people can use CVS


The subject says it all, kamix is a full-featured mixer application for KDE and ALSA.

Why this...

Basically, because there's not a complete one. kmix is the official mixer app for KDE, but it lacks:

With this, I'm not stating that kmix is not good: it is, indeed, and it works in 95% cases; but, you know, it's a matter of choice :)


This was my initial motivation. Now, since KDE 3.2 kmix has filled the gaps it had so these motivations are quite gone

...and why ALSA

...and why not OSS compatibility layer or aRts or jack? Well, the mixer task is quite simple, it does not need great abstraction layer (more that the one provided by ALSA itself), it does not need extremely low latency software (because of the very basic operations that don't imply sound i/o). Furthermore, mixer doesn't have locking problems as PCM, so it's quite safe to operate directly on low APIs without the fear of interfering with some other program.

Note that I'm assuming that you are using ALSA in your kernel, I don't even consider OSS-only compiled kernel: kamix wouldn't work in this case.

So, to me, there's not point in relying on other piece of software other than ALSA. An option could be, anyway, to use jack layer and its easier interface (ALSA has a huge and not well documented API), but since it is not a default component, there's no point in doing that, for now.


kamix is developed with kdevelop, interacting directly with libasound (ALSA library)


My name is Stefano Rivoir (Jabber ID: steunix@jabber.linux.it, or ICQ# 346151592)


Current version is 0.6.6. It supports what you would expect from a mixer, plus some features that are pretty unique:

Beside the obvious task of a mixer, I've tried to make a deeply customizable application, to fully (almost) fit all of the GUI needs from a user point of view.




You can download source or packages (DEB and RPM) directly from Sourceforge files page, but...

NOTE: these packages are built with vu-meter support, thus they DO require aRts running (kamix builds against aRts library in this case); if you do not have/want aRts in your system, you must recompile from source, specifying --disable-vumeter at configure.

You can always download the CVS version from here, I strive to keep the CVS version compile :)


Just untar what you've downloaded, and

# sh ./configure

# make install

If you have all the required packages, it should be allright :)


kamix looks like this


To ALSA and KDevelop of course, and Sourceforge as well. And thanks to all those people that sent feedback, requests, rants and advices.

SourceForge.net Logo