Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

超勉強会 2012

2,282 views

Published on

Published in: Technology
  • Be the first to comment

超勉強会 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

×