DSD for Raspberry Pi
I decided to share my successes/failures so far in compiling DSD on the Raspbian Wheezy distribution for the Raspberry Pi.
---Setup---
- Raspberry Pi Model-B with 256MB of RAM.
- USB Microphone-in for discriminator audio-in (C-Media device: http://dx.com/p/virtual-5-1-surround-usb-2-0-external-sound-card-22472)
- Raspbian Wheezy distro, 2012-10-28-wheezy-raspbian
- 4GB SD card
- MbeLib 1.2.3 https://github.com/szechyjs/mbelib
- DSD 1.4.1 https://github.com/szechyjs/dsd (I am using the copy from here since other people have not been releasing their source code for their patches/forks)
---OS Install---
1. Download Raspbian "wheezy", (http://www.raspberrypi.org/downloads)
2. Install onto SD card using Win32DiskImager or dd (http://www.raspberrypi.org/downloads)
3. Connect RaspberryPi to an internet connection with DHCP
4. Attach Keyboard and USB sound card
5. Boot RaspberryPi and login with user: pi password: raspberry
6. Close the config tool that first comes up by hitting Esc.
7. Update/upgrade system utils. I used the command: "sudo apt-get update && sudo apt-get upgrade" (this will take a while)
If you can't get to this point, see: http://elinux.org/R-Pi_Troubleshooting
---DSD Install---
7. Type the following lines:
cd ~
mkdir dsd-src
cd dsd-src
wget -O mbelib.zip https://github.com/szechyjs/mbelib/archive/master.zip
wget -O dsd.zip https://github.com/szechyjs/dsd/archive/master.zip
unzip mbelib.zip
unzip dsd.zip
cd mbelib-master
sudo make
sudo make install
cd ..
cd dsd-master
sudo make
sudo make install
cd /
dsd -h
---Running DSD (Experimental)---
By default, Raspbian won't have a /dev/audio or /dev/dsp for DSD to use. You have to enable OSS emulation.
8. Enable OSS emulation: sudo modprobe snd-pcm-oss
Now there should be a /dev/dsp and /dev/dsp1 (as well as a /dev/audio and /dev/audio1). dsp1 is most likely your USB sound card.
10. Start DSD by typing: dsd -i /dev/dsp1 -o /dev/dsp1 [Options].
For example, I use: dsd -i /dev/dsp1 -o /dev/dsp1 -fp -v 1
Current issues:
-Whenever I try to use the RaspberryPi audio output (via HDMI or built-in output jack), DSD causes a kernel panic. So I just stick with the USB in/out (/dev/dsp1). I don't know if this is a USB stack issue, and OSS emulation issue, or what.
-Decoding is very slow and almost unusable. I have only tested ProVoice at this point, so I'll be tweaking the settings/DSD code to hopefully optimize it.
-You may want to try overclocking your RaspberryPi, see: http://lifehacker.com/5944867/overclock-a-raspberry-pi-without-voiding-your-warranty
I would like to hear everyone else's opinions and experiences concerning anything OSS/ALSA/DSD.
DSD on Rasberry PI
ReplyDeleteI also am trying to get DSD running on my Rasberry PI. I did the same as you show and wasn't getting much. I added the compiler options:
-march=armv6
-mfpu-vfp
-mfloat-abi=hard
This helped a little. Then I setup over clocking to 800Mhz.
I set the boot variable dwc_otg.speed=1 to lower the USB speed. Not sure this did anything.
I still don't really have decent decode? It may just be that the hardware is just not enough.