海月玲二
2023-10-21(土)

無題

以前書いたように、さいきんraspberry piではWaveshareの8インチLCDを使っている。こいつはよくある1024x600じゃなくて1280x800なのに8インチで手頃なサイズだし、DSI接続だから配線がすっきりしてなかなかよいのだ。あまりほかにこういう仕様の商品はないと思う。

これも以前書いたように、ただひとつだけ問題があって、なんでか知らないがこいつはメーカー提供のドライバを入れてないと動かないのだ。解像度がおかしいとかタッチが効かないとかのレベルではなく、全く映りもしない。DSI接続でもたいていそんなことはない気がするんだが、よくわからない。で、そのドライバが特定バージョンのカーネルにしか対応していないので、わりと使いにくい。さすがに困った人がけっこういたのか、この手のWaveshare製DSI接続LCD用のリバースエンジニアリング版ドライバが開発された。めでたしめでたし。

というところまでは前書いたのだが、前試したときはどうもこの新ドライバがうまく動かせなかったので諦めていた。しかし、最近リリースされたbookworm版raspberry pi OSで試してみたところ、ごく簡単に動いてびっくりした。まず最初に何らかの方法でインストール用イメージを焼き、それからひとつめのパーティションを適当にマウントして、config.txtに

dtoverlay=vc4-kms-dsi-waveshare-panel,8_0_inch

みたいに書いておくだけである(カンマのうしろのオプションで、LCDの機種とか左右反転とかを指定する)。インストーラーから普通に画面が出てくれる。

前うまく動かせなかったのは、なんかカーネルが古いところに無理矢理ファイルをもってきてやろうとしてたからかもしれない。そもそもdtoverlayというのが何をしているのかよく知らないんだ。