そもそもLinuxでWPE WebKitをビルドして動かせるのか
どうもWaylandの動作には epoll
が必要なようで、Cygwinで動かすのは一旦諦め。LinuxでSDLか何かに移植してから戻ってくることにしよう。 ...というかそれ以前に、現状のconfigでLinuxで動くのかどうかを確認しておいた方が良さそうということで確認してみることにした。
動いた
ただし超クッソ激烈に遅い( Debug
ビルド)。
Config
cmake -GNinja -DCMAKE_BUILD_TYPE=Debug -DPORT=WPE -DENABLE_JIT=OFF \
-DENABLE_C_LOOP=ON -DENABLE_SAMPLING_PROFILER=OFF \
-DENABLE_UNIFIED_BUILDS=OFF -DUSE_SYSTEM_MALLOC=ON \
-DENABLE_UNIFIED_BUILDS=OFF -DUSE_SOUP2=ON -DENABLE_JOURNALD_LOG=OFF \
-DUSE_LCMS=OFF -DDEVELOPER_MODE=ON -DENABLE_API_TESTS=OFF -DENABLE_COG=OFF \
-DCMAKE_INSTALL_PREFIX=/home/oku/yocto-work/webkit/install ../../proj/WebKit
※ -DDEBUG_FISSION=OFF
とか -DUSE_THIN_ARCHIVES=OFF
を忘れてるね。。まぁコードに影響ないから良いけど。
DEVELOPER_MODE
を有効にしないと、 https://trac.webkit.org/wiki/WebKitGTK/Debugging で書かれているようなデバッグができない。また、単体ブラウザである MiniBrowser も手動で有効にするか、 DEVELOPER_MODE
でないとビルドされない。
CMAKE_INSTALL_PREFIX
は最初のconfigで付けわすれていたけど、これがいくつか CACHE
される変数に影響しているらしく、 CMakeCache.txt
の変数をいくつか消さないと完全に反映されなかった。
今後の目標
... 何はともあれ、現実的な速度で動いているところをまず見たい。ので RelWithDebInfo
でビルドを掛けてみて観察かな。。(ビルドだけで数時間掛かる)
一旦backend、つまり描画側をSDLに移植するのが良いかな。。WPE WebKitの動作自体にはWaylandは必要ではなくて、単にbackendがwaylandに依存しているだけなので。それをLinuxで動作確認した後にCygwinに持って帰る感じで。
BackendとしてはAndroid版が一番シンプルっぽいのでそれを見つつ書くのが良さそうではある。
WPEBackend-fdo
がリファレンス実装になっている。
WebGLも動いた
バッチリだな。。特にWayland環境を揃えた記憶は無いけどちゃんと動くのは良いことだ。Ubuntuには WPEbackend-fdo
のパッケージがあるのでそれをそのまま使っている。