Mais conteúdo relacionado
Semelhante a 超勉強会 2012 (20)
超勉強会 2012
- 1. T izen porting
入門とその実例
と T izen ちゃん(仮)
2012.12.15 (Sat)
Yuya Adachi (@moguriso)
- 5. 2011 年度〜
● 関西で勉強会を開始
– 会社の施設、設備を借り始めた
● OSC への参加も開始
– 平日でも仕事扱い
– 交通費も貰えるようになった
● 東は東京、西は広島まで
5/59
- 7. 2012 年度〜
上司「 ( お前がウロウロする )
交通費とか出なくなるっ
てことだよ!? 」
7/59
(※)カッコ内は私の妄想 (?) です、たぶん
- 9. 2012 年度〜
● 機材を調達 ( 借用 )
– Linux が動くことは知っていた
– 環境に触ったこともあった
– 会社の先輩 を巻き込んだ にも手助けを
お願いした
– 2012 年 7 月後半から開始
9/59
- 11. 基本方針
● 大前提は Tizen が動くこと
– 動くかどうかもわからない
● Tizen が動いてれば後はどう
でもなると思っていた
– “ 動くこと”が正義!
11/59
- 12. 環境面の整理
FileSystem
tftp で uboot, Linux kernel をロードし
NFS を利用して rootfs を mount
uboot
12/59
- 17. 移植作業( 1.4 )
私 「それ Tizen ちゃう Mer や!
しかも、 なんで CUI ?」
先輩「だって Kernel にパッチが
当たってる みたいで 画面が
でーへん! 」
(※)実際に Mer は Kernel に patch が
当たっている (?) みたいです 17/59
- 18. 移植作業( 1.5 )
● Mer は諦めて Tizen に環境を
移行してもらう
「折角環境作って、 Kernel ブートする所ま
で行ったのにまた1からやり直しや」
とかブツブツ言われたるも、なんとかお願
いして Tizen に気分を代えてもらった。
18/59
- 20. 移植作業( 1.7 )
************************************************************
●* SAMSUNG LINUX PLATFORM *
●************************************************************
●
●xx.xx.xx.xx login: root
●-sh-4.1#
20/59
- 21. 移植作業( 1.8 )
やっぱり CUI か !
( ;゜ Д ゜ )
Scratch Build System(SBS) で生成された rootfs
をそのまま NFS で mount させていました。それま
では全く動いていなかったので” Sumsung” と出た
だけでかなり感動しました 21/59
- 22. 移植作業( 2 )
● root ファイルシステムの構築
– mic コマンドを利用 (fs 指定 )
– NFS で mount
#mic create fs lb-tizen_20120617.2.ks -o .
動くようになってきて、面白くなってきたので、このあ
たりから自分でも手を動かすようになりました
22/59
- 23. 移植作業( 2.1 )
rootfs を差し替えただけで、スプラッシュが出るよう
になった。これはモチベーションがとても上がった
23/59
- 24. 移植作業( 2.2 )
この時点ではエラーが出ていて、 Tizen のメニュー
画面は出ていなかった。マウスカーソルも出ていな
かった。
ともあれ、先輩のいない所で動かして画面が出た
ので、先輩にすごく自慢した
24/59
- 25. 移植作業( 2.3 )
2012/08 後半
先輩「 メニュー出たで。
あと、マウスカーソルも
出るようにしたったで〜 」
実際にはフレームバッファを制御する
ドライバにも手を入れています
25/59
- 26. 移植作業( 2.4 )
● フルパスでコマンド指定すると
アプリが起動することが判明
#/opt/apps/org.tizen.menu/bin/menu
無謀にもこの辺りから
展示会に出すことを画
策し始めました。
改めて考えると、怖いも
の知らずでした。。。
26/59
- 27. 移植作業( - )
2012/09 前半
私 「問題はありますが 動い
てます 。
Tizen が動いた という
売りで行きましょう!」
営業「あ、そう」
27/59
- 28. 移植作業( - )
2012/09 前半
某社様「 GPU アクセラレーション
が効いてないと出展して
も意味無いですね 」
営業「そうですか。
( 私に向かって) で、 いつできる? 」
28/59
- 29. 移植作業( - )
軽っ !( ;゜ Д ゜ )
(※)フィクションです。
「できるだけ頑張れ」的なことは言われましたが ...
29/59
- 31. 移植作業( 3 )
● H/W アクセラレーション対応
– Tizen Mobile 1.0の rootfs は
ソフトウェアレンダリングで動いていた
# /opt/apps/org.tizen.bro wser/bin/browser
●CRI<2459>:elementary elm_ win.c:1869
elm_win_add() OpenGL engine creation failed.
– X11 対応の GPU ドライバとか必要なもの
多数
31/59
- 33. 移植作業( 3.2 )
● EVAS/ECORE/EINA/EET/
ELEMENTARY...
EFL 周りのモジュールを大半
OpenGL(ES) 対応にリビルド
続きは Web(http://moguriqt.hatenablog.jp) で
33/59
- 34. 移植作業( 3.x )
● EFL(evas) には既に SGX を
利用するパスがあった
● 基本的にビルドオプションを変
更してリビルドしただけ
34/59
- 35. 移植作業( 3.3 )
● 劇的ビフォーアフター
– Before : 0fps
● 1 フレームに 5 〜 6 秒 (0.25fps)
– After : 7fps
● 30 倍以上の高速化!
35/59
- 37. 移植作業( 3.5 )
2012/09 半ば
A 社様「 7fps... 遅いですね! 」
B 社様「 遅いですね! 」
上司「ええ、 遅いですね! 」
営業「はい、 遅いですね! 」
(※)フィクションです。
37/59
- 39. 移植作業( 3.5 )
2012/09 半ば
A 社様「ハイエンドモデルを
貸与します 」
B 社様「 1ヶ月あれば出来ま
す? 」
上司「はい!」
営業「はい!」 (※)フィクションです。
39/59
- 40. TargetBoard Spec
CPU Cortex-A9 800MHz
(Dual Core)
MIDDLE メモリ 1GB
GPU PowerVR SGX 540
RANGE
BOARD
40/59
- 41. DevPhone Spec
CPU Cortex-A9 1.2GHz
(Dual Core)
メモリ 1GB
GPU Mali-400MP
41/59
- 43. TargetBoard Spec
CPU Cortex-A9 1.0GHz
(Quad Core)
HIGH メモリ 1GB
GPU PowerVR SGX 543MP2
END
BOARD
43/59
- 45. 移植作業( 3.x )
● 劇的ビフォーアフター (2)
– Before : 7fps
– After : 18fps
● 実に 2.57 倍の高速化!
45/59
- 46. 移植作業( 3.x )
この後も、紆余曲折があり
多くの方に多々ご迷惑を
お掛け致しました m(_ _)m
46/59
- 50. まとめ
● ” 動く”レベルであれば比較的容
易に移植可能だった
– ホボ素の Linux そのまま
● ハードウェア機能を有効化するに
はドライバやソースの入手でハード
ルは高かった
( 全体で 2w × 2 人位)
50/59