ハードウェア: Raspberry Pi 3B/3B+/Zero 2W/Zero W
スクリーン: Osoyoo 3.5インチ SPI タッチスクリーン 480*320 (モデル番号: 2022013800)
システム: Raspberry Pi OS Trixie (64-bit)
購入リンク:
まず HDMI モニタを接続して起動し、初期設定(ユーザー名: pi)を完了させ、SSH を有効にします。
sudo apt-get update sudo apt-get upgrade -y
sudo apt-get install unzip cmake -y cd ~ sudo wget https://osoyoo.com/driver/osoyoo35b.zip sudo unzip ./osoyoo35b.zip sudo cp osoyoo35b.dtbo /boot/overlays/
sudo apt-get install xserver-xorg-video-fbdev xserver-xorg-legacy -y
パッケージの説明:
xserver-xorg-video-fbdev – fbdev ディスプレイ ドライバ (fbturbo の代替)xserver-xorg-legacy – Xwrapper.config の権限設定を可能にしますsudo nano /boot/firmware/config.txt
#dtoverlay=vc4-kms-v3d #dtoverlay=vc4-fkms-v3d #display_auto_detect=1
# ========== SPI Screen Configuration ==========
gpu_mem=64
display_auto_detect=0
disable_fw_kms_setup=1
max_framebuffers=2
dtparam=spi=on
dtoverlay=osoyoo35b:speed=20000000
hdmi_force_hotplug=1
max_usb_current=1
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 480 320 60 6 0 0 0
hdmi_drive=2
display_rotate=2
hdmi_cvt は必ず 480 320 に設定してください。640 480 ではありません。sudo raspi-config nonint do_boot_behaviour B2 sudo raspi-config nonint do_wayland W1
do_wayland W1 は Wayland から X11 への切り替えを行います。Trixie はデフォルトで Wayland ですが、SPI スクリーンは Wayland をサポートしていません。sudo tee /etc/X11/Xwrapper.config > /dev/null << 'EOF' allowed_users=anybody needs_root_rights=yes EOF
needs_root_rights=yes が必要になります。# modesetting/kms 設定の無効化
sudo mv /usr/share/X11/xorg.conf.d/20-noglamor.conf \
/usr/share/X11/xorg.conf.d/20-noglamor.conf.bak 2>/dev/null
# fbturbo 設定の削除
sudo rm -f /usr/share/X11/xorg.conf.d/99-fbturbo.conf
sudo nano /etc/X11/xorg.conf.d/99-fbdev.conf
以下の内容を追加します:
Section "ServerLayout"
Identifier "SPI Layout"
Screen "SPI Screen"
EndSection
Section "Device"
Identifier "SPI Display"
Driver "fbdev"
Option "fbdev" "/dev/fb1"
Option "ShadowFB" "on"
EndSection
Section "Monitor"
Identifier "SPI Monitor"
EndSection
Section "Screen"
Identifier "SPI Screen"
Monitor "SPI Monitor"
Device "SPI Display"
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "480x320"
Virtual 480 320
EndSubSection
EndSection
ServerLayout は X に対し、SPI スクリーンのみを使用するよう強制します。fbdev "/dev/fb1": RPi3 では SPI スクリーンは fb1 となります (fb0 は HDMI)。ShadowFB "on": 16ビット深度でのカラーレンダリングを向上させます。cat > ~/.bash_profile << 'EOF' export FRAMEBUFFER=/dev/fb1 startx 2> /tmp/xorg_errors EOF
sudo reboot
再起動に成功したら、SSH 経由で接続します:
sudo apt-get install xserver-xorg-input-evdev xinput-calibrator -y
sudo cp -rf /usr/share/X11/xorg.conf.d/10-evdev.conf \
/usr/share/X11/xorg.conf.d/45-evdev.conf
sudo tee /usr/share/X11/xorg.conf.d/99-calibration.conf > /dev/null << 'EOF'
Section "InputClass"
Identifier "calibration"
MatchProduct "ADS7846 Touchscreen"
Option "Calibration" "241 3854 3885 240"
Option "SwapAxes" "1"
EndSection
EOF
sudo reboot
| 設定項目 | オリジナル (RPi4/5) | RPi3 での変更点 |
|---|---|---|
| config.txt KMS | KMS 有効 | 必ず dtoverlay=vc4-kms-v3d をコメントアウトする |
| config.txt gpu_mem | 設定なし | gpu_mem=64 を追加 |
| X11 パッケージ | 不要 | 必ず xserver-xorg-video-fbdev と xserver-xorg-legacy をインストールする |
| Xwrapper.config | 変更なし | needs_root_rights=yes を設定 |
| 20-noglamor.conf | 維持 | 必ず無効化する |
| 99-fbturbo.conf | 維持 (fb0 を使用) | 必ず削除する |
| 99-fbdev.conf | 不要 | ServerLayout + fb1 を指定して必ず作成する |
| SPI スクリーン デバイス | /dev/fb0 | /dev/fb1 |
画面が起動ページで止まっている、または白く表示されている場合は、SSH 経由で以下のコマンドを実行してください:
# X Server のエラーを確認 cat /tmp/xorg_errors # X のログを確認 cat ~/.local/share/xorg/Xorg.0.log # フレームバッファ デバイスを確認 ls -l /dev/fb* dmesg | grep -i fb1 # Xwrapper.config の確認 (行頭にスペースがないこと!) cat /etc/X11/Xwrapper.config # xserver-xorg-legacy がインストールされているか確認 dpkg -l | grep xserver-xorg-legacy
エラー: Cannot open /dev/tty0 (Permission denied)
解決策: Xwrapper.config が存在しない、行頭にスペースがある、または xserver-xorg-legacy がインストールされていません。以下を実行してください:
sudo apt-get install xserver-xorg-legacy -y sudo tee /etc/X11/Xwrapper.config > /dev/null << 'EOF' allowed_users=anybody needs_root_rights=yes EOF
Switching VT failedエラー: no displays replace it または no screens found
解決策: KMS が無効になっていますが、LightDM がそれを使用しようとしています。LightDM ではなく、CLI オートログイン (B2) と startx を使用していることを確認してください。以下を実行します:
sudo raspi-config nonint do_boot_behaviour B2
Alt+F4、ウィンドウを移動するには Alt+ドラッグ を使用してください。回避策については、640×480 仮想解像度のチュートリアルを参照してください。エラー: 再起動後に画面が白いまま
解決策: 電源の抜き差し(パワーサイクル)を試してください。それでも白い場合は、以下を確認してください:
# fb1 が存在するか確認 ls -l /dev/fb* # SPI オーバーレイがロードされているか確認 dmesg | grep osoyoo # config.txt の変更内容を確認 cat /boot/firmware/config.txt | grep -E "(kms|spi|osoyoo)"
エラー: タッチが効かない、または反転している
解決策: タッチスクリーンの再キャリブレーションを行ってください:
DISPLAY=:0 xinput_calibrator
その後、/usr/share/X11/xorg.conf.d/99-calibration.conf を新しい値で更新してください。
最初からやり直す必要がある場合は、このワンクリック修正スクリプトを実行してください:
#!/bin/bash # RPi3 SPI Screen クイック修正 # 必要なパッケージのインストール sudo apt-get install xserver-xorg-video-fbdev xserver-xorg-legacy -y # Xwrapper.config の修正 sudo tee /etc/X11/Xwrapper.config > /dev/null << 'EOF' allowed_users=anybody needs_root_rights=yes EOF # 競合する設定の無効化 sudo mv /usr/share/X11/xorg.conf.d/20-noglamor.conf \ /usr/share/X11/xorg.conf.d/20-noglamor.conf.bak 2>/dev/null sudo rm -f /usr/share/X11/xorg.conf.d/99-fbturbo.conf # fbdev 設定の作成 sudo mkdir -p /etc/X11/xorg.conf.d sudo tee /etc/X11/xorg.conf.d/99-fbdev.conf > /dev/null << 'EOF' Section "ServerLayout" Identifier "SPI Layout" Screen "SPI Screen" EndSection Section "Device" Identifier "SPI Display" Driver "fbdev" Option "fbdev" "/dev/fb1" Option "ShadowFB" "on" EndSection Section "Monitor" Identifier "SPI Monitor" EndSection Section "Screen" Identifier "SPI Screen" Monitor "SPI Monitor" Device "SPI Display" DefaultDepth 16 SubSection "Display" Depth 16 Modes "480x320" Virtual 480 320 EndSubSection EndSection EOF # 起動動作の設定 sudo raspi-config nonint do_boot_behaviour B2 sudo raspi-config nonint do_wayland W1 # .bash_profile の構成 cat > ~/.bash_profile << 'EOF' export FRAMEBUFFER=/dev/fb1 startx 2> /tmp/xorg_errors EOF echo "修正が完了しました。 再起動してください: sudo reboot"
まず SSH で接続し、問題を特定するために以下のコマンドを実行します:
# フレームバッファ デバイスが存在するか確認 ls -l /dev/fb* # SPI オーバーレイが正常にロードされたか確認 dmesg | grep -i spi dmesg | grep -i osoyoo dmesg | grep -i fb # X Server のエラーを確認 cat /tmp/xorg_errors # config.txt の設定を確認 cat /boot/firmware/config.txt | grep -E "(spi|osoyoo|gpu_mem)"
Zero 2W では、安定した動作のために SPI クロック速度を下げる必要がある場合があります:
sudo nano /boot/firmware/config.txt
以下の行を探します:
dtoverlay=osoyoo35b:speed=20000000
これを以下のように変更します:
dtoverlay=osoyoo35b:speed=16000000
それでも動作しない場合は、さらに速度を下げてみてください:
dtoverlay=osoyoo35b:speed=10000000
Zero 2W の RAM は 512MB です (RPi 3 の 1GB より少ない)。GPU メモリの割り当てを減らすと改善される場合があります:
sudo nano /boot/firmware/config.txt
以下の変更を行います:
gpu_mem=64
これを以下のようにします:
gpu_mem=32
max_usb_current=1 設定は、USB 電力が制限されていた古い Pi モデル向けのものです。Zero 2W ではコメントアウトしてください:
#max_usb_current=1
標準設定で動作しない場合は、以下の最適化された設定を使用してください:
# ========== SPI Screen Configuration for Zero 2W ==========
gpu_mem=32
display_auto_detect=0
disable_fw_kms_setup=1
max_framebuffers=2
dtparam=spi=on
dtoverlay=osoyoo35b:speed=16000000
hdmi_force_hotplug=1
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 480 320 60 6 0 0 0
hdmi_drive=2
display_rotate=2
重要: config.txt に変更を加えた後は、必ず再起動して設定を適用してください:
sudo reboot
上記の解決策をすべて試しても画面が表示されない場合は、以下を確認してください:
ls /dev/fb1 – /dev/fb1 が存在することを確認します。dmesg | grep osoyoo – オーバーレイが正常にロードされたことを確認します。cat /tmp/xorg_errors – ファイルが空であるか、致命的なエラーが表示されていないことを確認します。お使いの Raspberry Pi モデルと OS バージョンに一致するチュートリアルを選択してください:
RPi 4/5 • 2025-10-01 以降
Bookworm / Trixie RPi 4/5
Bookworm / Trixie セットアップガイド (RPi3 専用)
RPi 3 • 追加の X11 設定が必要 • 2025-10-01 以降
Bookworm / Trixie RPi 3
RPi 3/4/5 • 2025-05-13 以前
Bookworm RPi3/4/5
RPi 3/4 • LCD-show ドライバ
Legacy RPi3/4
RPi 3 • x2fb スケーリング
Advanced • Trixie/Bookworm • 2025-10-01 以降
RPi 4/5 • x2fb スケーリング
Advanced • Trixie/Bookworm • 2025-10-01 以降
どれを選べばよいかわかりませんか?
• Pi モデルを確認する: cat /proc/device-tree/model
• OS バージョンを確認する: cat /etc/os-release
ご不明な点やフィードバックがございましたら、チケットをお送りください。弊社のチームが通常 1〜2営業日 以内に回答いたします。お待ちいただきありがとうございます!
営業時間: 午前9時 〜 午後6時 GMT+8 (月曜日 〜 金曜日)
お問い合わせ先: [email protected]
© 2026 Osoyoo | osoyoo.com
最終更新日: 2026-02-10
DownLoad Url osoyoo.com