• Raspberry Pi 4 Model B

    Newlife Newdesing社によるPi4Bの紹介記事

    技術基準適合証明(技適)について

    6月14日発表の新モデル"Raspberry Pi 4 Model B"、令和元年9月29日に技適データーベース検索可能(工事設計認証 007-AH0184)となりました。なお、平成26年度の法改正により、必ずしもパッケージなどに技適マークの表示義務がなくなりましたので、基盤にマークがない、ケースに印刷がないなどは合法か否かとは関係しません。近年、非常に小型のWiFI組み込み用モジュールなどが出てきたことから技適適合、メーカー証明があればよいことになっています。
    エビデンスとして、前記の技適データーベースとRaspberry財団のProduct compliance(3+の時と違い、Quick Start Guideなどに技適マークを入れて流通が始まるまでは本リストにJapanは載せない方針らしいです。財団公式コメントあり)当社にて、9月6日の時点で国内の検査認定機関担当者よりRaspberry 財団へ技適通過の書面報告済みであること確認しています。
    また、”個人輸入されたものはどうなのか?”と、弊社にもお問い合わせがありますが、技適はUSAのFCC、EUのCEと同様の国際規格の一つですので世界中で通用します。ですので、個人輸入されたRSコンポーネント版・element14版も、すべて英国SONYテクノロジーセンターで製造された同一機器なので、すべてのPi 4Bモデルが技適適合モデルとなり基盤実装されているWiFiとBlutooth機能を有効化し国内使用が合法であるとの国内検査認定機関担当者に確認しています。

    9月に技適通過の記事を見かけたものの、なかなか国内販売が開始されませんね。
    海外で流通しているPi4を購入しちゃおうかなと思い始めています。

  • Pi4の開発環境を準備し始めました。

    当初は1GBモデル1台(音質確認用)と4GBモデル1台(開発環境用)の購入を予定していましたが、たまたま在庫がなかったため、予定を変更して2GBモデルにしました。

    開発環境はメモリが多ければ多いほど嬉しいのですが、2GBでも十分かなと自分に言い聞かせています。🤧

    さきほど配送状況を確認するために購入サイトを覗いたら、4GBモデルの在庫が復活していました。ぐぬぬ🤤

    お品書き
    Pi4B (2GBモデル) x2台 $45 x2 + 送料$17 :fa-shopping-cart:
    USB Type Cケーブル 2本セット(5A対応) ¥900 :fa-amazon:
    金属製ケース ¥2000 x2 :fa-amazon:
    外付けSSD (開発環境用) ¥7000
  • @パパリウス さま
    XenomaiってRaspberry Pi 4対応してませんよね?
    3B+と同じようにカーネルは32bit版で必要なカーネルモジュールを追加する方向性で開発を行うのでしょうか?
    また、SSDを購入なされたということはメイン環境はクロス環境で開発ではないのですね。
    昔自分用にスマホのカスタムカーネルのビルドをやっていた頃はtoolchainを入れていましたが、
    しばらく触らないうちにやり方すっかり忘れてしまいました。

  • @sunatomo さん

    Pi4対応は色々と試しながら模索していこうかなと思っています。

    Pi4向けにファームウェア・ドライバを更新する必要があるため、カーネルは新バージョンのものに刷新することになります。

    今回は長期サポートのある4.19系カーネルを使用予定です。

    smpd独自のパッチ(PLL関連、DMA関連、ラズパイファームウェア関連、Xenomai関連 などなど)をあて直す作業と、プロファイル再取得・カーネル高速化の作業で数十時間のボリュームになるかなぁと思っています。

    また、このタイミングで64bit版に切り替える予定で、これまでに32bit向けに書いてきたインラインアセンブラは全て作り直しが必要になります。

    少しずつ進めるしかないですね😳

    現在はカーネルのビルドのみクロス環境で行っています。
    Pi4ならUSB3.0で外付けSSDが使えますので、ビルドが捗りますね😀

  • このスレッドは、Pi4版の開発日記に使います😆

    Passさん、sunatomoさん、ジャイアンさんに続き、Donutsさんにもモデレータに加わっていただきました。

    役者が揃い、たくさんのスレッドが賑わっています。

    こんなふうにワイワイ騒ぎながら意見交換できるクラブを思い描いていました。

    オーディオ用ディストリビューションの開発に興味があり、自分が使いたいもののイメージをはっきりとお持ちのかたがいれば、一緒に新プロジェクトを立ち上げてみたいな、という気持ちが芽生えてきました。

  • @パパリウス さん、こんばんは。
    このクラブの立ち上げのおかげで、多くの方と情報交換ができ楽しみが増えました。ありがとうございます。
    陰ながら応援させていただきます!

  • Pi4では、vcgencmdで取得できる項目が増えているようです。

    温度センサーの精度が向上しており、温度の変化をより正確に掴むことができるようです。

    従来のコマンド:
    [root@0] [~] vcgencmd measure_temp
    temp=55.0'C
    
    Pi4で追加されたコマンド:
    [root@0] [~] vcgencmd measure_temp pmic
    temp=55.2'C
    

    内蔵されているPMIC internal temperature sensorの温度を読み取れるようです。


    arm_freq=1000
    gpu_freq=67
    で、USB3に外付けSSDを繋げ、無負荷状態では50℃前後です。
    そして4コアをフルに回してビルド中の温度が約55℃です。

    Pi3に比べて5〜10℃高温になるという印象でしょうか。
    ケースに触るとアッチチチチとなります。
    (外付けSSDはさらに熱いです、、、)

    gpu_freqがデフォルトの500のままだと、温度はさらにあがって60〜65℃🔥 ぐらいでした。
    ヘッドレスで運用する場合はgpu_freqを下げておくと良さそうですね。

  • 検証に備えて4GB版の注文をしました。11月初めには受け取れそうです。

  • @hiroget9 さん

    プロフィール画面に背景が!
    顔画像も解像度が上がって、より麗しくなったような、、、、😌

    4776371A-2EFD-4A60-89D0-4CEAA04141CB.jpeg

  • 🌜 @eric さん

    11月の中旬には、何かお出しできるようにしたいですね。

    開発状況はときどきこちらのスレッドに書き込みますので、楽しみにしていてください。

  • @パパリウス さん、プロフィールに手を入れてみました。

    Pi4版を楽しみにお待ちしています。
    気の早いお話かもしれませんが、搭載メモリは1GBモデルで十分でしょうか?

  • @hiroget9 さん

    Pi4版のメモリは1GBで十分です。
    256MBあればsmpdの動作に支障はありません。

    将来的に別の用途に転用する可能性があるなら、2GB(または4GB)を購入したほうがいいのかな、、、なんてことも思いますが、
    armの勢いはすごいものがありますので、2年もたてば新アーキテクチャを搭載したRPi5(?)が同程度の値段で登場するでしょう。
    必要なものを必要な時に買うのが正解ということでしょうかね。

  • Pi4のオシレータは54MHzに変更されているようです。😍

    Pi4の起動ログ(dmesg)

    [    0.000006] sched_clock: 56 bits at 54MHz, resolution 18ns, wraps every 4398046511102ns
    

    Pi3の起動ログ

    [    0.000003] sched_clock: 56 bits at 19MHz, resolution 52ns, wraps every 4398046511078ns
    

    Xenomai上でのタイミング制御は、従来は52ナノ秒の精度が限界でした。
    RTDMドライバー内で特に重要な処理は200ナノ秒以下で終わるものが多く、特に52ナノ秒以内で終わるものについては性能評価が難しい状況でした。

    Pi4では18ナノ秒の精度で制御できるようになりますので、これまで以上に細かなタイミング制御ができますし、性能評価も容易になります。

  • @パパリウス さん

    PI4はオシレータのクロックも上がっているんですね。これで64bit化、さらにはセパレート化でNASやHUBからの影響も排除できれば相当に期待できそうですね。とても楽しみです。

    ところで、今までのPI3用の電源で事足りるものなのか気になっているのですが、電流値って測定できますか?

  • @Pass さん

    外部のオシレータをXenomaiに使えないものかと思案したこともありましたので、Pi4でオシレータの周波数がアップしたのはとても嬉しいです😄

    Pi4の開発環境は、Pi3に使っていたDC-ARROWをそのまま使っていますが全く問題は生じていません。

    まだ音出しには至っておりませんので、安心はできませんね(汗)😶

  • @パパリウス さん

    pi3の電源開発の過程で波形を観測していて気付いたのですが、音声信号と電圧変動が連動していますね。実際に音出ししてみると何か違いがあるかもです。何か気になった点があればまた教えてください。

    波形観測で改めて思ったのは、パパリウスさんがラズパイに対して行ってきた余計なデバイスの無効化やプロセスカットは、確実に音質改善に効いているという事ですね。改めて関心しました。

  • @パパリウス さん、もうそろそろPi4を購入しようかと考えています。
    今、購入できるのはmade in UKかと思いますが、パパリウス さんが開発していらっしゃるPi4もmade in UKでしょうか?

  • ラズパイ4B(4GB)が入手できたのでMoOde6.3でテストをしてみました。使ったDACはES9038Q2Mですが特に変わったこともなく音出しが出来ました。音の良しあしは不問とします。

  • @hiroget9 さん

    私が使用しているPi4は、「made in UK」です。
    Pi4版の開発・試聴にはこれを使っていくつもりです。

    本日、ようやく64bit版Xenomaiカーネルでの起動に成功しました 😀

    現状ではUSBに外付けSSDを接続するとハングアップするという問題があり、未解決です。

    しばらくは試行錯誤を続けてみますが、解決しないとしてもPi4版の仕様と割り切って開発を進めようかと思います。


    Pi4版 開発状況 (11/9時点)

    • libc/コンパイラの選定が完了
    • ビルド時に使用する最適化オプションを決定
    • LFSベースでルートファイルシステムの構築が完了
    • Xenomaiカーネルでの起動に成功

    Pi4版は、LFS(Linux From Scratch)をベースに開発を進めています。

    音質にかかわるソフトウェアはすべてソースからビルドしたいので、バイナリパッケージ主体のArch Linuxはアンマッチでした。

    ソースからのビルドを主体とするGentoo Linuxは大変優れたパッケージ管理ソフトを備えており、Pi4版のベースとして有望でしたが、smpdでは独自にパッチをあてているソフトが多く、パッチやビルドスクリプトの管理が必要となります。
    Gentoo未経験の私にはハードルが高く、ビルドプロセスを把握しきれないと判断しました。


    ベンチマーク

    BYTE UNIX Benchmarks (Version 5.1.3)でのベンチマーク結果を掲載します。

    計測は1コアで行っています。
    4コア並列で実行すれば、スコアは約4倍になります。

    • Raspberry Pi 4B
    • arm_freq=1000
    • force_turbo=1でCPU周波数を固定
    • カーネル ... Linux smpd 4.19.81-v8-smpd #7 SMP PREEMPT aarch64 GNU/Linux
    • Xenomai ... 3.1.0-rc3
    System Benchmarks Partial Index BASELINE RESULT INDEX
    Dhrystone 2 using register variables 116700.0 29487284.0 2526.8
    Double-Precision Whetstone 55.0 1611.7 293.0
    Execl Throughput 43.0 828.2 192.6
    Pipe Throughput 12440.0 136666.7 109.9
    Pipe-based Context Switching 4000.0 20823.2 52.1
    Process Creation 126.0 1420.3 112.7
    Shell Scripts (1 concurrent) 42.4 733.3 172.9
    System Call Overhead 15000.0 126073.2 84.0

    Pi2/Pi3/Pi4のスコア比較を掲載します。(全て1コアの計測結果です)

    • Pi2 ... arm_freq=864、Linux 4.14.52 (32bit)、Xenomai 3.0.7、gcc 8.2.1、v0.9系の最適化オプション
    • Pi3 ... arm_freq=1152、Linux 4.14.52 (32bit)、Xenomai 3.0.7、gcc 8.2.1、v0.9系の最適化オプション
    • Pi4 ... arm_freq=1000、Linux 4.19.81 (64bit)、Xenomai 3.1.0-rc3、gcc 9.2.0、64bit版向け最適化オプション
    System Benchmarks Partial Index Pi2 Pi3 Pi4
    Dhrystone 2 using register variables (整数演算性能) 839.4 1146.5 2526.8
    Double-Precision Whetstone (浮動小数点演算性能) 78.1 134.2 293.0
    Execl Throughput (プロセス生成性能) 128.3 238.0 192.6
    Pipe Throughput (パイプのスループット) 179.3 295.0 109.9
    Pipe-based Context Switching (パイプのコンテキストスイッチ性能) 99.4 188.3 52.1
    Process Creation (子プロセス生成性能) 107.4 201.1 112.7
    Shell Scripts (シェルスクリプト実行性能) 171.4 382.2 172.9
    System Call Overhead (システムコール性能) 345.3 555.6 84.0

    Pi4はあえてCPU周波数を低く抑えていますが、それでもPi3の2~3倍の性能を持っていることが分かります。
    これは、メモリがLPDDR2からLPDDR4になり帯域が向上したことやCPUキャッシュの増強など、メモリ性能の向上によるものだと思います。
    そして、メモリアクセス処理の高速化はレイテンシの向上(ひいては音質向上)に相関しますので、Pi4版の音質には大いに期待できるものと思います。

    一方で、プロセス生成、パイプ、システムコール呼び出しなど、カーネルの機能については、smpd v0.9系の性能には遠く及びません。

    現時点ではPi4版のカーネルはXenomaiパッチを適用しただけのノーマル仕様ですが、v0.6系で行ったようなカーネルソースの最適化を進めていけば、改善がみられるだろうと思います。
    smpdのカーネルは、音楽再生時に取得したプロファイルデータを元にカーネルのソースをすべて点検し、ホットスポットとなっている1000ファイル以上のソースに手作業でパッチをあて高速化を図っています。

  • Raspberry Pi 4 Model Bで@パパリウスが発言 :

    起動に成功

    パパリウスさん、まずは起動の成功おめでとうございます!
    また、開発の状況、方向性をお教えくださり、ありがとうございます。
    近日中にPi 4を入手いたします。