あっきぃ日誌

鉄道ブログのような技術系ブログのようななにか

Pimoroni HyperPixel シリーズのRaspberry Pi OS Bullseye対応状況

Raspberry Pi OS Bullseyeではカメラの他にディスプレイ周りも仕様が変わってKMSが導入されました。DSIやGPIOで接続するディスプレイはおそらくほとんどで対応が必要になっている状態です。Pimoroni HyperPixelシリーズも同じく対応が必要なので、現在は製品ページで、「/boot/config.txtからdtoverlay=vc4-kms-v3d」をコメントアウトする」ように注意書きがあります。

が、先月頃にHyperPixelシリーズについてDeviceTreeの追加コミットがあり、KMS対応ができたようです。というわけでちょっと試してみました。

DRM/KMS Pimoroni HyperPixel4 driver by 6by9 · Pull Request #4812 · raspberrypi/linux · GitHub

kernel: Bump to 5.15.21 · raspberrypi/rpi-firmware@fbcab73 · GitHub

まだOSのアップデートでは降ってきておらず、rpi-updateコマンドで最新のファームウェアを適用する必要があるため、本番利用はおすすめできない状態ですが、DeviceTreeが利用できるようになると/boot/config.txtへの記述が1行で済むようになります。

まずはHyperPixel 4。画面の回転に合わせてタッチパネルのパラメータ指定が必要になるので、一通り試してまとめました。

f:id:Akkiesoft:20220302232739j:plain

# 縦: LAN/USBポートが下
dtoverlay=vc4-kms-dpi-hyperpixel4
# 横: GPIOポートが下
dtoverlay=vc4-kms-dpi-hyperpixel4,rotate=90,touchscreen-swapped-x-y,touchscreen-inverted-y
# 縦:SDカードスロットが下
dtoverlay=vc4-kms-dpi-hyperpixel4,rotate=180,touchscreen-inverted-y
# 横: 電源/HDMIポートが下
dtoverlay=vc4-kms-dpi-hyperpixel4,rotate=270,touchscreen-swapped-x-y,touchscreen-inverted-x

続けてHyperPixel 4 Square……と思いきや、映像が乱れて実質使えていない状態。バグですかね🤔

f:id:Akkiesoft:20220302232753j:plain

気を取り直してHyperPixel 2.1 Round。こちらは180度回転させた時に挙動が違う以外の回転はOK。タッチはどれも反応せず……。

f:id:Akkiesoft:20220302232804j:plain

# 電源/HDMIポートが下
dtoverlay=vc4-kms-dpi-hyperpixel2r
# SDカードスロットが下
dtoverlay=vc4-kms-dpi-hyperpixel2r,rotate=90
# GPIOポートが下のハズだけどデスクトップが出る時に0度の状態になる
dtoverlay=vc4-kms-dpi-hyperpixel4,rotate=180
# LAN/USBポートが下
dtoverlay=vc4-kms-dpi-hyperpixel4,rotate=270

バグ報告してやり取りするのも大変なので、リリースされて向こうの人達が騒ぐのを待つか。いやモノグサすぎる?正式リリースまでに直っていてほしいな〜みたいな。

なお、Raspberry Piのオフィシャルディスプレイとかその他のディスプレイについてもいくつか対応が入っており、vc4-kms-dpi-もしくはvc4-kms-dsi-で始まるdtboファイルを探すと良さそうです。

rpi-firmware/overlays at master · raspberrypi/rpi-firmware · GitHub