「なかかな良い」との感想は前回のブログで記した通り。
ただし、インターレース解除が未実装なのが玉にキズ。

多分、それらが実装された後に「v19 + ラズパイ3」がリリースとなるのだろう。
今回、ラズパイ3で使用した環境は以下通り。

bullseye(32bit) + kodi(popcornmixのbrunch bullseye)

しばらく使っていると色々と問題もみえてきた。

最初に気付いたのは、pvrアドオン使用時にタイマールールが一部しか表示されないこと。
busterでは動作していたものである。
当然だがwindowsでも問題無かったもの。

気になったので、kodiのソースから問題の箇所を調べてみた。
どうも時間を扱う関数に問題がありそうである。
pvrアドオンのルールでは予約開始をanyとする事が多々有る。
any時間をタイマー登録する場合、CDateTimeクラスのデフォルトコンストラクタ内Reset関数で最小値を設定。

実際のコードは下記通り。

- src/kodi/xbmc/XBDateTime.cpp -
void CDateTime::Reset()
{
  SetDateTime(1601, 1, 1, 0, 0, 0);
  SetValid(false);
}


デフォルト値として「1601/1/1/ 00:00:00」に設定。
上記SetDateTime関数より先では、kodi定義の時間構造体から一旦整数にして保持される。
しかしながら、元に戻した時間は不定となって返ってくる。

とりあえず、1601年 もう少しばかり現代に近づけた値にすることで正しく動作した。
消去法で考えるとbullseyeの提供する標準ライブラリ関数に依存した問題かと思う。

次にfan-shim用に使用しているサービスに関する事。
pimoroniのfan-shimを使用しているのだが、c言語で記された制御プログラムを用いている。

https://github.com/flobernd/raspi-fanshim

このプログラムはライブラリwiringpiを必要とする。
しかしながら、bullseyeではwiringpiの使用を推奨せず、且つリポジトリからは外れている。

そもそもpimoroniからpythonで組まれた制御プログラムが提供されている。
唯このプログラム、ファン制御のためだけにあれこれインストールする事になる。
そんな理由から使うことを避けている。
よって、仕方なくraspi-configからシステムで用意されているfan制御を使用することにした。

後、それに関係するのだがkodiのシステム情報からcpu温度を見ると-1度 、正しく取得できていないようである。
さて、ファン回転開始の閾値である温度は有効なのか?
vcgencmdでは正しく取得出来ている。
実際にコントロールは出来ているようだ。

気になった点は以上。
パッチだらけのkodiをbusterにインストールする事を考えれば全然良い。
いやいや、それどころかインターレース解除が実装されれば普通に使える。

次はレトロゲーム。
v18ではランチャーとしてAMLアドオンの使用を断念している。
ラズパイでwindowシステム無しだとダメらしいと、適当な事を言って諦めたが...。
v19ではどうなんだろうか。