Open3

そもそもLinuxでWPE WebKitをビルドして動かせるのか

okuokuokuoku

どうも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 の変数をいくつか消さないと完全に反映されなかった。

okuokuokuoku

今後の目標

... 何はともあれ、現実的な速度で動いているところをまず見たい。ので RelWithDebInfo でビルドを掛けてみて観察かな。。(ビルドだけで数時間掛かる)

一旦backend、つまり描画側をSDLに移植するのが良いかな。。WPE WebKitの動作自体にはWaylandは必要ではなくて、単にbackendがwaylandに依存しているだけなので。それをLinuxで動作確認した後にCygwinに持って帰る感じで。

BackendとしてはAndroid版が一番シンプルっぽいのでそれを見つつ書くのが良さそうではある。

https://github.com/Igalia/WPEBackend-android

https://github.com/Igalia/WPEBackend-fdo

https://github.com/WebPlatformForEmbedded/WPEBackend-rdk

WPEBackend-fdo がリファレンス実装になっている。

okuokuokuoku

WebGLも動いた

バッチリだな。。特にWayland環境を揃えた記憶は無いけどちゃんと動くのは良いことだ。Ubuntuには WPEbackend-fdo のパッケージがあるのでそれをそのまま使っている。