-
-
Notifications
You must be signed in to change notification settings - Fork 1
Troubleshooting Launch Issues on Raspberry Pi JP
HiroYokoyama edited this page Dec 6, 2025
·
3 revisions
Raspberry Pi (Raspberry Pi OS) 環境において、moleditpy が起動直後にクラッシュする、または画面が表示されない場合の原因と対処法です。
アプリケーション起動時に以下のエラーログが出力され、異常終了する。
-
X Window 関連のエラー
X Error of failed request: BadWindow (invalid Window parameter) Major opcode of failed request: 12 (X_ConfigureWindow) -
シェーダー (OpenGL) 関連のエラー
vtkShaderProgram ... error: syntax error, unexpected NEW_IDENTIFIER attempt to add attribute without a program for attribute ndCoordIn Couldn't build the shader program for resolving msaa.
Raspberry Pi のグラフィックスドライバ (VC4/V3D) と、描画ライブラリ (VTK/Qt) の互換性および設定の問題です。
-
OpenGLバージョンの不一致: アプリケーションが要求するアンチエイリアス処理 (MSAA) に必要なシェーダー機能 (
sampler2DMS) を、Raspberry Pi のドライバがデフォルト設定ではサポートしていない、あるいはバージョンの申告が低いために発生します。 - ウィンドウシステム: Raspberry Pi OS (Bookworm以降) の Wayland 環境下で、Qt が XWayland を介してウィンドウを操作する際にタイミングの問題が発生しています。
起動時に以下の環境変数を設定することで、これらの制限を回避して起動できます。
以下のコマンドを順に入力してから moleditpy を起動してください。
export QT_QPA_PLATFORM=xcb
export MESA_GL_VERSION_OVERRIDE=3.2
export MESA_GLSL_VERSION_OVERRIDE=150
moleditpy-
QT_QPA_PLATFORM=xcb: Qtに対して、WaylandではなくX11バックエンドを強制的に使用させます。 -
MESA_GL_...: OpenGL 3.2 / GLSL 1.50 をサポートしているようにドライバに振る舞わせ、シェーダーのコンパイルエラーを回避します。
毎回入力するのが手間な場合は、以下の内容で起動スクリプト (例: run_moleditpy.sh) を作成してください。
#!/bin/bash
export QT_QPA_PLATFORM=xcb
export MESA_GL_VERSION_OVERRIDE=3.2
export MESA_GLSL_VERSION_OVERRIDE=150
moleditpy実行権限を付与して使用します。
chmod +x run_moleditpy.sh
./run_moleditpy.sh環境変数を設定せずに動作させるためには、アプリケーションコード側で マルチサンプリング (MSAA) を無効化 することを推奨します。
Raspberry Pi などの組込みGPUでは MSAA の負荷が高く、サポートも限定的であるため、これを無効にすることで MESA_... の環境変数オーバーライドが不要になります。
修正例 (Python/VTK):
# vtkRenderWindow に対して設定を行う
render_window.SetMultiSamples(0)※ QT_QPA_PLATFORM=xcb については、環境によっては依然として必要な場合があります。