faith's blog

気まぐれ日記

近況報告

Tizen動きません(ToT)

おはようございます。

Tizen-IVI の arm RPM が snapshot ディレクトリに上がっていたので、 それを使って、mesa/libdrm/weston だけ差し替えてみたんですが、 weston は起動するが、weston-simple-egl は動かずといった状況です。

しかも、eglInitialize が失敗という、以前嵌った状態っぽいんですが、 そもそも前にその状態になったときは、次の日に試したら、eglInitializeじゃなくその後のeglChooseConfigでこけるようになっていたので、 解決方法がわからずです・・・

一応、Tizen と Ubuntugdb を走らせれば、比較はできるんですが、しんどいです。 (俺は休日に何やってんだorz、ってなりました)

そろそろ疲れてきたので、息抜きに tegra Ubuntu 環境で crosswalk をビルドしてきます。

crosswalk が動かない

おはようございます。

この週末も相変わらず Jetson TK1 を弄り倒してました。 Tizen で corsswalk が動かなかったので、解析してましたが、さっぱりわかりません。

↓こんなログが出てます。

root:~> xwalk /home/app/hello.html 
[0131/162138:INFO:desktop_factory_wayland.cc(15)] Ozone: DesktopFactoryWayland
[0131/162140:INFO:desktop_factory_wayland.cc(15)] Ozone: DesktopFactoryWayland
libEGL warning: MESA-LOADER: malformed or no PCI ID

[0131/162140:WARNING:xwalk_browser_main_parts.cc(171)] Ignoring non-existent extension directory: /usr/lib/tizen-extensions-crosswalk
[16:21:40.177] libwayland: disconnect from client 0x29cb78
[0131/162140:ERROR:desktop_drag_drop_client_wayland.cc(14)] Not implemented reached in views::DesktopDragDropClientWayland::DesktopDragDropClientWayland(aura::Window*)
[0131/162140:ERROR:desktop_window_tree_host_wayland.cc(632)] Not implemented reached in virtual void views::DesktopWindowTreeHostWayland::OnRootViewLayout() const
[0131/162140:ERROR:desktop_window_tree_host_wayland.cc(632)] Not implemented reached in virtual void views::DesktopWindowTreeHostWayland::OnRootViewLayout() const
[0131/162140:WARNING:proxy_service.cc(903)] PAC support disabled because there is no system implementation
[0131/162140:ERROR:tizen_platform_sensor.cc(53)] Connection to accelerometer sensor failed
[0131/162140:ERROR:tizen_platform_sensor.cc(68)] Connection to gyroscope sensor failed
[0131/162140:ERROR:tizen_platform_sensor.cc(53)] Connection to accelerometer sensor failed
[0131/162140:ERROR:tizen_platform_sensor.cc(68)] Connection to gyroscope sensor failed
[0131/162140:ERROR:desktop_window_tree_host_wayland.cc(611)] Not implemented reached in virtual void views::DesktopWindowTreeHostWayland::SetWindowIcons(const gfx::ImageSkia&, const gfx::ImageSkia&)
[0131/162140:ERROR:display.cc(140)] Not implemented reached in virtual void ozonewayland::WaylandDisplay::SetWidgetState(unsigned int, ui::WidgetState, unsigned int, unsigned int) SHOW 1
[0131/162140:INFO:cursor.cc(132)] The current cursor theme does not have a cursor for type 13. Falling back to the default cursor.
[16:21:41.007] already in the native mode
[   82.944256] nouveau E[     PFB][57000000.gpu] gk20a_ram_get: cannot allocate memory!
[   82.956571] nouveau E[     PFB][57000000.gpu] gk20a_ram_get: cannot allocate memory!
[0131/162141:ERROR:gles2_cmd_decoder.cc(9078)] Context lost because SwapBuffers failed.
[0131/162141:ERROR:gpu_scheduler.cc(94)] [0x2957000] GPU PARSE ERROR: 5
[16:21:41.065] libwayland: disconnect from client 0xc95f8
[0131/162141:ERROR:command_buffer_proxy_impl.cc(151)] Could not send GpuCommandBufferMsg_Initialize.
[0131/162141:ERROR:webgraphicscontext3d_command_buffer_impl.cc(394)] CommandBufferProxy::Initialize failed.
[0131/162141:ERROR:webgraphicscontext3d_command_buffer_impl.cc(413)] Failed to initialize command buffer.
[0131/162142:INFO:desktop_factory_wayland.cc(15)] Ozone: DesktopFactoryWayland
libEGL warning: MESA-LOADER: malformed or no PCI ID

[16:21:42.306] libwayland: disconnect from client 0xc95f8
[0131/162142:ERROR:command_buffer_proxy_impl.cc(151)] Could not send GpuCommandBufferMsg_Initialize.
[0131/162142:ERROR:webgraphicscontext3d_command_buffer_impl.cc(394)] CommandBufferProxy::Initialize failed.
[0131/162142:ERROR:webgraphicscontext3d_command_buffer_impl.cc(413)] Failed to initialize command buffer.
[0131/162142:ERROR:command_buffer_proxy_impl.cc(151)] Could not send GpuCommandBufferMsg_Initialize.
[0131/162142:ERROR:webgraphicscontext3d_command_buffer_impl.cc(394)] CommandBufferProxy::Initialize failed.
[0131/162142:ERROR:webgraphicscontext3d_command_buffer_impl.cc(413)] Failed to initialize command buffer.
[0131/162142:FATAL:window_state_change_handler.cc(26)] Check failed: !impl_. Replacing set WindowStateChangeHandler implementation.
Aborted

eglSwapBuffers が失敗しているのかな。

nouveau drm ドライバがエラーを吐いていることから、 weston では使っていない、nouveau drm ドライバが対応していない機能を、crosswalk が使っちゃっているんでしょうか。

さすがに疲れてきました。 crosswalk はしばらく置いておこうかな。

gbs / mic 実行時にエラーとなっているパッケージがそれなりにあるので、 それによって、なんか足りないパッケージがあることに起因しているという可能性が微レ存。

というか、mic 実行時に dependency じゃなく、rpm インストール時にエラーが発生しているパッケージがあるのが気になります。

[06/15 21:06:50 UTC] Installing: linux-firmware-ivi-2 +                                  [ 19/383]
[06/15 21:06:50 UTC] error: Not allowed character in access type: l
error: Failed to parse manifest for default-ac-domains
error: default-ac-domains-0.1-1.noarch: install failed

[06/15 21:06:51 UTC] Installing: elm-misc-0.1.31-1.no ++                                 [ 24/383]
[06/15 21:06:51 UTC] /var/tmp/rpm-tmp.fTrFmh: line 1: chown: command not found
/var/tmp/rpm-tmp.fTrFmh: line 2: chown: command not found
warning: %post(elm-misc-0.1.31-1.noarch) scriptlet failed, exit status 127

[06/15 21:06:58 UTC] Installing: fontconfig-2.10.91-0 ++++++++                           [ 94/383]
[06/15 21:06:59 UTC] qemu: uncaught target signal 11 (Segmentation fault) - core dumped
/var/tmp/rpm-tmp.Cz30Xa: line 12:  8203 Segmentation fault      (core dumped) HOME=/root /usr/bin/fc-cache -f
warning: %post(fontconfig-2.10.91-0.armv7l) scriptlet failed, exit status 139

[06/15 21:07:00 UTC] Installing: shared-mime-info-1.0 ++++++++                           [101/383]
[06/15 21:07:00 UTC] qemu: uncaught target signal 11 (Segmentation fault) - core dumped
/var/tmp/rpm-tmp.OyrW0i: line 1:  8216 Segmentation fault      (core dumped) /usr/bin/update-mime-database /usr/share/mime

[06/15 21:07:08 UTC] Installing: ail-0.2.73-1.armv7l. +++++++++++++++++                  [196/383]
[06/15 21:07:09 UTC] /bin/rm: cannot remove '/opt/dbspace/.app_info.db': No such file or directory
/bin/rm: cannot remove '/opt/dbspace/.app_info.db-journal': No such file or directory
[AIL_INITDB][D][main,257] AIL_INITDB : 0
[AIL_INITDB][D][initdb_load_directory,131] Loading desktop files from /opt/share/applications
[AIL_INITDB][D][initdb_load_directory,154] Application-Desktop process : Success [0], fail[0], total[0]

[AIL_INITDB][D][initdb_load_directory,131] Loading desktop files from /usr/share/applications
[AIL_INITDB][E][_desktop_to_package,101] defaults.list is not a desktop file
[AIL_INITDB][E][initdb_load_directory,142] Failed to convert file to package[defaults.list]
[AIL_INITDB][D][initdb_load_directory,154] Application-Desktop process : Success [0], fail[1], total[1]

[AIL_INITDB][E][initdb_change_perm,181] FAIL : chown /opt/dbspace/.app_info.db 0.6010, because No such file or directory
[AIL_INITDB][E][main,276] cannot chown.

[06/15 21:07:11 UTC] Installing: privacy-manager-serv +++++++++++++++++++                [223/383]
[06/15 21:07:12 UTC] qemu: uncaught target signal 11 (Segmentation fault) - core dumped
/usr/bin/privacy_manager_create_clean_db.sh: line 16:  8379 Segmentation fault      (core dumped) sqlite3 /opt/dbspace/.$name.db "$SQL"

[06/15 21:07:14 UTC] Installing: gcr-data-3.8.2-0.arm ++++++++++++++++++++++             [259/383]
[06/15 21:07:14 UTC] /var/tmp/rpm-tmp.kPc7C9: line 2:  8421 Segmentation fault      (core dumped) /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas &>/dev/null
/var/tmp/rpm-tmp.kPc7C9: line 3: fg: no job control
warning: %post(gcr-data-3.8.2-0.armv7l) scriptlet failed, exit status 1

[06/15 21:07:14 UTC] Installing: libfolks-data-0.9.3- +++++++++++++++++++++++            [260/383]
[06/15 21:07:15 UTC] /var/tmp/rpm-tmp.2iYjdF: line 2:  8424 Segmentation fault      (core dumped) /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas &>/dev/null

[06/15 21:07:21 UTC] Installing: ca-certificates-1-0. +++++++++++++++++++++++            [270/383]
[06/15 21:07:21 UTC] qemu: uncaught target signal 11 (Segmentation fault) - core dumped
/var/tmp/rpm-tmp.9ltFoz: line 9:  8432 Segmentation fault      (core dumped) update-ca-certificates -f

[06/15 21:07:23 UTC] Installing: tizen-branding-defau +++++++++++++++++++++++++          [289/383]
[06/15 21:07:23 UTC] /var/tmp/rpm-tmp.T52HNA: line 1: /usr/sbin/plymouth-set-default-theme: No such file or directory
warning: %post(tizen-branding-default-0.2-0.noarch) scriptlet failed, exit status 127

[06/15 21:07:23 UTC] Installing: ca-certificates-mozi +++++++++++++++++++++++++          [290/383]
[06/15 21:07:23 UTC] qemu: uncaught target signal 11 (Segmentation fault) - core dumped
/var/tmp/rpm-tmp.tEAuaD: line 1:  8449 Segmentation fault      (core dumped) update-ca-certificates

[06/15 21:07:26 UTC] Installing: cantarell-fonts-0.0. ++++++++++++++++++++++++++         [294/383]
[06/15 21:07:26 UTC] qemu: uncaught target signal 11 (Segmentation fault) - core dumped
/var/tmp/rpm-tmp.cGRSS2: line 1:  8469 Segmentation fault      (core dumped) /usr/bin/fc-cache /usr/share/fonts/cantarell

[06/15 21:07:26 UTC] Installing: google-droid-fonts-2 ++++++++++++++++++++++++++         [295/383]
[06/15 21:07:28 UTC] qemu: uncaught target signal 11 (Segmentation fault) - core dumped
/var/tmp/rpm-tmp.PirZfr: line 3:  8472 Segmentation fault      (core dumped) /usr/bin/fc-cache /usr/share/fonts/truetype

[06/15 21:07:31 UTC] Installing: pkgmgr-0.2.89-1.armv +++++++++++++++++++++++++++        [314/383]
[06/15 21:07:31 UTC] qemu: uncaught target signal 11 (Segmentation fault) - core dumped
/var/tmp/rpm-tmp.uGZ6js: line 5:  8498 Segmentation fault      (core dumped) update-mime-database /usr/share/mime
warning: %post(pkgmgr-0.2.89-1.armv7l) scriptlet failed, exit status 139

[06/15 21:07:33 UTC] Installing: evolution-data-serve +++++++++++++++++++++++++++++      [332/383]
[06/15 21:07:33 UTC] /var/tmp/rpm-tmp.KKCvlK: line 2:  8517 Segmentation fault      (core dumped) /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas &>/dev/null

エラーが多い気がします。 Ubuntu 14.04 環境がよろしくないのかなぁ。

Jetson TK1でTizenを動かしてみた

こんばんわ、faithです。

先日、weston が立ち上がったので、今度は Tizen(IVI) を動かしてみました。 IVI は arm 版の rpm は転がっていないので、一通りビルドしました。

kernel と boot は 流用して、rootfs を Tizen のものに変更して、電源を入れると、 weston のデスクトップ画面は出て、simple-egl は動きました。

crosswalk も試してみましたが動きませんでした、残念。

corsswalk は common の rpm を使いました(cross compileでもビルドに2時間弱かかるので)

crosswalk にも tegra 対応が必要なのかなぁ。

weston 立ち上げまとめ (2)

weston 立ち上げまとめ (1) の続きです。

glproto

glproto はヘッダファイルのみなので、make はせずに make install を実行します

repository

git://anongit.freedesktop.org/git/xorg/proto/glproto

configure

--prefix=/usr/local

dri2proto

dri2proto はヘッダファイルのみなので、make はせずに、make install を実行します

repository

git://anongit.freedesktop.org/xorg/proto/dri2proto

configure

--prefix=/usr/local

mesa

昨日書きましたが、以下をつけると駄目でした

--enable-gallium-gbm --enable-gallium-egl

repository

git://anongit.freedesktop.org/mesa/mesa

configure

--prefix=/usr/local --enable-gles1 --enable-gles2 \
--with-egl-platforms=drm,wayland \
--enable-shared-glapi --enable-gbm \
--with-dri-drivers=nouveau --with-gallium-drivers=nouveau \
--disable-dri3

libxkmcommon

repository

git://github.com/xkbcommon/libxkbcommon

configure

--prefix=/usr/local --with-xkb-config-root=/usr/share/X11/xkb \
--disable-x11

pixman

repository

git://anongit.freedesktop.org/pixman

configure

--prefix=/usr/local

cairo

repository

git://anongit.freedesktop.org/cairo

configure

--prefix=/usr/local --with-pic --enable-fc --enable-ft \
--enable-egl --enable-glesv2=yes --enable-ps --enable-pdf \
--enable-script --enable-svg --enable-tee --enable-xlib \
--disable-gtk-doc --disable-static

weston

weston に Thierry Redding さんの kmscube への修正をポーティングしました。

パッチは、こちら

repository

git://anongit.freedesktop.org/wayland/weston

configure

--prefix=/usr/local --disable-static --disable-setuid-install \
--enable-simple-clients --enable-clients --disable-libunwind \
--disable-xwayland --disable-xwayland-test \
--disable-x11-compositor --disable-rpi-compositor \
--enable-tegra

weston 立ち上げまとめ (1)

おはようございます。

昨日書いた、weston 立ち上げについて、repository と configure オプションのまとめです。 weston / wayland のバージョンは 1.4.0 です。

結局修正したのは、weston のみでした。

以下の順番でビルドしていきます

  • wayland
  • libdrm
  • glproto
  • dri2proto
  • mesa
  • libxkmcommon
  • pixman
  • cairo
  • weston

パッケージインストール

以下のパッケージをインストールしました。

  • libffi-dev
  • doxygen
  • libjpeg-dev
  • libpng12-dev
  • libfreetype6-dev
  • libfontconfig1-dev
  • libxcb-composite0-dev
  • libxcursor-dev
  • libxcb-shm0-dev
  • libmtdev-dev
  • libpam0g-dev

wayland

repository

git://anongit.freedesktop.org/wayland/wayland

configure

--prefix=/usr/local

libdrm

repository

git://gitorious.org/thierryreding/drm.git

configure

--prefix=/usr/local --enable-udev --enable-libkms \
--enable-nouveau --enable-tegra-experimental-api \
--disable-intel --disable-radeon \
--disable-vmwgfx

続きます。

simple-egl が動いた

おはようございます、faithです。

先日、weston は動いたけど、weston-simple-egl が動かないと書きましたが、 たった今、動きました。

原因は、mesa の configure オプションでした。 mesa の configure オプションを変更し、

make uninstall
reconfigure
make
make install

で動きました。

(make uninstall を実行せずに、reconfigure だと駄目だったみたいです)

元々、以下のようなオプションにしていたのですが、

./autogen.sh --prefix=/usr/local --enable-gles1 --enable-gles2 --with-egl-platforms=drm,wayland --enable-shared-glapi \
  --enable-gbm --enable-gallium-gbm --enable-gallium-egl --with-dri-drivers=nouveau --with-gallium-drivers="nouveau" --disable-dri3

--enable-gallium-gbm --enable-gallium-egl が駄目だったようです。

以下のオプションでビルドすると動きました。

./autogen.sh --prefix=/usr/local --enable-gles1 --enable-gles2 --with-egl-platforms=drm,wayland \
  --enable-shared-glapi --enable-gbm --with-dri-drivers=nouveau --with-gallium-drivers=nouveau --disable-dri3 \
  --enable-debug

デバッグコード(通らない箇所だった・・・)が入ったままの状態なので、 一旦、バックアップを取ったら、情報を整理して、まとめます。

記念写真

weston & simple-egl f:id:faith0x7dc:20140612073822j:plain

kmscube f:id:faith0x7dc:20140612073827j:plain

Display は ハンファのタッチパネル液晶 HM-TL7T です。 egalax の石が入っているはずなので、Linux でも使えるはずですが、 まだ試していません。 そのうち試します。

そろそろ、準備して仕事行ってきます。

weston が動いた

まだ不完全な状態ではありますが、Jetson TK1 で weston が動きました。

Thierry Redding さんの kmscube への修正を weston にマージしてみたら、 デスクトップ画面は出ました。

ただし、weston-simple-egl が動きませんでした (Segmentation fault)

weston-simple-shm は動きました。

とりあえず、解析中です。