faith's blog

気まぐれ日記

Jetson TX1でWestonが動いた

こんばんは。

今朝、Westonが動いたけど、weston-simple-eglが落ちると書きましたが、 ユーザランドのソースを全てcleanし、ビルドしなおしたところ、weston-simple-eglも動きました。

たぶん、ビルドを試行錯誤していた際に、変な状態になっていたのでしょう。

とりあえず、Westonは動きましたが、linuxカーネルとnouveuドライバが Alexandre Courbot氏のrepository(githubアカウント: Gnurou)を参照していて、 しかもstagingのブランチでしか動かない為、この辺りをどうにかしたいところですね。

stagingブランチなので、tagも打たれていないし、Revisionをメモしておいても、いつのまにかそのRevisionが消失してたりするので・・・。

Mainlineカーネルで動くかどうかを見ようかな、と思います。

ちなみに、linux-nextは起動するけど、DRM/KMSは使えませんでした・・・。 (Alexandre Courbot氏のlinuxカーネルは、linux-nextをベースにパッチを当てたもののようです)

あと、今はL4Tをベースにしてますが、L4Tはユーザランドが32bitという残念仕様なので、 aarch64のディストリビューションを使って環境を作ってみたいですね。

今のところ、Arch LinuxかYocto Projectのどちらかを考えています。 (Yoctoかなぁ・・・)

Jetson TX1でWestonが動いた(不完全)

おはようございます。

Jetson TX1でWestonを動作させることに成功しました。

ただし、weston-simple-eglは未だ動いていません。

weston-simple-shmは動きましたが、weston-simple-eglを実行すると、以下のエラーで落ちます。

weston-simple-egl: clients/simple-egl.c:159: init_egl: Assertion `display->egl.dpy' failed.
Aborted (core dumped)

使用したソースは以下です。

  • wayland

    • Repository: git://anongit.freedesktop.org/wayland/wayland
    • Branch: master
    • Revision: 60024af597b68974c451c89f960a7c11de11c33a
  • libdrm

    • Repository: git://anongit.freedesktop.org/git/mesa/drm.git
    • Branch: master
    • Revision: ea78c17854ad1b9d155dab66c99777e513943083
  • dri2proto

    • Repository: git://anongit.freedesktop.org/git/xorg/proto/dri2proto
    • Branch: master
    • Revision: b118dfbf91dcec6d82dfddc3f41031e23ea3c039
  • glproto

    • Repository: git://anongit.freedesktop.org/git/xorg/proto/glproto
    • Branch: master
    • Revision: bd3d751e1eb17efb39f65093271bb4ac071aa9e0
  • mesa

    • Repository: git://anongit.freedesktop.org/mesa/mesa
    • Branch: master
    • Revision: 506b561ba7e3df2a7759dded684fae84bf459f65
  • libxkmcommon

    • Repository: git://github.com/xkbcommon/libxkbcommon
    • Branch: master
    • Revision: bea54b1f7db7a171b93cdfb272abc70a694df465
  • pixman

    • Repository: git://anongit.freedesktop.org/pixman
    • Branch: master
    • Revision: 7c6066b700c7cdd4aeb8be426b14b3a5f0de4b6c
  • cairo

    • Repository: git://anongit.freedesktop.org/cairo
    • Branch: master
    • Revision: 747cab741cf63f30aa6bc2b787fc13e7e7a2b859
  • libinput

    • Repository: git://anongit.freedesktop.org/wayland/libinput
    • Branch: master
    • Revision: 7a81ba9cc29fec09458f7870e203b83ae4ffb9de
  • weston

なお、Jetson TX1では、DRM deviceがTK1と若干ことなっているようで、以下のようになっていました。

/dev/dri/card0 -> 不明
/dev/dri/card1 -> tegra(DRM用; Display)
/dev/dri/card2 -> nouveau(GBM用; Render)

Jetson TK1対応のWestonに入っている既存処理がうまく動かなかったので、gbm用のDRM deviceを /dev/dri/card2 に固定する処理を追加して確認しています(とりあえずは)。

なんか2年ぐらい前に、TK1でWestonを立ち上げたときも、最初はsimple-eglが動かなかったなぁ・・・

クリーンビルドしてみた方が良いのかも。

Jetson TX1でkmscubeが動いた

こんばんは。

昨日書いたとおり、UARTのケーブルを持って帰ってきたので、早速DRM/KMSが使えるかどうかを試してみました。

結果、kmscubeが動きました。

$ kmscube /dev/dri/card1 /dev/dri/card2

なぜか、nouveau.koをinsmodする前の時点で、/dev/dri/card0と/dev/dri/card1が存在しているようです。

libdrmに渡して使えるDisplay用のDRM deviceは/dev/dri/card1のようです。

/dev/dri/card0が何者かは分かりません・・・

使用したソースは以下です。

カーネル

ユーザランド

  • libdrm

    • Repository: git://anongit.freedesktop.org/git/mesa/drm.git
    • Branch: master
    • Revision: ea78c17854ad1b9d155dab66c99777e513943083
  • dri2proto

    • Repository: git://anongit.freedesktop.org/git/xorg/proto/dri2proto
    • Branch: master
    • Revision: b118dfbf91dcec6d82dfddc3f41031e23ea3c039
  • glproto

    • Repository: git://anongit.freedesktop.org/git/xorg/proto/glproto
    • Branch: master
    • Revision: bd3d751e1eb17efb39f65093271bb4ac071aa9e0
  • mesa

    • Repository: git://anongit.freedesktop.org/mesa/mesa
    • Branch: master
    • Revision: 506b561ba7e3df2a7759dded684fae84bf459f65
  • kmscube

linux kernel, nouveau driver, kmscube以外はUpstreamのものがそのまま使えました。 kmscubeがTK1同様に動作したので、Westonも動くと思います。

ちなみに、L4T(NVIDIA公式のBSP。Ubuntu 14.04ベース)は、カーネルは64bitですが、ユーザランドは32bitという残念仕様でした・・・

Jetson TX1を買いました

こんばんは。

3/Tに予約注文していたJetson TX1が昨日入荷したとの連絡があり、さきほどついに届きました。

サイズを見てなかったので、てっきりJetson TK1と同じぐらいのサイズかと思っていましたが、結構大きくなってました。

↓TX1/TK1の箱サイズ比較画像

f:id:faith0x7dc:20160406212441j:plain

↓TX1/TK1/R-CarM2 Porterのボードサイズ比較画像

f:id:faith0x7dc:20160406212446j:plain

とりあえず、Ubuntu(L4T R23.2)は起動しましたが、TX1はTK1と違って、TTLで出ていることに、開封してから気づきましたorz

なので、RS232CケーブルやUSB Microケーブルでつないでのコンソール出力はできず、 ↓こんなのを使う必要があります。

Amazon.co.jp: Raspberry Pi ラズベリーパイ用の USB-TTLシリアルコンソールのUSB変換COMケーブルモジュールのケーブル: パソコン・周辺機器

残念ながら今手元に無いので、コンソール出力は確認できず。

さすがにコンソールが使えないと、RootFSやKernelを別のに置き換えるのは無理なので、 (U-Bootを操作することもできないので)、明日ケーブルを持って帰ってきて確認しようと思います。

JetsonTX1の国内発売が決定!

おはようございます。

昨日、Jetson TX1の国内発売が発表されました。

Jetson TK1と同様に、オリオスペックで購入できるようです。

【4月上旬入荷予定】NVIDIA JETSON TX1 DEVELOPER KIT | PCパーツ,開発キット・基板,NVIDIA Jetson | OLIOSPEC

入荷時期は4/Tだそうです。

とりあえず、1台予約しておきました。

SD起動確認

こんばんは。

手持ちのSDカードがPorterボードで使えるのか?を調べて欲しいとか、そういった声が唐突に聞こえてきたので、調べました。

とりあえず、手持ちのは2種類が使えました

(1種類は、いつのまにか壊れてたみたいで、使えなかった・・・)

動作確認方法

そもそも、このボード(Porterボード)を持っている人が日本に何人いるんだ?って話なので、簡単にだけ記述。

#輸入しないと、入手できないですしね(^_^;)

SDの1st partitionをvfatでフォーマットして、Yoctoでビルドした以下のファイルをコピー

build/tmp/deploy/images/porter/zImage
build/tmp/deploy/images/porter/uImage-r8a7791-porter.dtb

SDの2nd paritionをext3でフォーマットして、以下のファイルを展開

build/tmp/deploy/images/porter/core-image-weston-porter.tar.bz2

U-Bootの環境変数

=> setenv bootargs 'console=ttySC6,38400 ignore_loglevel rw root=/dev/mmcblk0p2 vmalloc=384M'
=> setenv bootcmd 'fatload mmc 0:1 0x40007fc0 zImage;fatload mmc 0:1 0x40f00000 uImage-r8a7791-porter.dtb;bootz 0x40007fc0 - 0x40f00000'

確認したSD

以下は、使えることを確認(起動確認程度ですが・・・)

Amazon.co.jp: 【Amazon.co.jp限定】SanDisk Ultra microSDHCカード UHS-I Class10 16GB (無期限保証)[国内正規品] SDSDQU-016G-JAZ: パソコン・周辺機器

Amazon.co.jp: SANDISK フラッシュカード SDSDXPA-032G-X46 並行輸入品: パソコン・周辺機器

以下は、持ってたんですが、壊れたっぽいです。

Amazon.co.jp: SANDISK フラッシュカード SDSDX-032G-X46(45MB/s) 並行輸入品: パソコン・周辺機器

ちなみに、ボード用のSDとUSBメモリSanDiskの高いやつしか持ってません。 (安いの使って、それ要因で振り回されるのは嫌なんで)

R-Car M2 Porterボードを買いました

おはようございます。

先日、RenesasのR-Car M2リファレンスボード(Porter ボード)を買いました。

R-Car/Boards/Porter - eLinux.org

このボードは日本では売ってないので輸入しました。

ちなみに、少し前にDigi-Key(us)に登録されたんですが、日本には送ってくれないので諦めてたやつです。

では、どこから買ったかと言うと、Avnet Expressから買いました。

Renesas Electronics Y-RCAR-M2-PORTER-A, - Avnet Express

ネットサーフィンしていたらたまたま見つけたので駄目もとでポチってみたところ、無事届きました。

お値段は送料・税金込みでだいたい5万ぐらいでした。

というわけで、しばらくはRenesasボードで遊びます。