Seeed K.K.の松岡です。
先週、久々にお友達の作品制作をお手伝いしました。Seeeduino XIAOのソフトウェアを作ったのですが、、、そもそもシンセの一般的な振る舞い?が分からず、あーでもない、こーでもない、と試行錯誤。要件拾う、最初のコミュニケーション大事だなと思いつつも、ひとつのものを一緒に作る楽しいひとときでした。
さて、今回はreTerminalのディスプレイ設定です。
reTerminalにプレインストールされているRaspberry Pi OS 32bitはDebian 10(buster)ベースです。一方、Raspberry Pi Imagerで配布されている最新のRaspberry Pi OSはDebian 11(bullseye)ベースに更新されています。
やっぱ最新がいいよね、とreTerminalにbullseyeベースのRaspberry Pi OSをインストールしてreTerminalに関連したドライバーをインストールすると、ディスプレイが横向きに表示されてしまい、かなり使いにくい状況になります。
今回は、ディスプレイの横向き表示を直す手順を示します。
2022/9/26追記:
Raspberry Pi OS (32-bit) 2022-09-06時点、OSとreTerminalに関連したドライバーをインストールだけで、ディスプレイが正しく表示されます。
SeeedのreTerminalは、bullseyeベースを未だ正式サポートしていません。
bullseyeベースにすることで、ソフトウェアが動かないことがそれなりにあるようで、busterベースは当面提供されるようです。(関連記事@fabcross)
Raspberry Pi OSをインストールする
reTerminalのeMMCを初期状態に戻すを参考に、bullseyeベースのRaspberry Pi OS 32bitをインストールします。
- reTerminalのブートモードをUSBブートに変更
- rpiboot
- Raspberry Pi ImagerでRaspberry Pi OS 32bit bullseyeをインストール
- reTerminalのブートモードを通常ブートに戻す
Raspberry Pi Imagerで書き込む際にSSHでリモート接続できるようにしておきます。Ctrl+Shift+Xで表示される画面で、Enable SSHを有効にしてください。
reTerminalを起動すると、内部ではRaspberry Pi OSが起動しますがLCDディスプレイは真っ黒で何も表示されません。
xrandr
コマンドでモニターの状態を確認すると、LCDディスプレイ(DSI-1)が認識されていないことがわかります。
$ DISPLAY=:0.0 xrandr Screen 0: minimum 320 x 200, current 1024 x 768, maximum 7680 x 7680 HDMI-1 disconnected primary (normal left inverted right x axis y axis) HDMI-2 disconnected (normal left inverted right x axis y axis)
ドライバーをインストールする
reTerminalに関連したドライバーをインストールします。
ここで、必ずsudo apt upgrade
コマンドでインストール済みパッケージを更新してください。現時点の最新Raspberry Pi OSでは、インストール済みパッケージの更新をしないとディスプレイを正しい向きに変更することができませんでした。
↑ Raspberry Pi OS (32-bit) 2022-01-28イメージではインストール済みパッケージの更新は不要。
$ sudo apt update $ sudo apt upgrade
SeeedのGitHubリポジトリからreTerminalに関連したドライバーをクローンして、インストールします。
$ git clone --depth 1 https://github.com/Seeed-Studio/seeed-linux-dtoverlays $ cd seeed-linux-dtoverlays $ sudo ./scripts/reTerminal.sh $ sudo reboot
再起動後、LCDディスプレイが表示されます。ただし横向きに。(ボキッ
xrandr
コマンドでモニターの状態を確認すると、LCDディスプレイ(DSI-1)を認識しています。
本来なら、DSI-1 connected primary 720x1280+0+0の右にrightと表示されてほしい(モニター右回転設定)のですが、この時点では表示されていません。
$ DISPLAY=:0.0 xrandr Screen 0: minimum 320 x 200, current 720 x 1280, maximum 7680 x 7680 DSI-1 connected primary 720x1280+0+0 (normal left inverted right x axis y axis) 0mm x 0mm 720x1280 60.00*+ HDMI-1 disconnected (normal left inverted right x axis y axis) HDMI-2 disconnected (normal left inverted right x axis y axis)
モニターを設定する
~/.config/monitors.xmlファイルを追加して、LCDディスプレイ(DSI-1)を明示的に設定します。
$ vi ~/.config/monitors.xml $ sudo reboot
~/.config/monitors.xml:
<monitors version="2"> <configuration> <logicalmonitor> <x>0</x> <y>0</y> <primary>yes</primary> <monitor> <monitorspec> <connector>DSI-1</connector> <vendor>unknown</vendor> <product>unknown</product> <serial>unknown</serial> </monitorspec> <mode> <width>720</width> <height>1280</height> <rate>60.000</rate> </mode> </monitor> <transform> <rotation>right</rotation> </transform> </logicalmonitor> </configuration> </monitors>
イエーイ!
正しく表示されるようになりました。
参考に、xrandr
コマンドの結果を載せておきます。
$ DISPLAY=:0.0 xrandr Screen 0: minimum 320 x 200, current 1280 x 720, maximum 7680 x 7680 DSI-1 connected primary 1280x720+0+0 right (normal left inverted right x axis y axis) 0mm x 0mm 720x1280 60.00*+ HDMI-1 disconnected (normal left inverted right x axis y axis) HDMI-2 disconnected (normal left inverted right x axis y axis)
タッチパネルを設定する
LCDディスプレイが正しく表示されましたが、タッチしてみると思うように操作できないことに気づきます。タッチパネルがうまく設定されていないためです。
/boot/config.txtのdtoverlay=reTerminal
の右側に、,tp_rotate=1
を追記して再起動すると直ります。
$ sudo vi /boot/config.txt $ sudo reboot
/boot/config.txt:
... dtoverlay=reTerminal,tp_rotate=1 ...
[おまけ] モニターを設定する(GUI)
モニターを設定する操作だけは、マウスを接続すればGUIでも設定可能でした。
変更履歴
日付 | 変更者 | 変更内容 |
---|---|---|
2022/1/19 | 松岡 | 作成 |
2022/1/31 | 松岡 | Raspberry Pi OS (32-bit) 2022-01-28イメージに対応 |
2022/9/26 | 松岡 | Raspberry Pi OS (32-bit) 2022-09-06イメージは設定不要を追記 |