フォーラムを開設しました!Raspberry Pi の話題はこちらで!

LibreELECメモリスプリットの設定

LibreELECメモリスプリットの設定

Raspberry Pi で動画を再生すると、やはりLibreELECは、メモリ不足によってか途中で動画が落ちたり、再生箇所がいきなり飛んだりといった現象があります。
これまで、RaspbianにKodiをインストールした場合や、他のメディアサーバーOSとして、OSMCやLibreELECの前身であるOpenELECなどで発生したことがあり、そうならない場合なども検証した結果、やはりメモリスプリットが少ないという結論になりました。

 

また、動画形式が.mp4の場合はあまり起こりません。.avi形式や.mkvなどの場合は頻繁に起こりました。

※あくまで当環境による体験です。

 

と、いうことで、メモリスプリットを調整したいと思います。

メモリスプリット(MemorySplit)は、一度に制御するメモリ量のことで、デフォルト(初期)は128MBになっており、各Raspberry Pi によってメモリ量が違うため、その機種によって割り振る設定になっています。設定箇所はconfig.txtに記載されています。

 

書き換えの方法は2つ

SSH経由での書き換えと、microSDカードを別のPCで編集する方法があります。本体を取り外すのが大変ではなければmicroSDから直接編集の方が簡単です。

 

microSDカードの編集の場合

SDカードを読み込んでテキストエディタで編集するだけです。config.txtの場所はルート直下の/boot/config.txtです。

直下ですのでSDカードを開いた所にあります。

 

SSHの場合

他のコンピュータからターミナルにて接続します。

sshのユーザーはroot、パスワードはlibereelecです。@以下はIPアドレスかサーバー名です。

LibreELECのシステムは一般的にデフォルトでは読み取り専用のシステムなので、まず書き込み権を取得する必要があります。

マウントします。

nanoで開きます。

 

メモリスプリットの値を変更する

変更箇所はタイトル?のすぐ下のMemory (System/GPU configuration )の箇所です。

変更前:

 

################################################################################
# Memory (System/GPU configuration )
################################################################################

# Default GPU memory split (do not change if you do not know what you are doing)
gpu_mem=128

# Configure GPU memory based on SDRAM size – overrides above setting
gpu_mem_256=112
gpu_mem_512=160
gpu_mem_1024=256

 

config.txt内にMemoryという記述がある4行で設定されています。
SDRAMの容量によってDefaultのgpu_mem=を上書きするということになっています。

これならばRaspberry Pi 3を使用した場合、1GBの容量ですから、128が256に置き換えられるということになり、充分なメモリスプリットだと思いますが、それでも起きてしまうのは何故だか分かりません。
LibreELECのシステム情報をGUIで見てみると、デフォルトの設定であるgpu_mem=128を書き換えても総メモリ容量が減っていませんしたので、Raspberry Pi 3なので、gpu_mem_1024=256を書き換えました。

 

今回、320MBへ設定してみます!

変更したconfig.txt:

 

################################################################################
# Memory (System/GPU configuration )
################################################################################

# Default GPU memory split (do not change if you do not know what you are doing)
gpu_mem=128

# Configure GPU memory based on SDRAM size – overrides above setting
gpu_mem_256=112
gpu_mem_512=160
gpu_mem_1024=320

※デフォルトのgpu_mem=128の値を大きく書き換えるとOSが立ち上がらない(カーネルパニック)になることがあります。

 

適切なメモリスプリットは?

公式のドキュメントによると、

gpu_mem_1024コマンドは、1024MB Raspberry Pi のGPUメモリをメガバイト単位で設定します。(メモリサイズが1024MBでない場合は無視されます) これはgpu_memよりも優先されます。 最大値は944で、デフォルトは設定されていません。

 

今回320MBへ変更したのは、256MBで動作していたとしても動画が落ちることが多々あるためです。

適切と思われるのは、動作させるデータによります。ほぼ256MBで問題ないと思いますが動画の再生は高画質であればあるほどマシンスペックや環境に左右されますので、今回のように希に起こるのであればデータの方を変えた方がいいかも知れませんね。

 

一先ずこれで様子を見たいと思います。

 

参考:

https://wiki.libreelec.tv/config.txt?s%5B%5D=config

https://github.com/LibreELEC/LibreELEC.tv/blob/master/packages/tools/bcm2835-bootloader/files/3rdparty/bootloader/config.txt

https://www.raspberrypi.org/documentation/configuration/config-txt/memory.md

フォーラムでお待ちしています!

CTA-IMAGE 記事を読んでご指摘をはじめ、質問などございましたらフォーラムにご記入ください。
話題は何でも構いません。Raspberry Pi の情報交換ができたら私も勉強になります!よろしくお願いいたします。

設定(setting)カテゴリの最新記事