RaspBerryPi4に取り付けた、2.4GHzワイヤレスキーボード・マウスの動作不良に対処

RaspBerryPi4+HiFiBerry Amp2 +Steel case for HiFiBerry Amp2 の組み合わせでエレコムのUSB2.4GHz無線・マウスセットが1m程度の範囲でしか動作しない。

プラスチックケースのPi3やPi3+HiFiBerry DAC+ Pro+Steel case for HiFiBerry DAC+, black coverで問題は発生していない。

ケースと相性が悪く、電波が届きにくいいのかと思って短い延長ケーブルでケースから少し出してみたが改善しなかった。

もう1セット無線キーボードが欲しかったので安くなった物を購入、確認のためPi4に繋いだがこちらも同一の現象が発生。

Pi4単体では問題なかったと薄っすら記憶が有る?のでHiFiBerry Amp2が乗っている事での弊害かもしれない。

AMP側から電源を取れば問題ないかもしれないが、現在仮環境なので試していないのと今後の為も考えて対策をしてみる。

対策

延長ケーブルに手持ちのフェライトコア追加した。

改善、問題なく1m以上離れても問題ない。

 

 

 

Kona Linux Pi 2.0 Waylandにしたらオートログインできなくなったので対処

Kodiをビルド中のテスト環境でX11からWaylandにしたらレスポンスが良いのを体感したため、運用中のKona Linux Pi2.0もWaylandにしてみた。

テスト環境で、通常のapt install でkodiをインストールしたらウィンドウ表示されリモートでも操作できたのでWayland環境ではウィンドウ表示やリモート画面で操作可能ならば現行システムでのメンテナンス性の大幅な改善が見込めると期待した。

結果はNGウィンドウ表示はされず、リモート画面dkodi画面は表示されないしレスポンスも改善したようには感じない。

しかも、オートログインできなくなってしまった。

とりあえずX11に戻す。(切り替えは sudo raspi-config のAdvanced Optionsから変更)

raspberrypi オートログイン失敗 で検索。

/etc/lightdm/lightdm.conf  を編集。

autologin-user-timeout=0 

にして、改善した情報があったので、コメントアウト(#)削除して有効化した。

効果無し。

autologin-session=LXDE-pi-x

が有効となっており関連しているのではと思ったので、コメントアウトした。

成功、オートログインできた。

何となくコメントアウトしただけなので情報確認。

autologin-session=LXDE-pi-x で検索

フォーラムで同様の書き込みがあった。

https://forums.raspberrypi.com/viewtopic.php?t=340632


Re: ブートローダーのアップグレード後に自動ログインが機能しなくなった

2022年10月02日(日)17:18
Bullseye が搭載された別のフラッシュ カードを見て、/etc/lightdm/lightdm.conf との違いを確認しました。 フラッシュ カード (正しく自動ログインされる) では、次の 2 行がコメント アウトされました。

コード: すべて選択

#user-session=
#autologin-session=

これらは自動ログインが機能しないインストール環境でアクティブであり、次の値を持っていました。

コード: すべて選択

user-session=LXDE-pi-x
autologin-session=LXDE-pi-x

そこで私はそれらをコメントアウトしました - そして今は再び動作するようになりました。 私はそのファイルを編集したことがないので、どこかのスクリプトが何らかの害を及ぼしたのだと思います。 他の人が同じ問題に遭遇した場合に備えて、解決策をここに残しておきます。

 

との事だった、user-session=LXDE-pi-x もコメントアウトした方が良いかと思い、再度/etc/lightdm/lightdm.conf を開くとautologin-session=LXDE-pi-xの#が外れており再度有効化されていた。

再起動すると、オートログインしなくなっていたので、

user-session=LXDE-pi-x
autologin-session=LXDE-pi-x

を同時にコメントアウトして再起動。

オートログインしたので、/etc/lightdm/lightdm.conf 確認し変更箇所が戻っていないことを確認。

再起動し、もう一度オートログイン確認OK。

おそらく、user-session=LXDE-pi-xをコメントアウトしていないと1度はオートログインするが、設定に不整合が発生しautologin-session=LXDE-pi-xを有効化させるのだと思われる。

情報確認してよかった。

 

 

 

RaspBerryPi(Linux)でaptでインストールする特定バージョンのKodi(アプリ)を保存する

Kodiのdlnaサーバ(UPnPサーバ)機能がバージョンによって、スマホから使用できなかったり、Androidでは楽曲一覧で強制終了されてしまう。

現在、RaspBerryPiのKodi21.0のリポジトリ登録待ちだが、後にバージョンアップで使用に問題が発生する場合も考えられるのでインストール可能な形式でのバックアップ方法を忘れない様にメモ。

任意フォルダで

apt download kodi

kodi*******.deb

で保存される、./kodi******.debで実行するだけでインストールされる。

 

過去バージョンでスマホからdlnaサーバの利用で、19.xではプレイリスト使えるが、20.xでは使えない等の不具合が発生しているのがLibreELECとWindows用の21.0では解消されている。

RaspBerryPiのリポジトリに登録されてもOSによっては動作が異なるかもしれないので注意が必要、必要な機能が問題無く動作するバージョンは保存しておくようにしたい。

古いバージョンはセキュリティ上の問題が有るかもしれないので、可能な限り新しい物を使う様にする事。

 

2024/05/16 追記

バージョン指定でインストールか調べてみた。

linux apt 任意のバージョンのインストール で検索。

インストール可能バージョン確認コマンド

sudo apt list パッケージ名 -a

インストールコマンド

sudo apt install パッケージ名=バージョン名

 

KonaLinuxPi3.0 で実施結果。

sudo apt list kodi -a
一覧表示... 完了
kodi/stable,stable,now 3:20.5-4~bookworm all [インストール済み]
kodi/stable 2:20.1+dfsg-1 all

kodi/stable 2:20.1+dfsg-1 armhf

現在リポジトリに登録されているインストール可能バージョンは欲しいバージョンではない、古い(19.xxバージョン等)が欲しい場合はやはりapt download で保存しておく事。

RaspBerryPi用Kodi 21.0 Omega をビルドしてみようとして失敗メモ(一応成功した)

検索している途中で、gitでビルド方法が記述されていたので試してみる。

github.com

Omegaを使いたいので指定してgit clone

cd $HOME

git clone -b Omega https://github.com/xbmc/xbmc kodi

cd $HOME/kodi

ビルドは、下記のパターンが選べる。

(ココ間違っていた、全部実行する必要が有るが、wayland関連の2つがエラーで手詰まり)

Build and install crossguid:

sudo make -C tools/depends/target/crossguid PREFIX=/usr/local

Build and install flatbuffers:

sudo make -C tools/depends/target/flatbuffers PREFIX=/usr/local

Build and install libfmt:

sudo make -C tools/depends/target/fmt PREFIX=/usr/local

Build and install libspdlog:

sudo make -C tools/depends/target/spdlog PREFIX=/usr/local

Build and install wayland-protocols:

sudo make -C tools/depends/target/wayland-protocols PREFIX=/usr/local

Build and install waylandpp:

sudo make -C tools/depends/target/waylandpp PREFIX=/usr/local

 

今回は下記を選択したいので

Build and install wayland-protocols:

sudo make -C tools/depends/target/wayland-protocols PREFIX=/usr/local

wayland-protocolsをインストール

sudo apt install wayland-protocols

エラー

download wayland-protocols-1.32.tar.xz attempt 3
curl: (56) Recv failure: 接続が相手からリセットされました

となる、wayland-protocols-1.32.tar.xz がダウンロードできない??

もしくは

curl: (7) Failed to connect to mirrors.kodi.tv port 80 after 305 ms: Couldn't connect to server

となる。

curl: (7) Failed to connect to mirrors.kodi.tv port 80 after 305 ms: Couldn't connect to server

で検索、公式のフォーラムで似た問題が有ったみたいだが復旧しているとの事だが???

forum.kodi.tv

 

 

$HOME/kodi/tools/depends/target/wayland-protocols/Makefile

を確認、

BASE_URL := http://mirrors.kodi.tv/build-deps/sources

http://mirrors.kodi.tv/に build-depsフォルダが存在しない。

2024/05/09追記

フォルダ・ファイル共にあった、確認ミス??がビルドは同じエラーで出来ない。

BASE_URL := http://mirrors.kodi.tv/build-deps/sources

の箇所を修正httpsにする

BASE_URL := http://mirrors.kodi.tv/build-deps/sources

ファイルのダウンロードは成功したが途中でエラー

/bin/sh: 1: /bin/meson: not found

なので、

sudo apt install meson

gitの 3. Install the required packages を全てインストールする必要が有る?

とりあえず1ステップづつ確認しながら実施してみる

エラー

ninja: error: loading 'build.ninja': No such file or directory

なので、

sudo apt install ninja-build

しても、エラー回避できずninja: error: loading 'build.ninja': No such file or directoryで検索して調査

github.com

sudo apt install generate-ninja

実施したが、変化なし。

3. Install the required packagesを少しづつインストール

sudo apt install -y autoconf automake autopoint gettext autotools-dev cmake curl

sudo apt install -y default-jre gawk gcc g++ cpp gdc gperf

sudo apt install -y libasound2-dev libass-dev libavahi-client-dev libavahi-common-dev libbluetooth-dev libbluray-dev libbz2-dev libcdio-dev libcec-dev

sudo apt install -y libp8-platform-dev libcrossguid-dev libcurl4-openssl-dev  libcwiid-dev libdbus-1-dev libegl1-mesa-dev

sudo apt install -y libenca-dev libflac-dev libfontconfig-dev libfmt-dev libfreetype6-dev libfribidi-dev libfstrcmp-dev libgcrypt-dev

sudo apt install -y libgif-dev libgles2-mesa-dev libglew-dev libglu1-mesa-dev libgnutls28-dev

sudo apt install -y libgpg-error-dev libgtest-dev libiso9660-dev libjpeg-dev liblcms2-dev liblirc-dev libltdl-dev liblzo2-dev libmicrohttpd-dev libnfs-dev

sudo apt install -y libogg-dev libomxil-bellagio-dev libpcre3-dev libplist-dev libpng-dev libpulse-dev libshairplay-dev libsmbclient-dev libspdlog-dev

sudo apt install -y libsqlite3-dev libssl-dev libtag1-dev libtiff5-dev libtinyxml-dev libtinyxml2-dev libtool libudev-dev libunistring-dev

sudo apt install -y libva-dev libvdpau-dev libvorbis-dev libxkbcommon-dev libxmu-dev libxrandr-dev libxslt1-dev libxt-dev waylandpp-dev wayland-protocols

sudo apt install -y lsb-release meson nasm ninja-build python3-dev python3-pil python3-minimal rapidjson-dev swig unzip uuid-dev zip zlib1g-dev

flatbuffers libmysqlclient-dev は見つからないとエラーするのでスキップ

やはり変化無し、ninja: error: loading 'build.ninja': No such file or directoryを回避する方法を見つけなければ手詰まり。

 

参考に

forums.ankiweb.net

ninjaのパスが通っているのか、と場所確認コマンド

whereis ninja

結果

ninja: /usr/bin/ninja /usr/share/man/man1/ninja.1.gz

パスは通っているしちゃんとファイルも確認できる。

 

qiita で'build.ninja': No such file or directory で検索

qiita.com

build.ninjaは、makeで言えばMakefileがninjaではbuild.ninjaとの事らしい。

ls tools/depends/target/wayland-protocols を実施
Makefile  wayland-protocols-1.32.tar.xz
native    wayland-protocols-1.32.tar.xz.sha512

Makefileは有るが、build.ninjaは存在しないので、エラーは当然?

一旦、build.ninja を無視

そのあとに発生している

make: *** [Makefile:54: .installed-native] エラー 1

で検索

qiita.com

sudo apt install libssl-dev libffi-dev libncurses5-dev zlib1g zlib1g-dev libreadline-dev libbz2-dev libsqlite3-dev make gcc

実施したが、変わらず。

 

別のビルドを試してみる

sudo make -C tools/depends/target/waylandpp PREFIX=/usr/local
make: ディレクトリ '/home/kona/kodi/tools/depends/target/waylandpp' に入ります
download waylandpp-1.0.0.tar.gz attempt 1
rm -rf native/*; mkdir -p native
cd native; tar --strip-components=1 -xf /home/kona/kodi/tools/depends/waylandpp-1.0.0.tar.gz
cd native; patch -p1 -i ../001-fix-gcc13-build.patch
patching file include/wayland-client.hpp
patching file include/wayland-server.hpp
patching file scanner/scanner.cpp
mkdir -p native/build
cd native/build; cmake -DBUILD_DOCUMENTATION=OFF -DBUILD_LIBRARIES=ON -DBUILD_SHARED_LIBS=OFF -DBUILD_EXAMPLES=OFF -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_INSTALL_LIBDIR=lib -DBUILD_SCANNER=ON  ..
-- The CXX compiler identification is GNU 12.2.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1")
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Checking for module 'pugixml>=1.4'
--   Package 'pugixml', required by 'virtual:world', not found
CMake Error at /usr/share/cmake-3.25/Modules/FindPkgConfig.cmake:607 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-3.25/Modules/FindPkgConfig.cmake:829 (_pkg_check_modules_internal)
  CMakeLists.txt:90 (pkg_check_modules)


-- Configuring incomplete, errors occurred!
See also "/home/kona/kodi/tools/depends/target/waylandpp/native/build/CMakeFiles/CMakeOutput.log".
make: *** [Makefile:41: native] エラー 1
make: ディレクトリ '/home/kona/kodi/tools/depends/target/waylandpp' から出ます

エラーにはなるが、build.ninja のエラーは発生していない。

やはり、Makefile内のアドレスは、httpからhttpsに修正する必要はあった。

次に、

sudo make -C tools/depends/target/crossguid PREFIX=/usr/local

は終了できた!が、途中にwarning

CMake Warning (dev) at /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
  The package name passed to `find_package_handle_standard_args` (LibUUID)
  does not match the name of the calling package (Libuuid).  This can lead to
  problems in calling code that expects `find_package` result variables
  (e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
  cmake/FindLibuuid.cmake:18 (find_package_handle_standard_args)
  CMakeLists.txt:33 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

実行してみるが、アボートした。(GUIのメニューは無い?のでCLIコマンドで実行)

Unable to find path to Kodi data files!
free(): corrupted unsorted chunks
Aborted (core dumped)
Crash report available at /home/kona/kodi_crashlog-20240509_155335.log

sudo make -C tools/depends/target/flatbuffers PREFIX=/usr/local

前回は10秒もかからず終了したが、今回は時間がかかる様なので一旦休止

再度実施

5%まで7分ほどかかったが、以降の進み具合は一定ではなさそう

約1時間15分で完了。

実行したが、やはりエラーで実行できず

Unable to find path to Kodi data files!
free(): corrupted unsorted chunks
Aborted (core dumped)
Crash report available at /home/kona/kodi_crashlog-20240509_183953.log

 

Unable to find path to Kodi data files

はデータ用のフォルダが無い?一度aptでkodiを再インストールすれば作成されるかもしれないので、インストール・アンインストール実施。

NG

kodi --version

実施
Kodi Media Center 20.5 (20.5.0) Git:20240501-8c8d7afa26
Copyright (C) 2005-2021 Team Kodi - http://kodi.tv

??Omegaなので、21.0のはず、aptで上書きされた??もう一度ビルドしてみる。

 

sudo make -C tools/depends/target/flatbuffers PREFIX=/usr/local

ではビルド済みなので、何もせず終了してしまうので、-Bを付けて実行。

sudo make -C tools/depends/target/flatbuffers PREFIX=/usr/local -B

結果変わらず、version 20.5 で、実行するとアボートする。

 

sudo make -C tools/depends/target/fmt PREFIX=/usr/local

でやってみる、結果は同じくアボートで次

sudo make -C tools/depends/target/spdlog PREFIX=/usr/local

結果同じ、logを確認して対策を考えよう。

根本的に間違って要るっぽいので、ドキュメント読み直そう。

 

 

Omegaを指定しているので、build.ninjaが無い(Omegaのgitにファイルが不足?)かもしれないので確認。

現在の$HOME/kodiをリネーム

デフォルトのkodiソースをダウンロード

git clone https://github.com/xbmc/xbmc kodi

cd $HOME/kodi

で、とりあえずwayland関連のみ実行してみる。

Build and install crossguid:

sudo make -C tools/depends/target/crossguid PREFIX=/usr/local

Build and install flatbuffers:

sudo make -C tools/depends/target/flatbuffers PREFIX=/usr/local

Build and install libfmt:

sudo make -C tools/depends/target/fmt PREFIX=/usr/local

Build and install libspdlog:

sudo make -C tools/depends/target/spdlog PREFIX=/usr/local

Build and install wayland-protocols:

sudo make -C tools/depends/target/wayland-protocols PREFIX=/usr/local

Build and install waylandpp:

sudo make -C tools/depends/target/waylandpp PREFIX=/usr/local

まず

sudo make -C tools/depends/target/wayland-protocols PREFIX=/usr/local

エラー、url修正

sudo nano tools/depends/target/wayland-protocols/Makefile

BASE_URL := http://mirrors.kodi.tv/build-deps/sources

BASE_URL := https://mirrors.kodi.tv/build-deps/sources

warningが出力されるが、実行完了

下記内容なので、問題無い?

警告: setup コマンドを「meson setup [options]」ではなく「meson [options]」として実行することはあいまいであり、非推奨です。

 

次のまえに、build.ninjaのファイル確認する、

/home/kona/kodi/tools/depends/target/wayland-protocols/native/build

配下に、build.ninja等が存在、リネームした前回の同じフォルダは空。

 

/home/kona/kodi-omega/tools/depends/target/waylandpp/native/build

も確認

前回フォルダ空ではないが、build.ninjaは無い

sudo make -C tools/depends/target/waylandpp PREFIX=/usr/local

エラー、url修正

sudo nano tools/depends/target/waylandpp/Makefile

BASE_URL := http://mirrors.kodi.tv/build-deps/sources

BASE_URL := https://mirrors.kodi.tv/build-deps/sources

今回作業フォルダは、waylandpp配下にフォルダは無くファイルが3つだけ、コマンド投入で必要なファイルのダウンロード・展開。フォルダ作成などが行われた。

エラー

make[1]: *** ターゲットが指定されておらず, makefile も見つかりません.  中止.
make[1]: ディレクトリ '/home/kona/kodi/tools/depends/target/waylandpp/native/build' から出ます
make: *** [Makefile:44: native/build/libwayland-client++.so] エラー 2

 

順番にビルドしなければいけないかも?少なくともOmegaを指定するとビルドが失敗するのは環境設定等が原因では無いと思われる。

順番に行ってみたが、最後の

sudo make -C tools/depends/target/waylandpp PREFIX=/usr/local

でエラーは変わらず。

make[1]: *** ターゲットが指定されておらず, makefile も見つかりません.  中止.

なので、Omegaで発生したエラーと似ている?

ninja: error: loading 'build.ninja': No such file or directory

 

 

注意事項があった、要確認。

Warning

Building waylandpp has some dependencies of its own, namely scons, libwayland-dev (>= 1.11.0) and libwayland-egl1-mesa

waylandpp のビルドには、scons、libwayland-dev (>= 1.11.0)、libwayland-egl1-mesa という独自の依存関係がいくつかあります。

 

scons libwayland-egl1-mesa インストールしてなかった。

sudo apt install scons libwayland-egl1-mesa

libwayland-dev は 1.22.0-2.1~bpo12+rpt1 なのでOK? >=1.11.0 以上の意味だよね?

再度実行

sudo make -C tools/depends/target/waylandpp PREFIX=/usr/local -B

エラー pugixml が無い

--   Package 'pugixml', required by 'virtual:world', not found
CMake Error at /usr/share/cmake-3.25/Modules/FindPkgConfig.cmake:607 (message):
  A required package was not found
Call Stack (most recent call first):
  /usr/share/cmake-3.25/Modules/FindPkgConfig.cmake:829 (_pkg_check_modules_internal)
  CMakeLists.txt:90 (pkg_check_modules)

cmakeを再インストールしてみる

sudo apt reinstall cmake

NG 

sudo apt reinstall pugixml

は候補パッケージ無しなので

Pugixml Ubuntu で検索

以下のバイナリパッケージがこのソースパッケージからビルドされています。

libpugixml-dev
    Light-weight C++ XML processing library (development)
libpugixml1v5
    Light-weight C++ XML processing library
pugixml-doc
    Light-weight C++ XML processing library (documentation) 

との事なので、aptでインストール

sudo apt reinstall libpugixml-dev

sudo apt reinstall libpugixml1v5

sudo apt reinstall pugixml-doc

再度実行

sudo make -C tools/depends/target/waylandpp PREFIX=/usr/local -B

 warning: null character(s) ignored が結構な数出力されたが、完了。

ここから、インストールできる様にビルド

mkdir $HOME/kodi-build

cd $HOME/kodi-build

X11の場合

Configure build for X11:

cmake ../kodi -DCMAKE_INSTALL_PREFIX=/usr/local -DCORE_PLATFORM_NAME=x11 -DAPP_RENDER_SYSTEM=gl

Waylandの場合

cmake ../kodi -DCMAKE_INSTALL_PREFIX=/usr/local -DCORE_PLATFORM_NAME=wayland -DAPP_RENDER_SYSTEM=gl

GBMの場合

cmake ../kodi -DCMAKE_INSTALL_PREFIX=/usr/local -DCORE_PLATFORM_NAME=gbm -DAPP_RENDER_SYSTEM=gles

GLの場合

Or configure build with any combination of the three (default is "x11 wayland gbm"):

cmake ../kodi -DCMAKE_INSTALL_PREFIX=/usr/local -DCORE_PLATFORM_NAME="x11 wayland gbm" -DAPP_RENDER_SYSTEM=gl

 

 

動画再生はしないし、リモートデスクトップで操作したいので、X11でビルドしてみる。

cmake ../kodi -DCMAKE_INSTALL_PREFIX=/usr/local -DCORE_PLATFORM_NAME=x11 -DAPP_RENDER_SYSTEM=gl

エラー

CMake Error at /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find LibDRM (missing: LIBDRM_LIBRARY) (Required is at least
  version "2.4.95")

Could NOT find LibDRM で検索

libdrm-dev をインストールすれば良さげなので

sudo apt install libdrm-dev

進んだが、またエラーで止まる

gmake[2]: *** [CMakeFiles/groovy-populate.dir/build.make:100: groovy-populate-prefix/src/groovy-populate-stamp/groovy-populate-download] エラー 1
gmake[1]: *** [CMakeFiles/Makefile2:83: CMakeFiles/groovy-populate.dir/all] エラー 2
gmake: *** [Makefile:91: all] エラー 2

CMake Error at /usr/share/cmake-3.25/Modules/FetchContent.cmake:1616 (message):
  Build step for groovy failed: 2
Call Stack (most recent call first):
  /usr/share/cmake-3.25/Modules/FetchContent.cmake:1756:EVAL:2 (__FetchContent_directPopulate)
  /usr/share/cmake-3.25/Modules/FetchContent.cmake:1756 (cmake_language)
  /usr/share/cmake-3.25/Modules/FetchContent.cmake:1970 (FetchContent_Populate)
  xbmc/interfaces/swig/CMakeLists.txt:78 (FetchContent_MakeAvailable)

この前に、ファイルダウンロード中にエラーが発生しているので、またurlのhttpをhttps修正が必要かも。

url修正が、どのファイルか不明。

cmake ../kodi -DCMAKE_INSTALL_PREFIX=/usr/local -DCORE_PLATFORM_NAME=x11 -DAPP_RENDER_SYSTEM=gl

ログ確認したが、対策浮かばない。

gmake[1]: *** [CMakeFiles/cmTC_d0e4c.dir/build.make:78: CMakeFiles/cmTC_d0e4c.dir/src.cxx.o] エラー 1

有線LANで自宅固定回線接続ならOKだった。

モバイル回線でiPhoneテザリングを使ってRaspBerryPiを使っていたからダメだった?

 

cmake --build . -- VERBOSE=1 -j$(getconf _NPROCESSORS_ONLN)

したが、エラー

手順でcd $HOME/kodi-build しているが?何もないので、$HOME/kodiにしてみる

cd $HOME/kodi

cmake --build . -- VERBOSE=1 -j$(getconf _NPROCESSORS_ONLN)

走った、が途中で止まったのでX11ビルドからやり直す。

3h放置後確認したら、ストールしてた。

swapファイル確認。

sudo swapon --show

100MBなので、拡大

swap停止
sudo dphys-swapfile swapoff
設定ファイル変更
sudo nano /etc/dphys-swapfile

CONF_SWAPSIZE=100
100=100MB なので、数値を変更

めんどいので、2000に設定

swapファイルを再作成
sudo dphys-swapfile setup
作成したswap機能を有効化
sudo dphys-swapfile swapon
再起動
sudo reboot
確認
sudo swapon --show
でSIZEを確認
23:45 開始

1h経過後も進んでいるので、一晩待ってみる。

やっぱり、途中で止まるが時間や処理が止まる場所が一定では無いので冷却を一時的に強化しながら実行してみる。

止まった、電源を変えてみる。(UnderVoltageが表示されないACアダプタ)

止まる、冷却も追加。

おおよそ6時間30分程で完了(Raspberry Pi 3 model B Raspberry Pi 3 model B+ではない。)

実行(sshからではRROR: Unable to create GUI. Exitingではじかれるので、ローカルかリモートデスクトップ

./x11-kodi 

バージョンは、21.0RCだったので21.0Omegaの正式リリース前のバージョン?

x11なので、リモートデスクトップで操作可能だがフルスクリーンでは非常に重たかった。(ウィンドウモードでは普通に使えるが解像度変更はできなかった。)

インストール(sudo make install)は未実施。

音楽サーバ機能をざっくり確認したが、iPhoneは問題無し、androidはプレイリストは使える様になったが楽曲表示で強制終了してしまう。

音楽ライブラリを読み込みしたがアイコンが崩れる(読み損なっている)LibreELECのNightlyBuildで発生していた現象が発生している。

手順や注意事項を整理したいが、RC版ではなく正式リリース版でビルドする方法を見つけないといかん。

 

waylandでもリモートデスクトップ可能なのでは?と思いPi4で実施してみる。

1h20minほどで、エラーで止まった。

gmake[2]: *** [CMakeFiles/kodi.dir/build.make:556: kodi-wayland] エラー 1
gmake[2]: ディレクトリ '/home/kona/kodi' から出ます
gmake[1]: *** [CMakeFiles/Makefile2:5413: CMakeFiles/kodi.dir/all] エラー 2
gmake[1]: ディレクトリ '/home/kona/kodi' から出ます
gmake: *** [Makefile:146: all] エラー 2

 

Makefile修正の情報が有ったので、修正した。

nano $HOME/kodi/tools/depends/target/wayland-protocols/Makefile

先頭行

-include ../../Makefile.include
DEPS =Makefile ../../download-files.include

の後に

AUTORECONFF=autoreconf

を追記

NG、結果変わらず。

容量不足も発生、256GBのSSDなので問題無いと思っていたがKonaLinuxPi3を使用しておりインストール後にパーテション拡張していなかった。

sudo apt install gparted

gpartedでパーティション拡大。

バージョンに関してはWindowsストアもRCらしいのでgit pull で最新にしてもう一度ビルドしてみよう。

 

forum.kodi.tv

vnc接続した際にの表示異常対策。

表示その物は問題無いがランチャーの位置が低解像度のままで、メニュー操作も低解像度の動作なのでウィンドウが小さくなったり操作がままならない。

sudo nano /boot/firmware/config.txt

最後尾に

hdmi_force_hotplug=1

を追記しHDMI信号を常時出力させた。

標準OSでは、コメントアウトするらしいがKonaは無かったので追記した。

(config.txtの場所や編集の方法は標準OSと異なる見たい)

??機能してないかも。

Pi4でwayland  NGだったので、git pull後の2004/05/13最新版のx11をビルドしてみる。

約1時間30分で完了、かなり速くなった。

動作確認、androidで楽曲表示で強制終了は改善せずなので他は確認しない。

 

waylandのビルド失敗を調査

kodi wayland build error で検索

github.com

失敗してる人がいた、ビルド用のディレクトリを空にしてから実施してとの回答。

当然といえば当然だった、別のディレクトリを作成して実施してみよう。

kodiとkodi-buildを削除して再度実行。

手順通り進める、前回kodi-buildが必要無い状況になったがどこか間違っていた模様。

今回は、手順通りkodi-buildを使う状況(正しい状況)で実施できている。

やっぱりエラーで止まった。

/usr/local/lib/libwayland-egl++.a(wayland-egl.cpp.o):wayland-egl.cpp:function wayland::egl_window_t::get_attached_size(int&, int&): error: undefined reference to 'wl_egl_window_get_attached_size'
collect2: error: ld returned 1 exit status
gmake[2]: *** [CMakeFiles/kodi.dir/build.make:546: kodi-wayland] エラー 1
gmake[2]: ディレクトリ '/home/kona/kodi-build' から出ます
gmake[1]: *** [CMakeFiles/Makefile2:5406: CMakeFiles/kodi.dir/all] エラー 2
gmake[1]: ディレクトリ '/home/kona/kodi-build' から出ます
gmake: *** [Makefile:146: all] エラー 2

 

'wl_egl_window_get_attached_size'

collect2: error

が要因っぽい。

ビルドに関係あるのか判らないが、waylandに切り替えてから実行してみよう。

waylandに切り替えても同じエラーでNG、だがX11ビルド版でのレスポンスが改善した。(フルスクリーンでも良好)

kodi以外に影響が出そうなアプリは使わない予定なのでwayland版はそのうち。

 

2024/05/17 apt update とupgrade再実行少し変わったがエラー。

collect2: error: ld returned 1 exit status
gmake[2]: *** [CMakeFiles/kodi.dir/build.make:554: kodi-wayland] エラー 1
gmake[2]: ディレクトリ '/home/kona/kodi-build' から出ます
gmake[1]: *** [CMakeFiles/Makefile2:5375: CMakeFiles/kodi.dir/all] エラー 2
gmake[1]: ディレクトリ '/home/kona/kodi-build' から出ます
gmake: *** [Makefile:146: all] エラー 2

 

kodi build wayland error "554" で検索

似た様なやり取りがフォーラムにあった。

forum.kodi.tv

Add more swap or disable LTO: (-DUSE_LTO=OFF)

swap拡大かdisable LTO: (-DUSE_LTO=OFF)との事らしいが、swapは2GB以上指定できなかった?ので

 

cmake ../kodi -DCMAKE_INSTALL_PREFIX=/usr/local -DCORE_PLATFORM_NAME=wayland -DAPP_RENDER_SYSTEM=gl

cmake ../kodi -DCMAKE_INSTALL_PREFIX=/usr/local  -DUSE_LTO=OFF -DCORE_PLATFORM_NAME=wayland -DAPP_RENDER_SYSTEM=gl

としてみる。

NG 結果変わらず、同じエラーで止まる。

 

とりあえず成功した実行ファイルをコピーしただけでは他の環境では実行できなかったので、インストール形式(deb)を作成したい。

Raspberry Pi kodi build deb で検索

標準OS用のinstall-dependencies-and-build-kodi.sh がgitにあった

https://gist.github.com/Wikinaut/a3a36aab6ec9270914e2084cfae6ad45

Konaで使う場合は、ホームディレクトリが違うので修正する事。

とりあえず、/home配下に、piとkodiを作成。

sudo ./install-dependencies-and-build-kodi.sh 

でやってみる。

 

 

 

 

LibreELEC12.0.0(Kodi21.0)でdlnaサーバ(UPnP)のプレイリスト機能がスマートフォンから使えた

libreelec.tv

公式から、Kodi21.0に対応したバージョンがリリースされたので確認。

RPi 2 LibreELEC-RPi2.arm-12.0.0.img.gz

をダウンロードして、RaspBerryPi3にインストール。

ライブラリに楽曲データを登録して確認。

iPhoneandroidのfidataからプレイリストが正常に使用できた。

androidのfidataが使用できない(強制終了する)問題も改善した。

簡単に確認しただけなので、確認は不十分かもしれないがバージョンによる問題やスマホアプリ(androidのfidata)の問題も改善した。

RaspBerryPiの標準OS用(armのlinux用?)がリポジトリに登録されれば標準OSでの運用の方がセキュリティ・安定動作の面でも良いかも。

KonaLinuxPi3.0も捨てがたいので、21.0がインストールできるようになったら要検討。

 

2024/05/07 Libreelec以外でRaspBerryPiで21.0を使いたいので調べてみる kodi omega raspberry pi で検索

ラズパイフォーラムで受け答えが有った。

https://forums.raspberrypi.com/viewtopic.php?t=369023

リポジトリに現在主流の20.0と21.0を同時に登録するのは難しい、21.0に切り替えるには早すぎる(アドオン等が対応できていないので現状不具合が起こる)

やはり、自前でビルドして自分の使いたいバージョンを確保したい。

linux インストール済みプログラムからdebファイル作成 で検索

そもそも、apt download コマンドがあるとの事だった。

apt download kodi

で現在のリポジトリ登録に登録されているバージョンをdeb形式でダウンロードできたので21.0がリリースされたら確保しておこう。

インストールは、

sudo apt install ダウンロードしたdebファイル

sudo apt install ./kodi_3%3a20.3-3~bookworm_all.deb

 

Kodi v21 deb arm64 で検索、gitにあるっぽい

forum.odroid.com

Libreelecから抽出できるかも、後で実施する予定の手順。

Libreelec(64bitの場合はPi4用)をセットアップ。

sshでログイン

apt download kodi

でダウンロード可能だったらLibreelec内蔵のファイルマネージャでバックアップ。

apt コマンドサポート外だったかも?

やっぱりapt受け付けなかった、アップデートもLibreelecを丸ごとでaptとかflatpakではないのかな?

Kodiのdlna(UPnP)サーバー機能のノードカスタマイズができない

公式Wikiにて、

If using the Kodi UPnP Server, these browse tree nodes are based on the Kodi library nodes and you can create additional nodes in the Kodi server to expand the browse tree.

Kodi UPnP サーバーを使用している場合、これらのブラウズ ツリー ノードは Kodi ライブラリ ノードに基づいており、Kodi サーバーに追加のノードを作成してブラウズ ツリーを拡張できます。

kodi.wiki

となっているので、デフォルトのxmlファイルの必要最低限をuserdata/library/musicにコピーしたが、kodiのローカル画面では反映され使わないノードが表示されなくなった。

しかし、サーバー機能を使用しているiPhoneのfidataアプリ側からはデフォルトノードがそのまま表示されて全く変わらない。

テストでWindows環境でデフォルトノードを強制削除(xml拡張子をリネーム)したが変わらず。

Wikiでデフォルトノードは変更せず、変更したい場合はuserdata/libraryにmusicを作成しコピーするとあった。

なので、カスタムノードが反映されないのでデフォルトノードを強制変更してみたが失敗。

Kodiの内部(バイナリ)で保持されているとは思えないので、どこかにdlan・UPnPサーバに対する記述が有るはず。*1

 

ncos1.hatenablog.com

 

 

*1:+_+

Kodi 画像表示スマートプレイリストの表示階層を上げる(アクセスし易くする)

現在プレイリスト配下から、画像表示用のスマートプレイリストフォルダにアクセスするので、iPhoneのfidataアプリからアクセスする場合に操作がちょっと不便。

 

ncos1.hatenablog.com

 

まず、プレイリストの設定ファイルを検索してそれらしいファイルを見つけた。

Windows

C:\Program Files\Kodi\system\library\music\playlists.xml

内容

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<node order="120" type="folder">
    <label>136</label>
    <icon>DefaultMusicPlaylists.png</icon>
    <path>special://musicplaylists/</path>
</node>

node order="120"の意味が知りたかったので、kodi xml node order= で検索、公式wikiにて記述があった。

公式wiki

kodi.wiki

<node order="120" はプレイリストアイコンの表示順

<label>136</label> 表示されるテキスト、番号は内部予約されているテキストで136は、playlistで日本語の場合はプレイリストに変更される。

<icon>DefaultMusicPlaylists.png</icon>

アイコン設定、フルパスで指定すれば任意の画像を設定可能。

 

新規でスマートプレイリスト用を作成

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<node order="1" type="folder">
    <label>スマートプレイリスト</label>
    <icon>C:\Users\***\AppData\Roaming\Kodi\userdata\playlists\music\smart\folder.tbn</icon>
    <path>C:\Users\***\AppData\Roaming\Kodi\userdata\playlists\music\smart\</path>
</node>

Kodiの画面上では、ジャンル・プレイリスト等と同階層で一番最初にスマートプレイリストのフォルダ(C:\Users\***\AppData\Roaming\Kodi\userdata\playlists\music\smart\)が表示されるようになった。

問題点

.tbnファイルが表示されてしまう現象が再発。

iPhoneのfidataアプリ側では反映されず、本来の目的は達成できず。

この状態であれば、スマートプレイリスト用のフォルダをお気に入りに登録しても大差ない。🤔

 

RaspBerriPi(Linux

wikiでは、     /usr/share/xbmc/system/library/ となっているが、現在は

/usr/share/kodi/system/library/ 

ファイルマネージャでコピペ可能なのでWindowsで作成してコピペしてみるが操作不可でコピーできない、コマンドラインからスーパーユーザーでやらないとダメ?
スマートプレイリストサンプル

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<node order="1" type="folder">
    <label>スマートプレイリスト</label>
    <icon>/usr/share/xbmc/system/library/smart.jpg</icon>
    <path>~/.kodi/userdata/playlists/music/smart/</path>
</node>

 

 

2024/04/23追記 wikiを読み直したら

C:\Program Files (x86)\XBMC\system\library to %appdata%\XBMC\userdata\library.

Having copied the node structure, we can now create a new xml file under the relevant directory.

In a vanilla install with the confluence skin, custom nodes in /music will appear in the sub-list of the Music main menu item.

For now, we're going to place our node under

/userdata/library/music/

libraryフォルダに、music フォルダを作成してそこに、作成したxmlをコピーするとの事、xmlファイルはノードファイルと呼ぶ。

元々存在する、C:\Program Files\Kodi\system\library\music\***.xmlは、デフォルトノードでlibrary配下に、musicを作成すると無効化(カスタムノードが有効化されるため)され表示されなくなるので、必要なデフォルトノード(ジャンル・アーティスト)等をカスタムノードフォルダにコピーする必要が有る。

カスタムフォルダに、上記で作成したスマートプレイリストンプルのみをコピーすると

デフォルトノードが全て消えて、作成したノードのみが表示された。

カテゴリ項目には、デフォルトノードは表示されるが再起動すると消えてスマートプレイリストのみになった。

しかし、やはりtbnファイルが表示されてしまう上にiPhoneのfidataアプリ上ではデフォルトノードのみの表示で変更されず目的は達成できず。

 

デフォルトノードの記述にある

special://musicplaylists/

は内部パスと呼ばれる特殊なパス記述との事。

Music
Sub-section Name     Path
Root     library://music/   
Genres     musicdb://genres/
Artists     musicdb://artists/
Albums     musicdb://albums/
Song     musicdb://songs/
Top100     musicdb://top100/
Top100Songs     musicdb://top100/songs/
Top100Albums     musicdb://top100/albums/
RecentlyAddedAlbums     musicdb://recentlyaddedalbums/
RecentlyPlayedAlbums     musicdb://recentlyplayedalbums/
Compilations     musicdb://compilations/
Years     musicdb://years/
Singles     musicdb://singles/
Files     sources://music/
Playlists     special://musicplaylists/
Current Playlist     playlistmusic://
Music Add-ons     addons://sources/audio/ 

kodi.wiki

 

RaspBerryPiで実施

smart.xmlで下記内容で作成。

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<node order="1" type="folder">
    <label>スマートプレイリスト</label>
    <icon>special://profile/library/music/smart.jpg</icon>
    <path>special://profile/library/music</path>
</node>

スペシャルファイル名でパス指定、ファイルマネージャでプロファイルディレクトリの配下のlibraryフォルダ配下に、musicを作成。

カスタムノードが有効になるので、作成したmusicフォルダ配下にsmart.xmlを配置したらWindowsで確認したフルパス指定と同じ動作となった。

やはり、iPhone側のfidataアプリではデフォルトノードしか表示されず、カスタムノードは反映されない。

tbnファイルが表示されてしまう問題対策として、

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<node order="1" type="folder">
    <label>スマートプレイリスト</label>
    <icon>special://profile/library/music/smart.jpg</icon>
    <path>special://profile/library/music/smart</path>
</node>

musicフォルダ配下を指定してみたがNGだった、指定したパス配下にフォルダを作成してxspとtbnファイルを置かないとtbnファイルが表示されてしまうみたい。

 

2024/04/24 追記

そもそもノードを編集するのに Library Node Editor アドオンが用意されていた。

アドオンをインストール後にプレイリスト用のアイコンを変更してみる。

変更できたが、iPhoneのfidataアプリではやはり反映されないのでUpnpサーバ(dlnaサーバ)側はやはり別の設定(デフォルトノードのみ)が保持されているみたい。🤔

 

2024/04/25追記

公式wikiにてUPnPで検索したら、Libraryを参照しており変更可能との事なのでnodesフォルダを作成して配下にノードをコピーしてみたが反映されず。😢

kodi.wiki

If using the Kodi UPnP Server, these browse tree nodes are based on the Kodi library nodes and you can create additional nodes in the Kodi server to expand the browse tree.

Kodi UPnP サーバーを使用している場合、これらのブラウズ ツリー ノードは Kodi ライブラリ ノードに基づいており、Kodi サーバーに追加のノードを作成してブラウズ ツリーを拡張できます。 

2024/04/26追記

if~を検索してみる、サポートの掲示板に、”詳細な手順が見当たらない” ”クライアント側にはデフォルトが表示され変更しても反映されない”等同じく手詰まりみたいで返信も無いので解決手段は見当たらず。

forum.kodi.tvノードの変更・追加・削除ができるようになれば色々な設定が出来そう。(・・?

kodi.wiki