超勉強会 2012

2,179 views
2,129 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,179
On SlideShare
0
From Embeds
0
Number of Embeds
1,032
Actions
Shares
0
Downloads
31
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

超勉強会 2012

  1. 1. T izen porting 入門とその実例 と T izen ちゃん(仮) 2012.12.15 (Sat) Yuya Adachi (@moguriso)
  2. 2. 自己紹介● Yuya Adachi(@moguriso)● ブログ: http://moguriqt.hatenablog.jp● DeviceDriver 書いたり – GPU, UART, SPI, I2C...● App の Android 移植など 2/59
  3. 3. アジェンダ● 移植までの背景● Tizen Porting ... 起動編● Tizen Porting ... 画面編● 実例● まとめ、今後について 3/59
  4. 4. 移植の背景 4/59
  5. 5. 2011 年度〜● 関西で勉強会を開始 – 会社の施設、設備を借り始めた● OSC への参加も開始 – 平日でも仕事扱い – 交通費も貰えるようになった ● 東は東京、西は広島まで 5/59
  6. 6. 2012 年度〜社内会議にて上司「 今年は成果を求めていく ! ... 成果が出ないと  どうなるって? 」 6/59
  7. 7. 2012 年度〜上司「 ( お前がウロウロする )  交通費とか出なくなるっ   てことだよ!? 」 7/59 (※)カッコ内は私の妄想 (?) です、たぶん
  8. 8. 2012 年度〜 ( ;゜ Д ゜ ) 8/59
  9. 9. 2012 年度〜● 機材を調達 ( 借用 ) – Linux が動くことは知っていた – 環境に触ったこともあった – 会社の先輩 を巻き込んだ にも手助けを お願いした – 2012 年 7 月後半から開始 9/59
  10. 10. TizenPorting 〜起動編〜 10/59
  11. 11. 基本方針● 大前提は Tizen が動くこと – 動くかどうかもわからない● Tizen が動いてれば後はどう でもなると思っていた – “ 動くこと”が正義! 11/59
  12. 12. 環境面の整理 FileSystemtftp で uboot, Linux kernel をロードしNFS を利用して rootfs を mount uboot 12/59
  13. 13. 移植作業(1)● u-boot (bootloader)● LinuxKernel (2.6.x ) – BSP で patch 提供 らくらく出来た! ... そもそも、 patch を当てて build しただけ ... 13/59
  14. 14. 移植作業( 1.1 )2012/08 前半 先輩「 動いたでー 」 14/59
  15. 15. 移植作業( 1.2 ) 速っ !( ;゜ Д ゜ ) 15/59
  16. 16. 移植作業( 1.3 )mer# 16/59
  17. 17. 移植作業( 1.4 )私 「それ Tizen ちゃう Mer や!   しかも、 なんで CUI ?」先輩「だって Kernel にパッチが    当たってる みたいで 画面が   でーへん! 」 (※)実際に Mer は Kernel に patch が   当たっている (?) みたいです 17/59
  18. 18. 移植作業( 1.5 )● Mer は諦めて Tizen に環境を 移行してもらう 「折角環境作って、 Kernel ブートする所ま で行ったのにまた1からやり直しや」 とかブツブツ言われたるも、なんとかお願 いして Tizen に気分を代えてもらった。 18/59
  19. 19. 移植作業( 1.6 )2012/08 半ば先輩「 起動するように   なったで 」 19/59
  20. 20. 移植作業( 1.7 ) ************************************************************●* SAMSUNG LINUX PLATFORM *●************************************************************●●xx.xx.xx.xx login: root●-sh-4.1# 20/59
  21. 21. 移植作業( 1.8 ) やっぱり CUI か ! ( ;゜ Д ゜ ) Scratch Build System(SBS) で生成された rootfs をそのまま NFS で mount させていました。それま では全く動いていなかったので” Sumsung” と出た だけでかなり感動しました 21/59
  22. 22. 移植作業( 2 )● root ファイルシステムの構築 – mic コマンドを利用 (fs 指定 ) – NFS で mount#mic create fs lb-tizen_20120617.2.ks -o . 動くようになってきて、面白くなってきたので、このあ たりから自分でも手を動かすようになりました 22/59
  23. 23. 移植作業( 2.1 ) rootfs を差し替えただけで、スプラッシュが出るよう になった。これはモチベーションがとても上がった 23/59
  24. 24. 移植作業( 2.2 ) この時点ではエラーが出ていて、 Tizen のメニュー 画面は出ていなかった。マウスカーソルも出ていな かった。 ともあれ、先輩のいない所で動かして画面が出た ので、先輩にすごく自慢した 24/59
  25. 25. 移植作業( 2.3 )2012/08 後半先輩「 メニュー出たで。   あと、マウスカーソルも   出るようにしたったで〜 」 実際にはフレームバッファを制御する ドライバにも手を入れています 25/59
  26. 26. 移植作業( 2.4 )● フルパスでコマンド指定すると アプリが起動することが判明#/opt/apps/org.tizen.menu/bin/menu 無謀にもこの辺りから 展示会に出すことを画 策し始めました。 改めて考えると、怖いも の知らずでした。。。 26/59
  27. 27. 移植作業( - )2012/09 前半 私 「問題はありますが 動い    てます 。     Tizen が動いた という    売りで行きましょう!」 営業「あ、そう」 27/59
  28. 28. 移植作業( - )2012/09 前半某社様「 GPU アクセラレーション    が効いてないと出展して    も意味無いですね 」営業「そうですか。   ( 私に向かって) で、 いつできる? 」 28/59
  29. 29. 移植作業( - ) 軽っ !( ;゜ Д ゜ ) (※)フィクションです。 「できるだけ頑張れ」的なことは言われましたが ... 29/59
  30. 30. TizenPorting 〜画面編〜 30/59
  31. 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
  32. 32. 移植作業( 3.1 ) 32/59
  33. 33. 移植作業( 3.2 )● EVAS/ECORE/EINA/EET/ ELEMENTARY... EFL 周りのモジュールを大半 OpenGL(ES) 対応にリビルド 続きは Web(http://moguriqt.hatenablog.jp) で 33/59
  34. 34. 移植作業( 3.x )● EFL(evas) には既に SGX を 利用するパスがあった● 基本的にビルドオプションを変 更してリビルドしただけ 34/59
  35. 35. 移植作業( 3.3 )● 劇的ビフォーアフター – Before : 0fps ● 1 フレームに 5 〜 6 秒 (0.25fps) – After : 7fps ● 30 倍以上の高速化! 35/59
  36. 36. 移植作業( 3.4 )(  ̄∇ ̄ )v ドヤッ ! 36/59
  37. 37. 移植作業( 3.5 )2012/09 半ば  A 社様「 7fps... 遅いですね! 」  B 社様「 遅いですね! 」 上司「ええ、 遅いですね! 」 営業「はい、 遅いですね! 」 (※)フィクションです。 37/59
  38. 38. 移植作業( 3.4 ) (  ̄□ ̄; ) 38/59
  39. 39. 移植作業( 3.5 )2012/09 半ば  A 社様「ハイエンドモデルを     貸与します 」  B 社様「 1ヶ月あれば出来ま     す? 」 上司「はい!」 営業「はい!」 (※)フィクションです。 39/59
  40. 40. TargetBoard Spec CPU Cortex-A9 800MHz (Dual Core)MIDDLE メモリ 1GB GPU PowerVR SGX 540RANGEBOARD 40/59
  41. 41. DevPhone Spec CPU Cortex-A9 1.2GHz (Dual Core) メモリ 1GB GPU Mali-400MP 41/59
  42. 42. DevPhone で動かすと 19fps! 42/59
  43. 43. TargetBoard Spec CPU Cortex-A9 1.0GHz (Quad Core) HIGH メモリ 1GB GPU PowerVR SGX 543MP2 ENDBOARD 43/59
  44. 44. HighEndBoard 18fps! 44/59
  45. 45. 移植作業( 3.x )● 劇的ビフォーアフター (2) – Before : 7fps – After : 18fps ● 実に 2.57 倍の高速化! 45/59
  46. 46. 移植作業( 3.x ) この後も、紆余曲折があり 多くの方に多々ご迷惑を お掛け致しました m(_ _)m 46/59
  47. 47. 実例 47/59
  48. 48. 48/59
  49. 49. まとめ 49/59
  50. 50. まとめ● ” 動く”レベルであれば比較的容 易に移植可能だった – ホボ素の Linux そのまま● ハードウェア機能を有効化するに はドライバやソースの入手でハード ルは高かった ( 全体で 2w × 2 人位) 50/59
  51. 51. 今後について 51/59
  52. 52. 今後について● 3D 描画に未だ問題がある – 2.0a だと色々変わってる – 直す● 車載向け機能の追加 – Tizen IVI, Qt – GENIVI OSS 52/59
  53. 53. Tizen ちゃん (仮) 54/59
  54. 54. 発案は西のきつねこと@fox_twitting さん 55/59
  55. 55. 絵師は@tiaritiari さん 56/59
  56. 56. 名前募集中です! 57/59
  57. 57. 打倒クラウディアたん! 58/59
  58. 58. フォクすけくんにも 負けません!! 59/59
  59. 59. 名前募集中です!大事な事だから2回言いました! 60/59
  60. 60. Q & A 61/59
  61. 61. ご清聴ありがとうございました 62/59

×