Waveshare 3.5inch RPi LCD (A)を使う - Naohiro2g/Raspberry-Pi-Projects GitHub Wiki

現状、とりあえず、2画面目として使える。が、まだよくわかってない。最終的には、アプリからLCD画面を使いたい。

言えることは、SSD起動状態でwaveshareのアーカイブをインストールしちゃダメ。スクリプトにconfig.txtとcmdline.txtを破壊されて起動しなくなる。

GPIOでSPIを使いたい時、/boot/config.txt にdtoverlay=waveshare35a をコメントアウトしないと、'SPI device not found'エラーが出る。

設定
/boot/overlays/waveshare35a.dtbo を配置。
/boot/config.txt にdtoverlay=waveshare35a を追記。これを生かしたままだと、SPIが使えなくなるので注意!


(1)コンソールでfbiを使い、LCDに壁紙画像を表示
fbi --noverbose --blend 1000 -t 3 -d /dev/fb1 /usr/share/rpd-wallpaper/*

(2)/usr/share/X11/xorg.conf.d/99-fbturbo.confの/dev/fb0を/dev/fb1に変更しておいて起動すれば、
LCDにデスクトップが立ち上がる。

(3)cmdline.txtにオプションとして `fbcon=map:1` を書いて起動すると、
コンソールとしてLCDが使用されて起動。デスクトップはHDMIに。
ctrl-alt-F1を打つと、LCDの方にキーボードが行く。ctrl-alt-F7で復帰。

(4)コンソールから以下のコマンドで切り替え。
`con2fbmap 1 1`
`con2fbmap 1 0`

試した

本家wiki https://www.waveshare.com/wiki/3.5inch_RPi_LCD_(A)

本家wikiの通りにやると、LCD-show/フォルダが作られ、 ./LCD35-showでLCDへ切り替わり、 ./LCD-hdmiでHDMIへ戻る 環境ができる。

しかし、/boot/config.txtと/boot/cmdline.txtを書き換えられてしまうので、SSD起動では都合が悪い。

一方、こちらを使えば、ファイル一つの書き換えで切り替えられる。 https://github.com/swkim01/waveshare-dtoverlays

$ git clone https://github.com/swkim01/waveshare-dtoverlays.git
$ cd waveshare-dtoverlays
$ sudo cp waveshare-dtoverlays/waveshare35a-overlay.dtb /boot/overlays/


/boot/config.txt にdtoverlay=waveshare35aを追記した状態でリブートするとLCDのバックライトが消える。
LCDの初期化ができているということ。
/usr/share/X11/xorg.conf.d/99-fbturbo.confの/dev/fb0を/dev/fb1に変更。
コンソールで(ctrl-alt-F1で入ってログイン)
$ startx
すればLCD上でX11が立ち上がり、HDMI用デスクトップの一部がLCDにも表示される。
タッチパネルも効いてる。

この時、HDMI側のコンソールはctrl-alt-F7でデスクトップに抜けられ、HDMIとLCDの両方を使用可能。

もとに戻すには、/usr/share/X11/xorg.conf.d/99-fbturbo.confの/dev/fb1を/dev/fb0に戻してリブート。
(電源を入れ直さないと立ち上がってこなかった。。シャットダウンできていない??)


このスレッドは読んだほうが良さそう。Wed Jun 20, 2018のスレッド。
Busterでのデュアルスクリーン対応までつながっている。
Multiple Frame buffer beta testers wanted
https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=216399

6by9 の最初のポストにあるサンプルコマンドは動いた。

(1)コンソールでfbiを使い、LCDに壁紙画像を表示
fbi --noverbose --blend 1000 -t 3 -d /dev/fb1 /usr/share/rpd-wallpaper/*

(2)コンソールで以下コマンドにて、LCD側にコンソールが移動した。
con2fbmap 1 1
さらに、以下のコマンドでHDMI側に戻った。
con1fbmap 1 0

要するに、すでにfbを複数持つことができるカーネルになっているということかな?

参考になる?「ラズパイでデュアルディスプレイ( Xineramaで )」 https://qiita.com/tin-machine/items/83118d45569602cea247