mpdPup - Simplified MPD Music Server/Jukebox - v0.9.3

For talk and support relating specifically to Puppy derivatives
Message
Author
DenisP
Posts: 56
Joined: Mon 25 Mar 2013, 22:17
Location: Croatia

#451 Post by DenisP »

ldolse wrote:@DenisP - compiling Squeeze Server is possible and I've done it successfully while exploring how to package it. The real problem is the packaging - it relies heavily on Perl and numerous CPAN packages.
OK, I understand - but I don't need no packaging :)
I just want to install it on ANY Puppy version in any way possible, so I'd appreciate ANY kind of help - e.g. which version of LMS server to use and how to compile and install everything.
Installing it on mpdPup would be awesome - that way I could choose either mpd or LMS as a server upon startup or something.... Add squeezelite as a player, and I could have a standalone squeezebox ecosystem-in-a-box (if desired for connecting to other players on the network - where other "players" could be thin clients with mpdPup installed, but using "squeezelite" as a player in this case).

I've checked the possibility of using mpdPup (i.e. mpd) with several "players" on the network, but it is not possible - at least not in the way LMS (squeezebox server) does it... :(

boulogne75
Posts: 15
Joined: Mon 17 Dec 2012, 13:34

#452 Post by boulogne75 »

ldolse wrote:Regarding the discussion on ulimit - this is starting to sound like a major research project, I'll see what I can find out though - wouldn't be surprised if the defaults are set at compile time for the kernel. I'm pretty sure I don't want to install PAM or any extra background processes to make limits.conf work.
That is how I understand it:
The values set at kernel level define system wide (for all users) limits which can be changed on the fly via sysctl commands. ulimits allow to change them for a user context. So, I am not sure it is good idea to set them in the kernel.

May be you can try this, assuming mpd is running under mpd user:
(it won't work with pam installed but may be without it...)

# su - mpd
# ulimit -a --> confirm 64
# ulimit -l unlimited
# ulimit -a --> confirm unlimited
# exit

Close ssh session and open it again:

# su - mpd
# ulimit -a --> confirm unlimited

If it works you should be able to add it to your rc script.

About PAM, I don't think it runs any background process. IIRC, It is only accessed whith a user login or when a shell is started.

ldolse
Posts: 367
Joined: Fri 23 Oct 2009, 16:33

#453 Post by ldolse »

Was having issues posting responses yesterday, a couple more:

Regarding the questions on the kernel - the specific kernel is 2.6.39-4, and it has the BFS scheduler patches. I'm not sure whether this scheduler contributes to any sound quality perception discussions, but theoretically it sounds like a better deal for audio than the stock scheduler.

@boulogne75 - NFS support still isn't in the wizards, but the system has always supported NFS to the best of my knowledge. I've recently picked up a Synology NAS which supports NFS, so I may dig back into it.

Thanks for the extra info on ulimits.

@DenisP, unfortunately I don't remember exactly what I did to get SqueezeServer up and running - it involved installing CPAN and tons of dependencies (using CPAN) - once all the dependencies were installed I was able to compile/install the SqueezeServer software. I think the dependencies were tracked down by installation failure errors. I just grabbed the latest SqueezeServer package from logitech at that time - this was about 18 months ago.

Dynobot
Posts: 44
Joined: Wed 05 Dec 2012, 12:04

#454 Post by Dynobot »

To achieve lowest latency with BFS

Configure your kernel with 1000Hz, preempt ON and disable dynamic ticks.


With the BFS patch schetool cound be used to give MPD top priority.

From the mouth of the creator of BFS...
"Run your audio and video apps SCHED_ISO:
schedtool -I -e amarok
This will run amarok as an unprivileged real-time task. Note that if you start
an application that tries to get real-time scheduling (eg jackd) and you are
not starting it as root, BFS will automatically elevate it to SCHED_ISO for
you to give it the next best thing."


With BFS, once MPD is given unprivileged real-time priority it will be auto-magically run in a 'core' that give best performance.


From the mouth of the creator of BFS.
"Because BFS uses one global runqueue
for all tasks on the system, when a realtime task wants CPU time, BFS will
find the most suitable CPU anywhere in the system to run it on, by kicking
off the lower priority task running anywhere."



http://ck.kolivas.org/patches/bfs/bfs-faq.txt


Looks like this one command [schedtool -I -e mpd] after schedtool is installed will increase performance.


Update:

Yes schedtool does seem to work as advertised. It can be added to the start up script.

Two birds down via one stone. :D[quote][/quote]

Dynobot
Posts: 44
Joined: Wed 05 Dec 2012, 12:04

#455 Post by Dynobot »

Bug in MPD with wav file for version 17.x

I remember this awhile back and I bought it up to the MPD folks...I found the fix for it back then and will work with MpdPup.

Indeed wav files did not play on my machine with rev 17.x installed. The fix is, you have to insert this line in the mpd.conf file.

decoder {
plugin "sndfile"
enabled "no"
}

Dynobot
Posts: 44
Joined: Wed 05 Dec 2012, 12:04

#456 Post by Dynobot »

Looking at some Kernel tuning from the IBM and Oracle web sites.

I remember earlier we were trying SHIMAX and SHIMIN etc. tuning. The original poster was just throwing numbers in and listening for differences. I'd like to logically tune the kernel to run at optimal per IBM and Oracle's suggestions based on what the actual perimeters do vs. random values.

This may or may not be fruitful but you never know until you try... :)

lugili
Posts: 16
Joined: Sun 24 Feb 2013, 21:07

#457 Post by lugili »

Dynobot,

sounds quite interesting what you are trying here.
I would like to try schedtool. How to install schedtool in mpdpup? I saw that there is also a nice parameter in schedtool, do you think this will make a difference to change that?

Thanks,
lugili

boulogne75
Posts: 15
Joined: Mon 17 Dec 2012, 13:34

#458 Post by boulogne75 »

Dynobot wrote:To achieve lowest latency with BFS

Configure your kernel with 1000Hz, preempt ON and disable dynamic ticks.


With the BFS patch schetool cound be used to give MPD top priority.

From the mouth of the creator of BFS...
"Run your audio and video apps SCHED_ISO:
schedtool -I -e amarok
This will run amarok as an unprivileged real-time task. Note that if you start
an application that tries to get real-time scheduling (eg jackd) and you are
not starting it as root, BFS will automatically elevate it to SCHED_ISO for
you to give it the next best thing."


With BFS, once MPD is given unprivileged real-time priority it will be auto-magically run in a 'core' that give best performance.


From the mouth of the creator of BFS.
"Because BFS uses one global runqueue
for all tasks on the system, when a realtime task wants CPU time, BFS will
find the most suitable CPU anywhere in the system to run it on, by kicking
off the lower priority task running anywhere."



http://ck.kolivas.org/patches/bfs/bfs-faq.txt


Looks like this one command [schedtool -I -e mpd] after schedtool is installed will increase performance.


Update:

Yes schedtool does seem to work as advertised. It can be added to the start up script.

Two birds down via one stone. :D
Hi Dynobot,

"schedtool -I -e mpd" should start a new mpd process with SCHED_ISO class. To change the class of the running mpd process try:
schedtool -I $(pidof mpd)

Anyway, I am not sure schedtool can change the scheduling class of the 4 mpd's sub-threads.
May be you can give a try to this:
chrt -a -xxx -p $(pidof mpd) where xxx is the sched_class

In case SCHED_ISO is not available in chrt, may be you can compare:
"schedtool -I $(pidof mpd)" and "chrt -a -r -p 80 $(pidof mpd)"

("ulimit -a" --> real-time priority will give you the max priority you can assign to RR_SCHED and FIFO_SCHED)

Dynobot
Posts: 44
Joined: Wed 05 Dec 2012, 12:04

#459 Post by Dynobot »

boulogne75 wrote:
Dynobot wrote:To achieve lowest latency with BFS

Configure your kernel with 1000Hz, preempt ON and disable dynamic ticks.


With the BFS patch schetool cound be used to give MPD top priority.

From the mouth of the creator of BFS...
"Run your audio and video apps SCHED_ISO:
schedtool -I -e amarok
This will run amarok as an unprivileged real-time task. Note that if you start
an application that tries to get real-time scheduling (eg jackd) and you are
not starting it as root, BFS will automatically elevate it to SCHED_ISO for
you to give it the next best thing."


With BFS, once MPD is given unprivileged real-time priority it will be auto-magically run in a 'core' that give best performance.


From the mouth of the creator of BFS.
"Because BFS uses one global runqueue
for all tasks on the system, when a realtime task wants CPU time, BFS will
find the most suitable CPU anywhere in the system to run it on, by kicking
off the lower priority task running anywhere."



http://ck.kolivas.org/patches/bfs/bfs-faq.txt


Looks like this one command [schedtool -I -e mpd] after schedtool is installed will increase performance.


Update:

Yes schedtool does seem to work as advertised. It can be added to the start up script.

Two birds down via one stone. :D
Hi Dynobot,

"schedtool -I -e mpd" should start a new mpd process with SCHED_ISO class. To change the class of the running mpd process try:
schedtool -I $(pidof mpd)

Anyway, I am not sure schedtool can change the scheduling class of the 4 mpd's sub-threads.
May be you can give a try to this:
chrt -a -xxx -p $(pidof mpd) where xxx is the sched_class

In case SCHED_ISO is not available in chrt, may be you can compare:
"schedtool -I $(pidof mpd)" and "chrt -a -r -p 80 $(pidof mpd)"

("ulimit -a" --> real-time priority will give you the max priority you can assign to RR_SCHED and FIFO_SCHED)
Hi boulogne75

Personally I like FIFO vs ISO, esp for audio

Here is a link about scheduling

http://ck.wikia.com/wiki/SchedulingPolicies

About the other sub audio threads ksoftirqd/0 through 3. These each run on their own core...hence the 0,1,2,3. Don't think you want to ISO those.

boulogne75
Posts: 15
Joined: Mon 17 Dec 2012, 13:34

#460 Post by boulogne75 »

Dynobot,

I agree with you FIFO should be a better choice. I personally use FIFO for IRQs threads and RR for mpd.
I read the link (and others) some time ago and that is why I use RR. I am almost sure mpd is not coded for pure realtime. The FIFO class require some special coding for resources (threads, cpu, memory. etc...) management (claim, release, use) where the RR class don't.

That is what is running in my htpc (my alix is not connected right now) ordered by effective priority:

Code: Select all

  PID CLS RTPRIO PRI  NI CMD
    8  FF     99 139   - [posixcputmr/0]
    9  FF     99 139   - [migration/0]
   14  FF     99 139   - [posixcputmr/1]
   15  FF     99 139   - [migration/1]
   39  FF     95 135   - [irq/8-rtc0]
  750  RR     90 130   - /usr/bin/mpd --no-daemon
  750  RR     90 130   - /usr/bin/mpd --no-daemon
  750  RR     90 130   - /usr/bin/mpd --no-daemon
  750  RR     90 130   - /usr/bin/mpd --no-daemon
  750  RR     90 130   - /usr/bin/mpd --no-daemon
  189  FF     85 125   - [irq/18-snd_oxyg]
   67  FF     75 115   - [irq/23-ehci_hcd]
   80  FF     74 114   - [irq/23-ehci_hcd]
  217  FF     65 105   - [irq/45-enp3s0]
   24  FF     50  90   - [irq/9-acpi]
   69  FF     50  90   - [irq/43-ahci]
   34  FF     50  90   - [irq/40-PCIe PME]
   35  FF     50  90   - [irq/41-PCIe PME]
   36  FF     50  90   - [irq/42-PCIe PME]
  149  FF     50  90   - [irq/44-mei]
   37  FF     50  90   - [irq/1-i8042]
    3  FF      1  41   - [ksoftirqd/0]
   13  FF      1  41   - [ksoftirqd/1]
    7  TS      -  39 -20 [kworker/u:0H]
    5  TS      -  39 -20 [kworker/0:0H]
   17  TS      -  39 -20 [kworker/1:0H]
   82  TS      -  39 -20 [kworker/0:1H]
   83  TS      -  39 -20 [kworker/1:1H]
   18  TS      -  39 -20 [cpuset]
   19  TS      -  39 -20 [khelper]
   21  TS      -  39 -20 [netns]
   23  TS      -  39 -20 [kblockd]
   29  TS      -  39 -20 [crypto]
   33  TS      -  39 -20 [kthrotld]
   41  TS      -  39 -20 [deferwq]
   68  TS      -  39 -20 [ata_sff]
   92  TS      -  39 -20 [ext4-dio-unwrit]
  108  TS      -  39 -20 [rpciod]
  111  TS      -  39 -20 [nfsiod]
  155  TS      -  39 -20 [kvm-irqfd-clean]
  183  TS      -  39 -20 [ext4-dio-unwrit]
  205  TS      -  19   0 /usr/lib/systemd/systemd-logind
  107  TS      -  19   0 /usr/lib/systemd/systemd-journald
  134  TS      -  19   0 /usr/lib/systemd/systemd-udevd
   20  TS      -  19   0 [kdevtmpfs]
   66  TS      -  19   0 [khubd]
   10  TS      -  19   0 [rcu_preempt]
   11  TS      -  19   0 [rcu_bh]
   12  TS      -  19   0 [rcu_sched]
   91  TS      -  19   0 [jbd2/sda2-8]
  182  TS      -  19   0 [jbd2/sda3-8]
   26  TS      -  19   0 [kswapd0]
   28  TS      -  19   0 [fsnotify_mark]
   22  TS      -  19   0 [bdi-default]
  218  TS      -  19   0 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation
  230  TS      -  19   0 /sbin/agetty --noclear tty1 38400 linux
  749  TS      -  19   0 [kworker/1:3]
  753  TS      -  19   0 /usr/bin/lighttpd-angel -D -f /etc/lighttpd/lighttpd.conf
  754  TS      -  19   0 /usr/bin/lighttpd -D -f /etc/lighttpd/lighttpd.conf
  757  TS      -  19   0 /usr/bin/ntpd -g -u ntp:ntp
  761  TS      -  19   0 [nfsv4.0-svc]
  762  TS      -  19   0 [flush-8:0]
  780  TS      -  19   0 [kworker/0:1]
  782  TS      -  19   0 [kworker/1:0]
   70  TS      -  19   0 [scsi_eh_0]
   71  TS      -  19   0 [scsi_eh_1]
   72  TS      -  19   0 [scsi_eh_2]
   73  TS      -  19   0 [scsi_eh_3]
   74  TS      -  19   0 [scsi_eh_4]
   75  TS      -  19   0 [scsi_eh_5]
   40  TS      -  19   0 [mce-notify]
   38  TS      -  19   0 [kworker/0:2]
   76  TS      -  19   0 [kworker/u:2]
   77  TS      -  19   0 [kworker/u:3]
  783  TS      -  19   0 sshd: maverick [priv]
  786  TS      -  19   0 sshd: maverick@pts/0
  788  TS      -  19   0 -bash
  791  TS      -  19   0 su
  792  TS      -  19   0 bash
  795  TS      -  19   0 [kworker/0:0]
  798  TS      -  19   0 ps -eLo pid,cls,rtprio,pri,nice,cmd
    1  TS      -  19   0 /sbin/init threadirqs
    2  TS      -  19   0 [kthreadd]
   27  TS      -  14   5 [ksmd]
I have a Xonar Essence ST (snd-oxygen), an M2Tech Hiface2 (ehci-hcd), an M2tech Young (ehci-hcd) and the music is on a remote server (enp3s0). That should explain how are my irqs configured.


The ksoftirqd is not an audio process, it's a kernel daemon that manage software irqs (as you say, one per cpu). There should be no need to prioritze this.
I was talking about the 4 threads (audio decoding, player...) that are created by the mpd process. If you use htop you can see them if you use tree view (F5). Be sure in setup->display options->hide userland threads is not checked.

Idolse,

If you don't already know, the kernel release 3.11 will ship with 32 new audio drivers iirc (hiface included) and many alsa/drivers improvements.

boulogne75
Posts: 15
Joined: Mon 17 Dec 2012, 13:34

#461 Post by boulogne75 »

ldolse wrote:Was having issues posting responses yesterday, a couple more:

Regarding the questions on the kernel - the specific kernel is 2.6.39-4, and it has the BFS scheduler patches. I'm not sure whether this scheduler contributes to any sound quality perception discussions, but theoretically it sounds like a better deal for audio than the stock scheduler.

@boulogne75 - NFS support still isn't in the wizards, but the system has always supported NFS to the best of my knowledge. I've recently picked up a Synology NAS which supports NFS, so I may dig back into it.

Thanks for the extra info on ulimits.
I think the performance gain is really marginal on a dedicated music server. This scheduler aims for better task interactivity. More load implies more gain in perfs. I've read some tests and under heavy loads it showed up to be 10% better than the stock scheduler.
Anyway, it shouldn't hurt and I have the same sensation than you.

Tell me if I can help with NFS :lol:

Can you PM me the .config you use to compile the kernel. I would like to take a look.

boulogne75
Posts: 15
Joined: Mon 17 Dec 2012, 13:34

#462 Post by boulogne75 »

Dynobot wrote:
wlowes wrote:
Dynobot wrote:
@Walter

Thank you for the information and test results.


At this point its a fine balancing act.
My pleasure :D
How do my perceived results compare with your own? I am sure is is system specific to some extent.
My perception is when in apply both ulimit -s and -l as unlimited the sound becomes a bit more coherent without any sense of edginess that you mentioned. Before there was just a very slight bit.


FWIW, I also removed some processes that were started in the init.d folder that I do not need in my setup.
15.avahi
37.client175
slmodem
start_cpu_freq
25.lcd
40.mpdscribble

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I am going through all the processes one by one and removing everything that is not needed to 1) run puppy linux and 2) run mpd.

Notice process 27 for swap....although this OS does not swap. If the OS does not swap then the process must go. Guessing that the udevd daemon is associated with the hard drive polling. Thats 6 daemons that should be stopped....somehow.

# ps -e
PID TTY TIME CMD
1 ? 00:00:01 busybox
2 ? 00:00:00 kthreadd
3 ? 00:00:00 ksoftirqd/0
6 ? 00:00:00 migration/0
7 ? 00:00:00 migration/1
9 ? 00:00:00 ksoftirqd/1
10 ? 00:00:00 kworker/0:1
11 ? 00:00:00 migration/2
12 ? 00:00:00 kworker/2:0
13 ? 00:00:00 ksoftirqd/2
14 ? 00:00:00 migration/3
15 ? 00:00:00 kworker/3:0
16 ? 00:00:00 ksoftirqd/3
17 ? 00:00:00 cpuset
18 ? 00:00:00 khelper
19 ? 00:00:00 sync_supers <-------
20 ? 00:00:00 bdi-default
21 ? 00:00:00 kblockd
22 ? 00:00:00 ata_sff <------IDE hard drive support
23 ? 00:00:00 khubd
24 ? 00:00:00 kworker/1:1
25 ? 00:00:00 kworker/2:1
27 ? 00:00:00 kswapd0
28 ? 00:00:00 ksmd
29 ? 00:00:00 khugepaged
30 ? 00:00:00 fsnotify_mark
31 ? 00:00:00 xfs_mru_cache
32 ? 00:00:00 xfslogd
33 ? 00:00:00 xfsdatad
34 ? 00:00:00 xfsconvertd
35 ? 00:00:00 scsi_eh_0 <------Polling for disk drives
36 ? 00:00:00 scsi_eh_1 <---------polling for disk drives
37 ? 00:00:00 kworker/u:1
38 ? 00:00:00 kworker/u:2
42 ? 00:00:00 kpsmoused
228 ? 00:00:00 scsi_eh_4 <--------polling for disk drives
229 ? 00:00:00 usb-storage
514 ? 00:00:00 loop1
613 ? 00:00:00 loop0
844 ? 00:00:00 udevd
900 ? 00:00:00 kworker/3:2
2994 ? 00:00:00 kworker/1:4
3160 ? 00:00:00 hd-audio0 <--------for internal mb sound card
3463 ? 00:00:00 avahi-daemon
3464 ? 00:00:00 avahi-daemon

3474 ? 00:00:00 sshd
3501 tty1 00:00:00 sh
3502 tty2 00:00:00 getty
3503 ttyS0 00:00:00 getty
3605 ? 00:00:00 udevd
3750 ? 00:00:00 dhcpcd
3766 ? 00:00:04 cifsd
3777 ? 00:34:25 mpd
3788 ? 00:00:00 lighttpd
3805 ? 00:00:00 udevd
3855 ? 00:00:00 kworker/0:0
3863 ? 00:00:00 flush-8:0
3970 ? 00:00:00 sshd
3975 pts/0 00:00:00 sh
4056 pts/0 00:00:00 ps-FULL
Dynobot,

Did you make any progress? Can you tell me what hardware, configuration and filesystems you use? May be I can help.

Udev is the device manager for the Linux kernel. It create and delete device nodes in /dev when detecting/plugging/unplugging device in the computer amongst other things. It's necessary.

I think scsi_eh_X may be related to a sata controller.

For the kswapd it's the swap kernel daemon and it should be disables at the kernel level (kernel compiled without swap support).

For the others, I need more info. But most of them should go off blacklisting kernel modules if you don't need them.

Dynobot
Posts: 44
Joined: Wed 05 Dec 2012, 12:04

#463 Post by Dynobot »

@boulogne75

Thanks for the offer....

Right now I am just playing around with the software listening for changes. I listen for the most neutral presentation.

My system consists of:

MiniITX boards [Atom D510, D525], I have on hand to compare MacMini w/PureMusic, Windows with various music software [Foobar et.al], Squeezebox Touch and another Linux machine running SqueezeLite

A variety of USB interfaces - I used HiFace, XMOS/Wadia Dac, Musical Fidelity V-Link, Tenor, and VIA-USB32 which is pretty much exclusively used with Audiogd.

Dacs are Wadia121-recently sold, Audiogd Ref7, Audiogd Ref5, Audiogd NFB-1.32, Maverick D2, Valab

CD Transport is Teac CD-1000

Preamp/Headamp are Audiogd Roc, Audiogd NFB-6

Integrated amp is Rogue Cronus Magnum with KT120 tubes

Speakers are Dynaudio BM6kII powered monitors and Dynaudio Audience 80 floorstanding

Balanced power, variety of wire.

wlowes
Posts: 49
Joined: Fri 08 Jun 2012, 02:30
Location: Toronto, Canada

#464 Post by wlowes »

ldolse wrote:Regarding the discussion on ulimit - this is starting to sound like a major research project, I'll see what I can find out though - wouldn't be surprised if the defaults are set at compile time for the kernel. I'm pretty sure I don't want to install PAM or any extra background processes to make limits.conf work.
It is a noble effort. My lack of linux experience shows.. I cannot understand why I can have a startup script that does everything else. But when I put ulimit commands in 20.mpd, rc.local or my own startup script which is involked in init.d these commands do not take effect.

So my music listening start process is now to power up everything, then ssh into mpdpup and cut and paste into the command line

ulimit -l unlimited
ulimit -i unlimited
ulimit -u unlimited
ulimit -s 16384

otherwise the sound is just wrong.

I don't mean that in disrespect. Simply, there must be some way for us to figure out how to enter these commands when mpd starts other than command line. I will keep digging..

boulogne75
Posts: 15
Joined: Mon 17 Dec 2012, 13:34

#465 Post by boulogne75 »

Hi,

I don't have too much time right now, I will be brief.

Dynobot,

Woaa, nice gear you have :P
I was just asking for the hardware running when you executed the ps command.
ata_sff -> I suspect your sata controller is running in ide/pata mode not ahci. You can check the bios to confirm.
scsi_ehX -> It is the SCSI midlayer error handling infrastructure (one by sata channel activated on the controller). If, in the bios, you can disable the unneeded sata ports you should be able to get only one scsi_ehX process.
hd-audio0 -> Depending on the internal soundcard you have try to add "blacklist snd-hda-intel" to /etc/modprobe.d/blacklist.conf (create the file if it doesn't exist).

Dynobot, wlowes,

I still don't understand what you are trying to achieve with the ulimit command. Changing limits for root user? mpd user? mpd process?
The only thing you do executing these commands in a ssh session as root is changing the limits (both hard and soft) for the root user in the shell launched for this session. All the changes are lost as soon as you close the ssh session.

I don't mean that in disrespect. Simply, there must be some way for us to figure out how to enter these commands when mpd starts other than command line. I will keep digging..
If you want to change for the running mpd process:
Open ssh session
prlimit --pid $(pidof mpd) -> check default values
prlimit --rtprio=unlimited --pid $(pidof mpd) --> change rtprio for example
Close ssh session and reopen a new ssh session
prlimit --pid $(pidof mpd) -> recheck changed values

wlowes
Posts: 49
Joined: Fri 08 Jun 2012, 02:30
Location: Toronto, Canada

prlimit

#466 Post by wlowes »

boulogne75

My basic ignorance of linux is showing :) Thanks for this insight. It helps.

So I tested and confirmed what you said. I open ssh, run ulimit. The limit set lasts until the ssh session is closed, then on reopening, back to default. The sound is changed by issuing the ulimit command. I run a whoami and it returns root as expected. mpd is also running as root as I never set up a new user such as audio as many suggest.

prlimit does not exist in mpdpup. I suppose we should install it to set the limits for the mpd process. Another root would be to know where these default limits are set for root / ash / Bash or whatever and change it there??

I will keep reading, so again sorry for being so ill informed.

boulogne75
Posts: 15
Joined: Mon 17 Dec 2012, 13:34

#467 Post by boulogne75 »

The prlimit command is part of the util-linux package.
I think most of the values set by ulimit are hardcoded in the kernel source files (I am not sure).


Ok. Let's try something:

Create (if it exists modify) a file "/root/.bashrc" and paste your ulimit commands.
Reboot your computer and open a ssh session. ulimit -a to check that the root shells are now created with the new ulimit values.

johnz
Posts: 1
Joined: Sun 14 Jul 2013, 05:08

MPDpup can not set in box GMPC

#468 Post by johnz »

Hi,ldolse,

I tried the MPDpup before and it is very good as a music play daemon system, now I want to add a LCD display to display music information directly in my music box, I checked the documentation of install process, found here has two kind of LCD display.
1, Use special LCD
2, Use computer display screen,

For option 1 I think it is complex and only could display some simple information.
for option 2, it could display all GMPC information directly from computer of MPDpup system, Now I can purchase these kind of small display screen in market and cost is not too high, the screen resolution is almost 800*480, and use D sub connector.

So I tried the option of in box control, one is Non X, one is GMPC, One is X system, I tried GMPC, but when I finished the configuration, there is could show the X desktop, but there can not show the GMPC automatic, please help to tell me how to configure it or need install some, thanks!

boulogne75
Posts: 15
Joined: Mon 17 Dec 2012, 13:34

Re: MPDpup can not set in box GMPC

#469 Post by boulogne75 »

johnz wrote: So I tried the option of in box control, one is Non X, one is GMPC, One is X system, I tried GMPC, but when I finished the configuration, there is could show the X desktop, but there can not show the GMPC automatic, please help to tell me how to configure it or need install some, thanks!
Try to create a "/root/.xinitrc" file and add:


#!/bin/sh
/usr/bin/gmpc


After that restart X.

Maybe Idolse can suggest a better solution.

flatout
Posts: 1
Joined: Fri 09 Aug 2013, 09:01

mpdpup and usb pant pant

#470 Post by flatout »

Struggle is its own reward... and I have now a working bit-perfect player.
many thanks to Idolse for the inspiration and perspiration in bringing this pup to fruition..

Due to hardware constraints (= no network clients= no network=no network hardware...therefore no external control/storage options) I am running mpd from the local machine via x-server.
boot is from cd (no usb boot support and plop is not a workable option) save file is from local hard-disk and music-folder is from a usb flash-drive (which I wish to share with my WDTVlive-plus.)

All is good when running via local sound-card, not bit-perfect but fine for a (noisey)work-shop server.

When using indoors to usb DAC the set-up is totally flakey..
MPDpup lists the DAC but will not allow access or configuration....
Finally discovered it is the USB bug where multiple usb devices mean the first used will occlude subsequent devices.

If I power up with both the flash drive and the DAC attached then MPDpup cannot find the dac to configure it.
If I power up with the flash drive attached and configure mpd THEN attach the dac all seems to work ok.

On subsequent reboots if the dac is attached then no amount of reconfiguring via mpdwizard will allow it.

Without network access and given the usb bug the remaining options dwindle and the vision of reusing older hardware is constrained.

Any suggestions as to workarounds would be most appreciated.

Cheers,
Bob.

Post Reply