Puppy Linux Discussion Forum Forum Index Puppy Linux Discussion Forum
Puppy HOME page : puppylinux.com
"THE" alternative forum : puppylinux.info
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

The time now is Tue 30 Jun 2015, 12:47
All times are UTC - 4
 Forum index » Advanced Topics » Puppy Derivatives
mpdPup - Simplified MPD Music Server/Jukebox - v0.9.3
Moderators: Flash, JohnMurga
Post_new_topic   Reply_to_topic View_previous_topic :: View_next_topic
Page 1 of 36 Posts_count   Goto page: 1, 2, 3, ..., 34, 35, 36 Next
Author Message

Joined: 23 Oct 2009
Posts: 366

PostPosted: Tue 06 Nov 2012, 15:04    Post_subject:  mpdPup - Simplified MPD Music Server/Jukebox - v0.9.3
Sub_title: MPD; setup wizards; web, CLI & GUI clients; remote control; smart shuffle

This project is for anyone that has or is thinking of building a dedicated music server as a replacement for traditional CD transports. The basic goal is to provide the simplest possible avenue for someone to get a Linux system based around Music Player Daemon up and running. There are a lot of people building dedicated music servers on the hifi and audio boards, and it seems like the majority of them go for Windows or Mac as Linux is too complex a pill to swallow. I've always been a big fan of Music Player Daemon and am hoping a simplified setup like this may introduce more users to the project.

Basic Features:
  • Music Player Daemon 0.16.8 or 0.17.2, full complement of codecs and streaming support
  • Wizards for MPD & system configuration (using a point'n'click UI or CLI session)
  • Smart shuffle functions built in courtesy of Albumbler and mpd sima
  • Remote control & LCD support for platforms using Soundgraph iMon via LCDProc, empcd & mpdlcd
  • Small size - iso is 61MB
  • LastFM Scrobbling & Spotify support built in
  • Built in webserver for serving up cover art to clients
  • Avahi/Zeroconf built in for simplified mpd client discovery
  • Hardened to always run in a read-only mode - treat it like an appliance
  • Various (optional) audio manipulation capabilities, including libsamplerate, ALSA equalizer, & Sox
  • A variety of MPD CLI clients and utilities included
  • A full Python installation for scripting
Everything is pre-configured except for the music library location and sound-card configuration. IP address config is optional if your client supports Bonjour.

    Download links version 0.9.3a (md5 is f6f775e2212395381ad2f5afdf366848 ):
    Installation Prerequisites
      Flash Media, minimum 256MB (USB Stick or CF-SATA, or whatever you can boot off of)
      Format using FAT32, Single partion
      Unetbootin or similar software
      A network file share (i.e. NAS, Windows, or Mac CIFS/SMB share) or separate hard disk with your music library (USB attached storage is partially supported).

    Installation, Prep the Flash Media:
      Download the iso file from one of the links above.
      Insert your formatted USB Stick/Flash media into your computer
      Install and Launch unetbootin
      Select the second 'Diskimage' option, browse to and select the ISO image
      Drive type will be USB drive, make sure you've selected the same drive letter/designator as the flash media.
      Click 'ok' and wait for the installation to complete.
      Remove the flash media and insert into the music server

    Using unetbootin or similar will put all the mpd state/database files in the correct locations allowing read/write. A frugal install install is possible but not fully automated at this point.

    Upgrading from a previous release to 0.9.3a:
      First, insert the flash boot media into another system, e.g. a Windows, Mac, or Linux desktop machine.
      Delete the puppy_mpdpup_0.9.2.sfs file, as well as the the .2fs save file. Mount the 0.9.3a iso on your system and manually transfer the puppy_mpdpup_0.9.3.sfs file from there to the flash media. This will maintain your mpd database and any smart shuffle information. Your system settings will be removed and you will need to re-run the setup wizards.

First Boot
    You have a choice between doing the basic configuration using point and click or remotely from a CLI.
    If you're using a USB DAC make sure it's plugged in before booting.
    Make sure the machine is plugged into the network.
    Monitor/Keyboard/Mouse Install
      Hit whatever keys are required to get into the BIOS during the bootup.
      Make certain the BIOS is configured to boot from the right media.
      Disable on-board sound in the BIOS if you're not planning on using it.
      Go through the self explanatory keyboard & monitor wizards and Xwindows should start.
      Xwindows will launch the MPD Configuration Wizard automatically.

    SSH Console
      This works best if Bonjour/Zeroconf is on your system (default on Mac and many Linux installs. Also installs with iTunes on Windows. Download here if you need it.
      Once the system is booted, SSH to tunes.local
      user/pass is root/woofwoof
      The MPD Config Wizard will automatically launch during the first time setup.
      To navigate the ssh dialogs you use a combination of tab, space bar (select items), and arrow keys. Enter to confirm the specified settings.

MPD Config Wizard
    The Wizard walks users through Sound, Storage, GUI, and Network preferences.
    Except for the Static IP the steps are basically identical for Console or GUI users.
    The Welcome Screen will provide you with a choice between Basic & Advanced setup. Many audiophiles will find the basic setup perfectly suitable. If you want bells and whistles or are an inveterate tweaker, go for advanced. Only the basic setup is documented here.
    Sound Configuration
      Go through the Welcome Screen, Select your sound output to your DAC from the list.
      You'll be given an opportunity to check the sound output to make sure you got it right. Make sure your stereo is on and correctly hooked up to your sound device. If you don't hear any sound you can go back and choose another output.
      Provide a name for the Sound Output.
      Choose your volume control preference.
      Continue on to the storage configuration.

    Storage Configuration
      The first dialog will ask you whether your audio is stored locally or via a network share.
        Network Share
        The CIFS configuration dialogs will ask you for various details regarding your network share, be prepared with IP address, user/pass, share name, and music directory.
        If the root of the share is above your Music library then enter the sub-folder 'Music Root Directory'. Be sure to get the case correct. If the Music library is the root of the share then leave that box blank.
        You'll then get a chance to confirm and test these settings. Go through those options, and if the test fails you can go back and change the settings.
        Local Storage
        Note local storage support is new and the audio directory currently limited to a separate drive or partition from the boot device.
        The boot drive and music storage drive should also be on separate system buses (e.g. SATA for boot and USB for storage)
        The local storage wizard will have you select a drive and subdirectory where your audio data is located.

    Remote Control/LCD Config
      If the wizards detect a Soundgraph iMon LCD/Remote then you'll be asked whether you want those functions enabled, along with the default settings for the LCD screen.

    Static IP (optional)
      You'll be asked after this if you want to set up a static IP. This is optional but recommended as most MPD Clients don't support Bonjour.
      The setup is slightly different for GUI vs. SSH users. SSH is self explanatory.
      For GUI User's you'll see a list of interfaces, and you'll need to select a button for your interface, in most cases Eth0.
      Then Click the 'Static IP' button. Enter the IP in the following window, then click through the various confirmation/Done dialogs.

      GUI users will be asked to change the default Password at this point - this is strongly recommended.
      Because of the security context the CLI based MPD Wizard is running in this isn't possible for SSH users, so you'll need to do this later.

Note any of these settings along with several others can be modified later by typing 'mpdwizard' at the command line.

Saving the Config
    The final step in the wizard will ask you to reboot. This is recommended unless there is something else you want to change.
    During the shutdown you'll be asked to create a save file, follow these steps, any size save file should be sufficient, smaller is fine.
    After rebooting the server will be fully operational.

Using MPD - Clients
    MPD requires a separate client, there are many to choose from.
    A variety of CLI clients built in if you like to access your system using SSH: mpc, ncmpc, ncmpcpp
    Graphical/Web clients can be installed from the setup wizard, choose between GMPC, NeoMPC, Client175, phpMp+, Web1.0MPC
    For iPhone/iPad users there is MPoD/MPaD, both of which will auto-discover your new server on the network.
    Most other clients will require you to configure the IP address of your music server.
    Look here for a full list of clients.

Contributing/Hacking on mpdPup
    mpdPup has it's own optional development files for people who would like to hack on or contribute to it.
    Download the devx file here: (md5 is 5fa7ae9a121c3c769a363c02c970c11b )Download the kernel sources here (only required for drivers):
    To use these files, just place it on the flash media used in the installation instructions.
    Then launch the Puppy Linux boot manager and configure it to load the devx file at startup.
    I've taken a different approach with this devx vs. other Puppy Linux variations. Several 'heavy' applications such as Geany & Firefox are only available when using the devx file. Since mpdPup is hard-coded to run from RAM I wanted to make the base file as small as possible, but provide maximum flexibility to anyone developing on the platform.

    mpdPup is binary compatible with Debian Squeeze, so you should also be able to use any of those Debian packages. Refer to the separate package management article for instructions on package handling.

Known Issues
    Some minor known issues with the 0.9.3 release:
    • The ESI Juli@ seems to have problems with 176/192 Khz audio files. My own ESI Juli@ died, and it's possibly related to my specific card - if this is an issue for you and important then stick with 0.9.1,download here or here.
    • empcd is unable to call albumbler when the system is started - this will work if the user manually restarts empcd from the local console.
    • JWM's themes are a bit messed up, as is a fair amount of basic desktop usability. Since a full functioning desktop isn't one of this project's goals that's not a barrier to incrementing a release, but I would like to improve this in the future.
    • Multiple USB disks can be problematic as their drive designation may change on each boot, this is system dependent

    Changes will be based on user interest/feedback, things I'm thinking about are:

      Support for automount/hotplug actions for USB drives and expand local storage support.
      Realtime Kernel (The BFS scheduler may make this moot)
      Serial Console Support (partially implemented as of 0.9.2)
      Improve/Expand the remote control/LCD support
      Continue Improving the wizards for various MPD/Client features
      Further setup improvements, including automated installation, Localization/il8n
      Package Management improvements
      Squeezebox Support

159, 224, 813, 128

Back to top
View user's profile Send_private_message 

Joined: 23 Oct 2009
Posts: 366

PostPosted: Tue 06 Nov 2012, 15:04    Post_subject:  

Other Documentation

Back to top
View user's profile Send_private_message 

Joined: 23 Oct 2009
Posts: 366

PostPosted: Tue 06 Nov 2012, 15:04    Post_subject:  


    GUI doesn't start
      Xwindows is only configured to launch automatically on the first boot. Type xwin to launch it on subsequent boots. If it fails for some reason on the first boot you can try typing xorgwizard and xwin afterward to try and start it.
      Alternatively skip the GUI and just type mpdwizard to go through the same CLI wizard that ssh users use.
    Note for underpowered device users e.g. Alix/Soekris
      After setting the basic settings the initial reboot can take a very long time - approximately 10 minutes on my AMD Geode based Soekris.
      This is a one time event while Puppy Linux optimizes the save file to work with optimally with SquashFS/UnionFS. Since there is no serial console you won't be able to see this happening at this time.
    No sound after the initial setup/reboot though everything appears to be working
      Some sound devices may default to a muted state in ALSA. mpdPup tries to unmute these automatically, but there is a known issue with cards that have spaces in the device name. You may need to unmute your card manually. You need to go to the CLI and type alsamixer to launch a mixer application.
      Use the left and right arrow keys on the keyboard to highlight each sound device/channel, then press M to unmute it. When everything is unmuted press escape to get out of the mixer.
      If you get a 'mixer not found error, use the following command instead:
      alsamixer -c 1
      You may need to change the number '1' to correspond with your sound device. aplay -l will list out the sound devices and their corresponding numbers.
      To make sure the mute setting is saved across reboots, enter the following commands:
      alsactl -f /etc/asound.state store
    Low Memory Devices (256MB or less)
      By default mpdPup runs the whole operating system/file system from RAM. This will boot fine with as low as 128 megs of RAM, but if you have a large music collection there may be problems the first time the database is built. You can edit the syslinux.cfg file in the USB stick to retain maximum memory for applications, at the expense of not running the OS from RAM. Find the line which includes 'pmedia=cd', and add 'pfix=nocopy' (no quotes) to the end of the line.

    Back to top
    View user's profile Send_private_message 

    Joined: 23 Oct 2009
    Posts: 366

    PostPosted: Tue 06 Nov 2012, 15:05    Post_subject:  

    Installing Debian Packages
    • Go into XWindows by typing startx or xwin at the CLI.
    • launch the Puppy Package Manager (right-click menu or ppm from rxvt/terminal)
    • Click 'configure package manager'
    • Click 'Update Now'
    • Follow the various prompts at the terminal(s) that pop up and let it download the databases/do it's thing (this will take a little while)
    • Click 'OK' to close that window once it's done, then close and re-start the Package Manager
    • When it comes back up it will still be empty, but now there will be multiple 'repo' options across the top of the Window. Choose the various Debian options to browse those repositories.
    • Use the radios on the left to browse categories, or just use the search box on the lower left to find your package.
    • Single click on the package name to bring up an install window, follow the instructions
    Dependency checking may not be accurate, if you receive errors when trying to run your package return to the package manager and install any required dependencies.

    Installing to an Internal Hard Disk
      The basic design goal of this project is meant to be run from flash media, typically a USB Stick, or a Compact Flash Card in a SATA/IDE adapter. However some Puppy Linux tools allow more installation possibilities. If you want to install to an internal SATA/SSD drive this is possible, but it requires a few more steps. This type of installation is called a Frugal Install. Note at this time these steps haven't been completely vetted, feel free to post questions or clarifications:
      • Boot from USB stick set up as per the first post (or CD).
      • Go into Xwindows (type xwin or startx if it isn't automatically started)
      • Use gparted to format the SSD drive using FAT32 (optionally ext2/3)
      • Right click on the desktop, select Setup -> Puppy Universal Installer
      • Go through all the prompts to install Puppy to your internal hard drive
      • If it didn't come up as part of the Universal Installer then install GRUB or GRUB4DOS - right click on the desktop System -> GRUB
      • Reboot without the CD or origianl USB stick, off the hard disk this time
      • Run through the config wizards again if neccessary

    Back to top
    View user's profile Send_private_message 

    Joined: 23 Oct 2009
    Posts: 366

    PostPosted: Tue 06 Nov 2012, 15:06    Post_subject:  

    Many thanks to all the users who have tested out earlier versions and provided feedback, much of which is reflected in these updates.
    Changes in 0.9.3
      MPD versions 0.16.8 (default) and 0.17.2
      Major changes to the MPD setup wizards, lots of newbie proofing, additional refactoring
      Unmute should now work automatically across more sound cards (WaveIO is still problematic Sad )
      Fixed issue that was preventing mpd client auto-discovery
      Full Python installation (previous version used pyinstaller)
      Albumbler updated to latest version, empty directories are no longer queued
      MPD Sima updated to 0.10.0, see coding team website for changelog
      Directory browsing enabled for lighttpd, root directory changed to /var/www. NOTE: URL prefix for coverart is now http://tunes.local/musiclibrary/
      PHP added, disabled by default
      Web Clients: NeoMPC, Client175, phpMp+ and Web1.0MPC can optionally be installed
      mpd delayed startup/connectivity resolved
      Advanced tweaks for ALSA, MPD, nrpacks, etc built into the wizard
      LCD Client daemon changed to mpdlcd
      GMPC added as an installable option, XWindows can now be optionally enabled to start automatically
      Make sure the mpd database directory is created wherever the user chooses to store their savefile
      Updated Realtek drivers for r8168 and r8169
      Added Hiface Drivers (snd-usb-asyncaudio.ko)
      Updated Intel Graphics Drivers to 2.17.0, should improve compatibility for many newer motherboards
      Added libdespotify for Spotify support in MPD 0.17.x
      Fixed the ssh password warning so that it really works
      Fixed ffmpeg build, previous build was broken, wma and many other codecs are now properly supported
      Reduced ffmpeg size by disabling all non-audio functionality, updated to 0.11.1
      added deb2pet for managing debian packages
      Updated mpc, ncmpc, ncmpcpp, mpdscribble, and libmpdclient
      NTFS hard disk support for the music library
      Sox support built into the wizards, alsa equalizer handling updated
      various updates to init scripts
      Restored keymap configuration, should solve issues with international keyboards
      Moved non-essential SSH files to the devx
      Removed redundant fonts and other non-essential files

    Back to top
    View user's profile Send_private_message 

    Joined: 27 Jun 2012
    Posts: 47

    PostPosted: Wed 07 Nov 2012, 12:51    Post_subject:
    Sub_title: v0.9.3

    Many congratulations for putting this major update together; I can imagine the amount of your spare time this must have taken.

    It really does move it on to another higher level.

    Back to top
    View user's profile Send_private_message 

    Joined: 07 Nov 2012
    Posts: 2

    PostPosted: Wed 07 Nov 2012, 14:06    Post_subject: spotify
    Sub_title: spotify

    hi Idolse,

    Thanks for the update!

    Can you explaine how to use the despotify/spotify support?

    Thanks, John
    Back to top
    View user's profile Send_private_message 

    Joined: 07 Nov 2012
    Posts: 33

    PostPosted: Wed 07 Nov 2012, 15:58    Post_subject:  File .iso in host  

    Hi Idolse,
    I tried to download the v.093 from the link that you have indicated, but there's no file with extension ".iso" in file rar! I do something wrong?
    I also wanted to ask if new version of mpdpup is compatible with ARM Cortex processor and if the Hiface device is automatically mount on with the new drivers!!!
    Thanks for reply and thank you very much for what you're doing for us!
    (ps: sorry for my bad english!!!)
    Back to top
    View user's profile Send_private_message 

    Joined: 07 Nov 2012
    Posts: 3

    PostPosted: Wed 07 Nov 2012, 16:11    Post_subject: One soundcard choosen during setup, another soundcard sounds  

    Thank you Idolse, I think you have done a wonderful job.
    I'm a newbie, so excuse me if my question is obvious... but here is it.
    During the setup I choose and I could listen to the correct soundcard (my usb jkdac32) but after the reboot everytime I try to listen to a song is my integrated soundcard that sounds, not the jkdac32 I've choosen in the setup.
    How could I run the setup again or change the mpd.conf file in order to liste to the usb dac?

    P.S. I couldn't disable the integrated soundcard in bios.
    Back to top
    View user's profile Send_private_message 

    Joined: 07 Nov 2012
    Posts: 3

    PostPosted: Wed 07 Nov 2012, 17:31    Post_subject: Re: One soundcard choosen during setup, another soundcard sounds  

    grunter wrote:
    Thank you Idolse, I think you have done a wonderful job.
    I'm a newbie, so excuse me if my question is obvious... but here is it.
    During the setup I choose and I could listen to the correct soundcard (my usb jkdac32) but after the reboot everytime I try to listen to a song is my integrated soundcard that sounds, not the jkdac32 I've choosen in the setup.
    How could I run the setup again or change the mpd.conf file in order to liste to the usb dac?

    P.S. I couldn't disable the integrated soundcard in bios.

    Excuse me, I've edited the file mpd.conf and now it's ok!
    Back to top
    View user's profile Send_private_message 

    Joined: 07 Nov 2012
    Posts: 33

    PostPosted: Wed 07 Nov 2012, 18:27    Post_subject:  

    Hi Grunter,
    a question...
    I downloaded the file from the link indicated. In my pc it appears a Winrar archive named "mpdpup-0.9.3". When I extract this archive there's no ".iso" file inside...where am I wrong? It's probably my fault, but I don't know how to solve it.
    Has anyone already tried the new version with Hiface One or Arm processor?
    Back to top
    View user's profile Send_private_message 

    Joined: 07 Nov 2012
    Posts: 33

    PostPosted: Wed 07 Nov 2012, 19:45    Post_subject:    

    ...ok! I solved...the ".iso" extension in my windows os was associated to "Winrar"! Laughing
    Many thanks for the possibility of customize alsa parameters!
    I look forward to know how this release would run on motherboard like Raspberry PI or Cubox or other similar and about Hiface one behavior.
    Good job Idolse!!! Exclamation
    Back to top
    View user's profile Send_private_message 

    Joined: 23 Oct 2009
    Posts: 366

    PostPosted: Wed 07 Nov 2012, 19:56    Post_subject:  

    Hi All, thanks for trying it out.

    @jkoks, Spotify support requires a Spotify premium account. It's also not available in my part of the world so I wasn't able to QA it to be certain it works, but I expect it should be ok.

    Anyway to get it set up you need to re-launch mpdwizard after the initial setup, it's not part of the welcome prompts:
      1. From the command line type 'mpdwizard'
      2. Select 'services', then 'Spotify'
      3. The wizard will ask you to change to mpd 0.17.x
      4. Finally enter your Spotify Premium credentials
      5. Select 'Save settings and exit' from the wizard
      6. confirm you want to commit the changes
      7. type save2flash or reboot the system to completely save the changes
    Here's a link to the code checkin for the Spotify documentation, you basically need to pass mpd Spotify URLs starting with 'spt://' instead of 'http://':

    @kocozze, I just wrote that as the likely cause of your problem, glad you were able to figure it out. This release is only compatible with x86 hardware. I'm thinking about ARM for a future release, as Puppy Linux recently added Raspberry Pi support, but it's going to be a while before I have time to leverage that work. That said the Raspberry Pi and many other cheap ARM platforms aren't necessarily ideal for high end audio because of the compromises that were made with USB. That's not true across the board, some are fine (e.g. Beaglebone), but it's something to watch out for.

    @grunter, Sounds like a rather strange problem - you used the wizard to test the sound output during the initial configuration, correct? Did the sound come out from the right place at that time? The only way I can see it changing is if the hardware did funny things where the internal and external cards swapped positions when the system initialized. Anyway glad you were able to resolve it. In the future you can always type 'mpdwizard' to get back to any options to make changes to the system.
    Back to top
    View user's profile Send_private_message 

    Joined: 20 Jun 2012
    Posts: 22

    PostPosted: Thu 08 Nov 2012, 10:20    Post_subject: Feedback and two problems  

    Hi Idolse, finished today the install of mpdpup, very easy and straightforward, very good work! I've got only two problems (or better.....three):
    1) I'm using a WaveIo card (from Luckit.biz) and probably it's a problem of the card because i've got the same problem in Win7, but if i restart the system without turning off the WaveIo at startup is not recognised, i've to turn the card off, disconnect the usb cable, restart and reconnect and than it's ok, there is some trick that can be done to probe the card at startup?
    2)At startup, the volume in Alsa on the WaveIo it's always muted, have to enter Alsamixer and unmute, any fix to consider the card always on?
    3) I'm using a mini pc (samsung Q1 ultra), but can't find a solution to turn the screen off ("xset dpms force off" reports "xset: unable to open display ""), any way to turn it off by default? In the bios there are no option for screen management.

    Thank you very much and keep up the good work.

    Best regards.
    Back to top
    View user's profile Send_private_message 

    Joined: 23 Oct 2009
    Posts: 366

    PostPosted: Thu 08 Nov 2012, 10:56    Post_subject:  

    Hi Bonalux,

    The WaveIO has been a particularly problematic card on these specific points. I do think that it's a hardware design issue, not sure if the developers can fix some of these issues through firmware updates. That said, a number of WaveIO users seem to have gotten it working to their satisfaction. Did you read through their experiences on the 0.9.2 thread?

    I'd really hoped I'd solved the muting problem, but based on what you're describing it's persisting across reboots. Did you commit your changes to the ALSA mixer by running 'save2flash' or 'reboot' from the command line? When you ran the initial wizard and did the sound test was it muted? If it wasn't then I think we could create an init script which unmutes it - this was something I'd considered for the other WaveIO users, but they managed to get the unmute persisting across reboots, so I stopped worrying about it. I'll re-read the old thread.

    Regarding having to unplug/replug it, I'm pretty sure most WaveIO owners have gotten into the habit of starting up the computer and then powering the WaveIO (not sure if they leave the USB plugged in), and most of them just leave their system running all the time. I'm not sure if there is any other way to re-initalize the card.

    As to the screen - how long do you wait to see if it goes to sleep? On my system the screen automatically sleeps after a few minutes if I'm not typing something into the console. You could try going into XWindows and see if there are any Puppy Linux power preferences, but you're in territory I haven't explored.

    Edit 2:
    This should be fixed now - see the troubleshooting section if it still happens for a simple workaround.

    Back to top
    View user's profile Send_private_message 
    Display_posts:   Sort by:   
    Page 1 of 36 Posts_count   Goto page: 1, 2, 3, ..., 34, 35, 36 Next
    Post_new_topic   Reply_to_topic View_previous_topic :: View_next_topic
     Forum index » Advanced Topics » Puppy Derivatives
    Jump to:  

    You cannot attach files in this forum
    You can download files in this forum

    Powered by phpBB © 2001, 2005 phpBB Group
    [ Time: 0.1636s ][ Queries: 13 (0.0177s) ][ GZIP on ]