eeePC

These are the compile instructions for building Mixxx on an eeePC. They also work for (k)Ubuntu 7.10 and may also work for other Debian based linux distributions.

For Debian / Ubuntu, you can ignore the lines to do with editing your sources.list.

 MIXXX_HOME=`pwd`
 sudo aptitude purge mixxx mixxx-data # remove any potential conflicts with packaged versions
 
 # eeePC-only: Add this to sources.list: deb http://http.us.debian.org/debian stable main contrib non-free
 sudo aptitude install scons subversion libqt4-dev portaudio19-dev libmad0-dev libid3tag0-dev libvorbis-dev libsndfile1-dev g++
 
 # eeePC-only: remove from sources.list or you may accidentally upgrade to Debian/Etch: deb http://http.us.debian.org/debian stable main contrib non-free
 
 sudo aptitude update 
 
 # check out SVN work space for Linux
 svn co https://mixxx.svn.sourceforge.net/svnroot/mixxx/trunk/mixxx mixxx
 
 cd ${MIXXX_HOME}/mixxx
 scons # build with default options
 
 # create a symlink so mixxx can find skins/ and midi/ subdirs
 sudo ln -s "${MIXXX_HOME}/mixxx/src" "/usr/local/share/mixxx"
 
 # run it
 ./mixxx

The block below is optional and only applies if you have a Hercules DJ Console Mk1/Mk2

 
 sudo aptitude install libusb-dev # libDJConsole needs this
 
 ## eeePC-only: start##
 # apt-get/aptitude will remove libdjconsole*.deb during system updates, you'll need to reapply the last "dpkg --force-depends" step to get it back. 
 
 # libDJConsole stuff for Hercules Mk1/Mk2 support
 wget http://http.us.debian.org/debian/pool/main/libd/libdjconsole/libdjconsole-dev_0.1.2-3_i386.deb
 wget http://http.us.debian.org/debian/pool/main/libd/libdjconsole/libdjconsole0_0.1.2-3_i386.deb
 wget http://http.us.debian.org/debian/pool/main/libd/libdjconsole/libdjconsole-data_0.1.2-3_all.deb
 
 dpkg -i --force-depends libdjconsole-dev_*_i386.deb libdjconsole0_*_i386.deb libdjconsole-data_*_all.deb
 ## eeePC-only: end ##
 ## non-eeePC users can just 'sudo aptitude install libdjconsole0 libdjconsole-dev' instead of the eeePC-only section here.
 
 cd ${MIXXX_HOME}
 cd mixxx
 scons djconsole=1

Seg Fault Note: You will get a segmentation fault when running mixxx after each recompile. This is caused by the UnionFS file system on the eeePC. A reboot will allow you to run mixxx normally.

Performance Note: eeePCs should be configured to use slow-mixxx to bump up the processing priority for reliable skip-free playback. Or get the eee.ko kernel module to re-clock the CPU from 600Mhz → 900Mhz.

slow-mixxx

 #!/bin/bash
 # slow-mixxx         by ironstorm@users.sf.net 2008.01.17
 #   a script to start mixxx and renice it.
 #
 # Why we do it this way:
 #     i.   Must 'renice' after starting but before audio playback begins.
 #     ii.  Starting with 'nice' causes sound crackles on the eeePC
 #     iii. 'renice during playback causes skips and crackles on eeePC.
 
 # An stock eeePC runs at 630Mhz and needs nice priority of between -15 to -20 to playback with mimimal skipping, faster PCs can likely run at lesser priorities
 nice_priority=-18
 
 (sudo sleep 3; sudo renice ${nice_priority} `ps -C mixxx -o pid | grep -v PID`)& mixxx
 
compiling_on_an_asus_eeepc.txt · Last modified: 2008/11/11 01:43 by gamegod
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki