状況
デスクトップlinuxで、Xを完全に排除したwayland環境が構築できるか試してみたいと思い、gtk3(--display-x11-backend)をtoolkitとしたfirefoxでビルドしたところ、libxulのリンク時にgdk_x11_get_default_root_xwindow等の関数で参照エラーとなりました。
対応
エラーとなった関数について、NULLやFALSEを返り値とするダミー関数を自作して、無理矢理リンクしたところ、wayland環境で動作することが確認できたため、機能的にはX関連の関数は必要としないことが分かりました。
firefoxのソースを確認したところ、以下のことが判明しました。
- toolkitでgtkを選択すると、MOZ_X11のフラグが必ずセットされること
- ソースコードで#ifdef MOZ_X11と定義されない箇所においても、X関連のマクロや関数を参照していること
- gtk3関連の依存を解消したとしても、Xに依存するgtk2環境が存在しないとfirefoxのconfigureの段階でエラーとなること
これ以上進めるには、ソースコードに手を入れる必要があると考えておりますが、既にパッチが存在する等の情報がありましたら、ご教示いただけると有り難いです。
参考にしたURL
bugzillaでのMOZ_X11の扱いの議論
bugzillaでのgtk2環境への依存の議論
当方の環境
- firefox-76.0.1
- gtk+-3.24.20
- wayland-1.18.0
- weston-8.0(eglstream-patched)
- nvidia-440.82
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。