x86_64版(旧LIVA Z,LattePanda版)のlightMPDをバージョンアップしました

2,699 views
Skip to first unread message

digififan

unread,
Mar 4, 2020, 4:05:04 AM3/4/20
to lightMPD
LIVA Z,LattePand版と称していたパッケージをx86_64版に改めました。

x86_64版のkernelにAMDのCPUに対応したバージョンを公開します。
このバージョンはintel x86(64bit)の他APU2等AMDのCPUでも動作します。
APU2以外のAMDのCPUは下記の構成でテストしました。

ASRock DeskMini A300 + Ryzen 3400

下記よりダウンロードしてください。



APU用のbootloader

APU2はUEFIに対応していないので、新たにmbr用のboot イメージを作成しました。
x86_64版をAPU2で使う場合はこの新しいboot イメージを使ってください。以前boot イメージでは動作しません。
また、このboot イメージはUEFIに対応していないPCでも動作するはずですが、未確認です。
新しいboot ローダは下記よりインストールしてください。



3APU2用のmpd.conf

パッケージ付属のmpd.confはLIVA Z,LattePandaに合わせてあります。
apu2でdsd2pcmを使う場合はこの設定ではCPUの能力不足により音切れします。

apu2でdsd2pcmを使う場合は 

/lightMPD/conf/apu2にあるmpd.conf
/lightMPD/conf/apu2にあるmpd.conf-upnp     <---  upnpモード用のmpd.conf

を使ってください。


インストール方法

旧版と同じです。詳しくはこの掲示板の「LIVA Z,LattePand用のlightMPDを公開しました」を参照してください。

choppe...@gmail.com

unread,
Mar 4, 2020, 7:38:36 AM3/4/20
to lightMPD
digififanさん
こんにちは。

公開ありがとうございます!!
おかげさまで、以下構成で無事作動しています。
upnpgw:APU2
player:ASUS B450M-K + Ryzen7 2700 + 82576-2T-X1

あれだけ現れなかったTuxが普通に表れ、思わず何回も再起動させてしまいました。
(すいません、何を言ってるかわからない人が大多数だと思います。。)

今回のバージョンアップは、本当に渡りに船で多謝です。
これから、ゆっくり堪能します。

ゴンザエモン

unread,
Mar 4, 2020, 11:40:07 PM3/4/20
to lightMPD
こんにちは。

amd AシリーズCPU、ASUSマザーボード(UEFI)にて確認いたしました。UPnPモードにて44.1KHz~192KHzの音源いずれも安定稼働しております。(当方の環境ではpolipoは不使用といたしました)

取り急ぎご報告と御礼まで。


doraemon

unread,
Mar 13, 2020, 7:10:32 AM3/13/20
to lightMPD
digififanさん
こんにちは。
下記の二台構成で安定動作確認いたしました。

アダプタ側
 LIVA Z(N4200)(x86_64-upnpgw-20200310 donuts.shop73さん謹製)

プレイヤ側
  APU2C4(lightMPDx86_64-v1.2.0b2 upnpgw-nas) + Gustard U16 + Topping D70

  NativeモードでのDSD256再生を確認しました。公開ありがとうございました。

sank...@gmail.com

unread,
Mar 30, 2020, 12:58:34 AM3/30/20
to lightMPD
digififanさん

いつも大変お世話になっております。
当方も当該記事に触発されましてintel PC(desk top)を使ってtryしてみました。
がどうも認識しない状態になっています。

<現状>
* PC(2016年製 富士通desk top intel i7-6700,3.4Ghz)
* OS win10 pro 64bit
* confでは「upnpmode」を選択しました。


<症状>
usbメモリーを挿してPCを起動させますとずらっとコマンドが表示されます。
そしてそのコマンドの一番最後に「下記text文字」が表記されて以降カーソルが
点滅してstop状態になります。

/var/lightmpd/bin/statusout.sh:line32:/user/bin/ntpq:not found

因みにイーサーネットケーブルの接続をPC本体から、手持ちの「Anker製 LANアダプター USB 3.0 RJ45
ギガビットイーサネットアダプタ」 に変更してみたのですが変わりませんでした。

ついでにtelenetで接続してみたのですが

lightmpd log in:root
password:

が表示されるのですが、passwordを打ち込もうとしたら入力出来ない状態でした。
どこか設定等が間違えているのか御教示頂けましたら有難いです。

急ぎませんのでお手すきの時で結構です。



以下設定内容を記載します。

<lightmpd.conf>
[network]
    interface=eth0
    address=192.168.xxx (本機のIPアドレス)
    gateway=192.168.1.1
    netmask=255.255.255.0
    nameserver=192.168.1.1
    domain=mydomain.jp
#    post-up=/usr/sbin/ethtool -s eth0 speed 10 duplex full
#

[ntp]
    server=192.168.xxx(本機のIPアドレスとnoneを表記させてみましたが変わりませんでした。)
    ntpd=no
    timezone=Asia/Tokyo

[mpd]
    load_module=mpdupnp-0.20.23rt

[polipo]
    enable = yes
    proxyAddress = 127.0.0.1
    allowedClients = 127.0.0.1
# 4Gbyte
    chunkHighMark = 3072
    chunkLowMark = 768
    chunkCriticalMark = 2304
#
# 2Gbyte
#    objectHighMark = 1536
#    chunkLowMark = 512
#    chunkCriticalMark = 1024
#
    cacheIsShared = false
    disableLocalInterface = true
    clientTimeout = 1200

[upmpdcli]
        enable=yes
        upnpiface = eth0
        mpdhost=127.0.0.1
        mpdport=6600
        friendlyname=UpLightMpd
        ohproductroom=UpLightMpd
        checkcontentformat=0
        openhome = 1
        ohmetapersist = 1
        logfilename=/var/log/upmpdcli.log
        loglevel = 3

[rpcbind]
    enable=no

[telnetd]
   yes | no
    enable=yes
    port=23

[webconsole]
#  yes | no
#  start page:   http://thishost:${port}/index.html
    enable=no
    port=9000

[cpuaffinity]
#  0   normal
#  1   cpu1:  usb irq handler
#  2   cpu1:  usb irq handler
        type=2

[irqpriority]
    setdefault=no
    xhci_hcd#0=FIFO:99

[debug]
    interfaces=yes
    resolvconf=yes
    ntpd=yes
    ntpconf=yes
    ifconfig=yes
    cards=yes
    mounts=yes
    ps=yes
    mpdversion=yes
    date=yes
    ntpq=yes
    music=yes
    messages=yes
    save=no



<mpd.conf>
realtime_option {
    memlock                  "yes"
    stack_reserve            "2048"
    heap_reserve             "10240"
    main_priority            "OTHER:0"
    player_priority          "FIFO:53"
    decoder_priority         "OTHER:0"
    update_priority          "OTHER:0"
}

audio_output {
        type                "alsa"
        name                "uda"
        device              "hw:0,0"
        priority            "FIFO:54"
    mixer_type          "disabled"
    buffer_time         "150000"
    period_time         "37500"
}


input {
      plugin                    "curl"
      proxy                     "127.0.0.1:8123"
}


decoder {
         plugin                  "dsf"
#         output                  "pcm"
}

decoder {
         plugin                  "dsdiff"
#         output                  "pcm"
}

dsd2pcm {

######    output : 176400  ######

#        dsd2pcm + resampler
#########  dsd   ->   dsd2pcm -> pcm(dsd/8) -> resampler-> 176400
#       dsd2pcm: 2822400 -> 352800 (1/8)     resampler: 352800 -> 176400
#        dsd64           "176400:32:8:SOXR_COEF(24, 0.136, 1.65, 50, 0, yes)"

#       dsd2pcm: 5644800 -> 705600 (1/8)     resampler: 705600 -> 176400
#        dsd128         "176400:32:8:SOXR_COEF(24, 0.136, 1.65, 50, 0, yes)"

#       dsd2pcm: 11289600 -> 1411200 (1/8)   resampler: 1411200 -> 176400
#        dsd256         "176400:32:8:SOXR_COEF(24, 0.136, 1.65, 50, 0, yes)"       


#         dsd2pcm
#        dsd2pcm:  2822400 -> 176400(1/16)
        dsd64           "176400:32:16:SOXR_COEF( 24, 0.27, 0.4, 50, 0, yes)"

#        dsd2pcm:  5644800 -> 176400(1/32)
        dsd128          "176400:32:32:SOXR_COEF( 24, 0.27, 0.5, 50, 0, yes)"

#        dsd2pcm: 11289600 -> 176400(1/64)
        dsd256          "176400:32:64:SOXR_COEF(24, 0.27, 0.9, 50, 0, yes)"       


#####    output : 352800  ######

#       dsd2pcm: 2822400 -> 352800(1/8)
#       dsd64           "352800:32:8:SOXR_COEF( 24, 0.14, 0.22, 50, 0, yes)"

#       dsd2pcm: 5644800 -> 352800 (1/16)
#       dsd128          "352800:32:16:SOXR_COEF( 24, 0.14, 0.3, 50, 0, yes)"

#       dsd2pcm: 11289600 -> 352800 (1/32)
#        dsd256          "352800:32:32:SOXR_COEF( 24, 0.14, 0.5, 50, 0, yes)"


######    output : 705600  ######

#       resampler: 2822400 -> 705600
#        dsd64           "705600:32:0"

#       dsd2pcm: 5644800 -> 705600 (1/8)
#       dsd128          "705600:32:8:SOXR_COEF( 24, 0.07, 0.2, 50, 0, yes)"

#       dsd2pcm: 11289600 -> 705600 (1/16)
#        dsd256          "705600:32:16:SOXR_COEF( 24, 0.07, 0.4, 50, 0, yes)"
}



###### decoder selector
# decoder_selector {
#    suffix                       "mp3"
#    plugin                       "mad"
# }

# decoder_selector {
#    suffix                       "m4a"
#    plugin                       "ffmpeg"
# }

# decoder_selector {
#    suffix                       "wav"
#    plugin                       "audiofile"
#    scan_plugin                  "ffmpeg"
# }

# decoder_selector {
#    suffix                       "flac"
#    plugin                       "flac"
# }

#
music_directory            "/var/lib/mpd/music"
playlist_directory        "/var/lib/mpd/playlists"
#sticker_file                "/var/lib/mpd/sticker.sql"
log_file            "/var/lib/mpd/mpd.log"
pid_file            "/var/run/mpd.pid"
state_file            "/var/lib/mpd/state"

user                "root"
group                       "root"

bind_to_address            "any"
port                "6600"

#
#metadata_to_use        "artist,album,title,track,name,genre,date,composer,performer,disc"
metadata_to_use            "artist,album,title,track,genre,date,disc"

#audio_output_format        "96000:24:2"
#
# extended audio format
#audio_output_format        "X4L4:32:2"
#audio_output_format        "X16L16,8:32:2"

# soxr
#resampler {
#   plugin              "soxr"
#   quality             "very high"
#}

# extend soxr
resampler {
   plugin               "soxr"

   precision            "24"
   passband_end         "0.91"
   stopband_begin       "1.00"
   rolloff              "0"
   phase_response       "50.0"
   single_stage         "yes"

   threads              "0"

   quality_spec_01        "88200:352800=24:0.54:1.0:50.0:0:yes"
   quality_spec_02       "176400:352800=24:0.27:1.0:50.0:0:yes"

   quality_spec_11        "96000:384000=24:0.5:1.0:50.0:0:yes"
   quality_spec_12       "192000:384000=24:0.25:1.0:50.0:0:yes"

   quality_spec_21        "88200:705600=24:0.54:1.0:50.0:0:yes"
   quality_spec_22       "176400:705600=24:0.27:1.0:50.0:0:yes"
   quality_spec_23       "352800:705600=24:0.14:1.0:50.0:0:yes"  

   quality_spec_31        "96000:768000=24:0.5:1.0:50.0:0:yes"
   quality_spec_32       "192000:768000=24:0.25:1.0:50.0:0:yes"
   quality_spec_33       "192000:768000=24:0.125:1.0:50.0:0:yes"  

   quality_spec_41      "2822400:705600=24:0.068:0.1:50.0:0:yes"

   quality_spec_51       "352800:176400=24:0.27:0.4:50:0:yes"
   quality_spec_52       "705600:176400=24:0.27:0.8:50:0:yes"
   quality_spec_53      "1411200:176400=24:0.27:1.0:50:0:yes"

}


follow_outside_symlinks        "yes"
follow_inside_symlinks        "yes"
default_permissions         "read,add,control,admin"
#
mixer_type            "disabled"
#
audio_buffer_size        "2048"
buffer_before_play        "20%"
#
filesystem_charset        "UTF-8"
id3v1_encoding            "UTF-8"



<grub.cfg>
set timeout_style=hidden
set timeout=2
#
set default=0

menuentry "lightmpd linux-5.4.18rt9" {
 linux /boot/bzImage-5.4.18rt9 root=/dev/ram0 ro ramdisk_size=81920 rootfstype=romfs rootdelay=5 clocksource=tsc idle=poll processor.max_cstate=1 isolcpus=1 nohz_full=1 rcu_nocbs=1 lightmpd.systype=x86_64 lightmpd.bootdev=LABEL=LMPD vga=773

  initrd /boot/initrd-lightmpd-64
}

menuentry "lightmpd linux-4.19.89xenomai" {
 linux /boot/bzImage-4.19.89xenomai root=/dev/ram0 ro ramdisk_size=81920 rootfstype=romfs rootdelay=5 threadirqs clocksource=tsc idle=poll processor.max_cstate=1 isolcpus=1 nohz_full=1 rcu_nocbs=1 lightmpd.systype=x86_64 lightmpd.bootdev=LABEL=LMPD vga=773

  initrd /boot/initrd-lightmpd-64
}




sank...@gmail.com

unread,
Mar 30, 2020, 8:02:33 PM3/30/20
to lightMPD
digififanさま

お世話になります。
追記です。
control pointはmconnect player HDを使っていますが、NASは問題なく認識されていますが
当該機のPCがplayerとして認識されていないようです。

digififan

unread,
Mar 31, 2020, 2:48:28 AM3/31/20
to lightMPD
sankyohouさん

sankyohouさんの設定で試してみましたが、ちゃんと動作しますので、設定に問題は無いと思います。

> usbメモリーを挿してPCを起動させますとずらっとコマンドが表示されます。
> そしてそのコマンドの一番最後に「下記text文字」が表記されて以降カーソルが
> 点滅してstop状態になります。
> /var/lightmpd/bin/statusout.sh:line32:/user/bin/ntpq:not found

これで正常です。
ntpq: not found はntpqを入れ忘れたために出ます。これは1.2.0での障害です。
apu2ではメッセージのあとにloginが表示されますが、i86_64版ではコンソールからのloginはできなようになっています。
メッセージの出力も出すつもりはなかったのですが、それだと動作しないときに原因がわからないのでメッセージだけは出すようにし
てあります。

> 因みにイーサーネットケーブルの接続をPC本体から、手持ちの「Anker製 LANアダプター USB 3.0 RJ45
> ギガビットイーサネットアダプタ」 に変更してみたのですが変わりませんでした。
> ついでにtelenetで接続してみたのですが
> lightmpd log in:root
> password:

telnetで接続したのはPC本体のイーサネットですか?
passwordが入力出来ないのは別にして、telnetで接続してlogin: のメッセージが出る場合はネットワークの設定に問題はありません。

> control pointはmconnect player HDを使っていますが、NASは問題なく認識されていますが
> 当該機のPCがplayerとして認識されていないようです。

sankyohouさんは確かapu2をお持ちだったと思いますが、同じ設定でapu2(apu2版の1.2.0でもOK)で動作させてみて下さい。
そして、その状況を教えて下さい。

sank...@gmail.com

unread,
Mar 31, 2020, 8:16:49 AM3/31/20
to lightMPD
digififanさん

お世話になっております。
ご連絡ありがとうございます。

>telnetで接続したのはPC本体のイーサネットですか?
networkに接続しています別のpcから接続しました。

apu2c4でtryしてみます。
後程御連絡します。

sank...@gmail.com

unread,
Mar 31, 2020, 9:09:28 AM3/31/20
to lightMPD
digififanさん

お世話になります。
大変お騒がせしました。
apu2c4でtestする前に、apuに接続しておりましたイーサネットケーブルを試しに
intel PCに挿した所無事再生出来ました。

intel PCには丁度余っていた「クロスケーブル」を使っていたのがどうも不具合の原因
だったようです。
それにしてもこのintel PCでのlightmpdの音質は本当に素晴らしく可能性を感じさせます。
重ねてお礼申し上げます。

sank...@gmail.com

unread,
Apr 12, 2020, 9:35:50 PM4/12/20
to lightMPD
digififanさん

いつも大変お世話になっています。
さて再度の質問で恐縮ですがLanケーブルの件でご教示お願い致します。

現在、apu2c4x2台でイーサーネット分離のシステムを再生しております。
その際、apu間同士の機器接続は市販の「クロスケーブル」を使用して問題なく再生しています。

今般、apu2C4+intel PCを使っての再生にtryしようと思っていますがこの機器の組合せにて上記の
クロスケーブルの使用は問題ないでしょうか?
それ共、通常のcat-5クラスのケーブルの方がbetterでしょうか。

前回のトラブルの件もありましたので再度質問した次第です。
お手すきの時にでも結構です。

digififan

unread,
Apr 14, 2020, 10:34:15 AM4/14/20
to lightMPD
sankyohouさん

> 今般、apu2C4+intel PCを使っての再生にtryしようと思っていますがこの機器の組合せにて上記の
> クロスケーブルの使用は問題ないでしょうか?
現在の殆どの機器はケーブルを自動判定するのでクロス、ストレートケーブルを意識する必要はありません。
どちらでも問題ないと思います。私はクロスケーブルを使った事がありません。

> それ共、通常のcat-5クラスのケーブルの方がbetterでしょうか。
apu2のような1Gbpsの機器間をcat5ケーブルで接続すると100Mbpsでリンクします。
cat6以上のケーブルで接続した場合でも、lightmpd.confで

#       post-up=/usr/sbin/ethtool -s eth0 speed 100 duplex full

を有効にすると100Mbpsでリンクします。
100Mbpsで使いたい場合は、ケーブルよりも上記コマンドで対応した方がいいと思います。
cat5はcat6の半分の線ですむので、ノイズ的に有利という話も聞きますが私は懐疑的です。

sank...@gmail.com

unread,
Apr 14, 2020, 11:31:25 PM4/14/20
to lightMPD
digififanさん

毎度大変お世話になっております。
advice幸甚に存じます。

コマンドの方で対応したいと思います。
有難う御座いました。

luckyko...@gmail.com

unread,
May 5, 2020, 5:07:33 AM5/5/20
to lightMPD
デジファイの音様
昆布です。
4月にリリースしていただいたLightMPDをペンティアムPCに再インストールしました。問題なく稼働しました。
音に力強さがアップしたように感じました。何故なんでしょうか?
どちらにしても結果よければ全て良しです。
ありがとうございました。これからいろいろいじってみたいです。
Reply all
Reply to author
Forward
0 new messages