SlideShare uma empresa Scribd logo
1 de 61
Baixar para ler offline
T izen porting
     入門とその実例
         と T izen ちゃん(仮)


             2012.12.15 (Sat)
             Yuya Adachi (@moguriso)
自己紹介

● Yuya Adachi(@moguriso)
● ブログ: http://moguriqt.hatenablog.jp

● DeviceDriver 書いたり

    –   GPU, UART, SPI, I2C...
●   App の Android 移植など
                                       2/59
アジェンダ

● 移植までの背景
● Tizen Porting ... 起動編

● Tizen Porting ... 画面編

● 実例

● まとめ、今後について

                          3/59
移植の背景
        4/59
2011 年度〜

●   関西で勉強会を開始
    –   会社の施設、設備を借り始めた
●   OSC への参加も開始
    – 平日でも仕事扱い
    – 交通費も貰えるようになった
        ●   東は東京、西は広島まで
                          5/59
2012 年度〜

社内会議にて

上司「 今年は成果を求めていく !
  ... 成果が出ないと
  どうなるって? 」

                6/59
2012 年度〜


上司「 ( お前がウロウロする )
  交通費とか出なくなるっ
   てことだよ!? 」


                                 7/59
           (※)カッコ内は私の妄想 (?) です、たぶん
2012 年度〜




    ( ;゜ Д ゜ )
                 8/59
2012 年度〜

●   機材を調達 ( 借用 )
    –   Linux が動くことは知っていた
    –   環境に触ったこともあった
    –   会社の先輩 を巻き込んだ にも手助けを
        お願いした
    –   2012 年 7 月後半から開始
                              9/59
TizenPorting
 〜起動編〜
               10/59
基本方針

●   大前提は Tizen が動くこと
    –   動くかどうかもわからない
●   Tizen が動いてれば後はどう
    でもなると思っていた
    –   “ 動くこと”が正義!

                       11/59
環境面の整理



                                      FileSystem
tftp で uboot, Linux kernel をロードし
NFS を利用して rootfs を mount
                              uboot




                                                   12/59
移植作業(1)

● u-boot (bootloader)
● LinuxKernel (2.6.x )

    –   BSP で patch 提供

             らくらく出来た!

             ... そもそも、 patch を当てて build しただけ ...
                                              13/59
移植作業( 1.1 )

2012/08 前半

 先輩「 動いたでー 」

               14/59
移植作業( 1.2 )




   速っ !( ;゜ Д ゜ )
                    15/59
移植作業( 1.3 )

mer#




              16/59
移植作業( 1.4 )

私 「それ Tizen ちゃう Mer や!
   しかも、 なんで CUI ?」

先輩「だって Kernel にパッチが
    当たってる みたいで 画面が
   でーへん! 」
         (※)実際に Mer は Kernel に patch が
           当たっている (?) みたいです 17/59
移植作業( 1.5 )

●   Mer は諦めて Tizen に環境を
    移行してもらう

          「折角環境作って、 Kernel ブートする所ま
          で行ったのにまた1からやり直しや」

          とかブツブツ言われたるも、なんとかお願
          いして Tizen に気分を代えてもらった。
                                18/59
移植作業( 1.6 )

2012/08 半ば

先輩「 起動するように
   なったで 」
              19/59
移植作業( 1.7 )

 ************************************************************
●*             SAMSUNG LINUX PLATFORM                       *
●************************************************************

●

●xx.xx.xx.xx login: root
●-sh-4.1#




                                                                20/59
移植作業( 1.8 )



  やっぱり CUI か !
  ( ;゜ Д ゜ )
     Scratch Build System(SBS) で生成された rootfs
     をそのまま NFS で mount させていました。それま
     では全く動いていなかったので” Sumsung” と出た
     だけでかなり感動しました                        21/59
移植作業( 2 )

●   root ファイルシステムの構築
    – mic コマンドを利用 (fs 指定 )
    – NFS で mount

#mic create fs lb-tizen_20120617.2.ks -o .

           動くようになってきて、面白くなってきたので、このあ
           たりから自分でも手を動かすようになりました
                                             22/59
移植作業( 2.1 )




      rootfs を差し替えただけで、スプラッシュが出るよう
      になった。これはモチベーションがとても上がった
                               23/59
移植作業( 2.2 )




     この時点ではエラーが出ていて、 Tizen のメニュー
     画面は出ていなかった。マウスカーソルも出ていな
     かった。
     ともあれ、先輩のいない所で動かして画面が出た
     ので、先輩にすごく自慢した
                              24/59
移植作業( 2.3 )

2012/08 後半

先輩「 メニュー出たで。
   あと、マウスカーソルも
   出るようにしたったで〜 」
          実際にはフレームバッファを制御する
          ドライバにも手を入れています
                          25/59
移植作業( 2.4 )

●   フルパスでコマンド指定すると
    アプリが起動することが判明
#/opt/apps/org.tizen.menu/bin/menu

                            無謀にもこの辺りから
                            展示会に出すことを画
                            策し始めました。
                            改めて考えると、怖いも
                            の知らずでした。。。
                                     26/59
移植作業( - )

2012/09 前半
 私 「問題はありますが 動い
    てます 。
     Tizen が動いた という
    売りで行きましょう!」
 営業「あ、そう」
                      27/59
移植作業( - )

2012/09 前半
某社様「 GPU アクセラレーション
    が効いてないと出展して
    も意味無いですね 」
営業「そうですか。
   ( 私に向かって) で、 いつできる? 」
                           28/59
移植作業( - )




  軽っ !( ;゜ Д ゜ )
    (※)フィクションです。
    「できるだけ頑張れ」的なことは言われましたが ...
                                 29/59
TizenPorting
 〜画面編〜
               30/59
移植作業( 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
移植作業( 3.1 )




              32/59
移植作業( 3.2 )

●   EVAS/ECORE/EINA/EET/
    ELEMENTARY...
    EFL 周りのモジュールを大半
    OpenGL(ES) 対応にリビルド

         続きは Web(http://moguriqt.hatenablog.jp) で
                                              33/59
移植作業( 3.x )

● EFL(evas) には既に SGX を
  利用するパスがあった
● 基本的にビルドオプションを変

  更してリビルドしただけ

                     34/59
移植作業( 3.3 )

●   劇的ビフォーアフター
    – Before : 0fps
     ●   1 フレームに 5 〜 6 秒 (0.25fps)
    – After   : 7fps
     ●   30 倍以上の高速化!

                                     35/59
移植作業( 3.4 )



(  ̄∇ ̄ )v ドヤッ !

              36/59
移植作業( 3.5 )

2012/09 半ば
  A 社様「 7fps... 遅いですね! 」
  B 社様「 遅いですね! 」
 上司「ええ、 遅いですね! 」
 営業「はい、 遅いですね! 」

                 (※)フィクションです。
                            37/59
移植作業( 3.4 )



    (  ̄□ ̄; )

               38/59
移植作業( 3.5 )

2012/09 半ば
  A 社様「ハイエンドモデルを
     貸与します 」
  B 社様「 1ヶ月あれば出来ま
     す? 」
 上司「はい!」
 営業「はい!」      (※)フィクションです。
                             39/59
TargetBoard Spec

            CPU Cortex-A9 800MHz
                (Dual Core)
MIDDLE      メモリ 1GB
            GPU PowerVR SGX 540
RANGE
BOARD


                                   40/59
DevPhone Spec

           CPU Cortex-A9 1.2GHz
               (Dual Core)
           メモリ 1GB
           GPU Mali-400MP




                                  41/59
DevPhone で動かすと




      19fps!
                 42/59
TargetBoard Spec

            CPU Cortex-A9 1.0GHz
                (Quad Core)
 HIGH       メモリ 1GB
            GPU PowerVR SGX 543MP2
 END
BOARD


                                     43/59
HighEndBoard




       18fps!
                44/59
移植作業( 3.x )

●   劇的ビフォーアフター (2)
    – Before : 7fps
    – After : 18fps
     ●   実に 2.57 倍の高速化!


                          45/59
移植作業( 3.x )


  この後も、紆余曲折があり
   多くの方に多々ご迷惑を
  お掛け致しました m(_ _)m


                     46/59
実例
     47/59
48/59
まとめ
      49/59
まとめ

●   ” 動く”レベルであれば比較的容
    易に移植可能だった
    –   ホボ素の Linux そのまま
●   ハードウェア機能を有効化するに
    はドライバやソースの入手でハード
    ルは高かった
    ( 全体で 2w × 2 人位)
                          50/59
今後について
         51/59
今後について

● 3D 描画に未だ問題がある
  – 2.0a だと色々変わってる
  – 直す
● 車載向け機能の追加


  – Tizen IVI, Qt
  – GENIVI OSS
                     52/59
Tizen ちゃん
   (仮)
            54/59
発案は西のきつねこと
@fox_twitting さん

                   55/59
絵師は
@tiaritiari さん

                 56/59
名前募集中です!

           57/59
打倒
クラウディアたん!
            58/59
フォクすけくんにも
 負けません!!
            59/59
名前募集中です!
大事な事だから
2回言いました!
           60/59
Q & A
        61/59
ご清聴
ありがとうございました

              62/59

Mais conteúdo relacionado

Mais procurados

パソコンにMee goを入れる
パソコンにMee goを入れるパソコンにMee goを入れる
パソコンにMee goを入れる
Naoki Matsumoto
 

Mais procurados (11)

ゴルフゲームでUnityの限界を突破する方法
ゴルフゲームでUnityの限界を突破する方法ゴルフゲームでUnityの限界を突破する方法
ゴルフゲームでUnityの限界を突破する方法
 
ママ、どうして仮想化が必要なの?
ママ、どうして仮想化が必要なの?ママ、どうして仮想化が必要なの?
ママ、どうして仮想化が必要なの?
 
パソコンにMee goを入れる
パソコンにMee goを入れるパソコンにMee goを入れる
パソコンにMee goを入れる
 
UE4におけるLoadingとGCのProfilingと最適化手法
UE4におけるLoadingとGCのProfilingと最適化手法UE4におけるLoadingとGCのProfilingと最適化手法
UE4におけるLoadingとGCのProfilingと最適化手法
 
[EC-CUBE名古屋]仮想サーバでEC-CUBE環境を作ってみようハンズオン
[EC-CUBE名古屋]仮想サーバでEC-CUBE環境を作ってみようハンズオン[EC-CUBE名古屋]仮想サーバでEC-CUBE環境を作ってみようハンズオン
[EC-CUBE名古屋]仮想サーバでEC-CUBE環境を作ってみようハンズオン
 
「ゲームUIから考える これからのエンタープライズUX」
「ゲームUIから考えるこれからのエンタープライズUX」「ゲームUIから考えるこれからのエンタープライズUX」
「ゲームUIから考える これからのエンタープライズUX」
 
MeeGo won't die
MeeGo won't dieMeeGo won't die
MeeGo won't die
 
第4回 関西MeeGo勉強会 ネタ
第4回 関西MeeGo勉強会 ネタ第4回 関西MeeGo勉強会 ネタ
第4回 関西MeeGo勉強会 ネタ
 
Compaq Contura Aero で NetBSD を動かす
Compaq Contura Aero で NetBSD を動かすCompaq Contura Aero で NetBSD を動かす
Compaq Contura Aero で NetBSD を動かす
 
【Unite Tokyo 2019】【あら簡単】インテルのGPAを使ってあなたのUnityタイトルを高速化
【Unite Tokyo 2019】【あら簡単】インテルのGPAを使ってあなたのUnityタイトルを高速化【Unite Tokyo 2019】【あら簡単】インテルのGPAを使ってあなたのUnityタイトルを高速化
【Unite Tokyo 2019】【あら簡単】インテルのGPAを使ってあなたのUnityタイトルを高速化
 
BuddyPressの導入からカスタマイズまでの日記2
BuddyPressの導入からカスタマイズまでの日記2BuddyPressの導入からカスタマイズまでの日記2
BuddyPressの導入からカスタマイズまでの日記2
 

Destaque (9)

第1回 関西Qt勉強会
第1回 関西Qt勉強会第1回 関西Qt勉強会
第1回 関西Qt勉強会
 
introduction about Tizen meetup in Japan (OSC Nagoya 2012)
introduction about Tizen meetup in Japan (OSC Nagoya 2012)introduction about Tizen meetup in Japan (OSC Nagoya 2012)
introduction about Tizen meetup in Japan (OSC Nagoya 2012)
 
Small ret
Small retSmall ret
Small ret
 
Faith Legacy Gen 1 Kap 5
Faith Legacy Gen 1 Kap 5Faith Legacy Gen 1 Kap 5
Faith Legacy Gen 1 Kap 5
 
Faith Legacy Gen 1 Kap 1
Faith Legacy Gen 1 Kap 1Faith Legacy Gen 1 Kap 1
Faith Legacy Gen 1 Kap 1
 
関西MeeGo勉強会 第1回資料
関西MeeGo勉強会 第1回資料関西MeeGo勉強会 第1回資料
関西MeeGo勉強会 第1回資料
 
OSC Tokushima 2013
OSC Tokushima 2013OSC Tokushima 2013
OSC Tokushima 2013
 
Faith Legacy Gen 1 Kap 3
Faith Legacy Gen 1 Kap 3Faith Legacy Gen 1 Kap 3
Faith Legacy Gen 1 Kap 3
 
Quad business builder a quick introduction
Quad business builder a quick introductionQuad business builder a quick introduction
Quad business builder a quick introduction
 

Semelhante a 超勉強会 2012

初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
Kentarou Mukunasi
 
UnityとnodeとMMDと
UnityとnodeとMMDとUnityとnodeとMMDと
UnityとnodeとMMDと
sters
 
Hyper-V 虎の巻
Hyper-V 虎の巻Hyper-V 虎の巻
Hyper-V 虎の巻
hirookun
 
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jgguggriffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
kimukou_26 Kimukou
 
おじさんのぬるーい話(Keyboad)
おじさんのぬるーい話(Keyboad)おじさんのぬるーい話(Keyboad)
おじさんのぬるーい話(Keyboad)
Kenzo Nagahisa
 

Semelhante a 超勉強会 2012 (20)

初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ初心者向けAndroidゲーム開発ノウハウ
初心者向けAndroidゲーム開発ノウハウ
 
RでGPU使ってみた
RでGPU使ってみたRでGPU使ってみた
RでGPU使ってみた
 
UnityとnodeとMMDと
UnityとnodeとMMDとUnityとnodeとMMDと
UnityとnodeとMMDと
 
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
NetBSDのクロスビルドのしくみとインストール済みLive Imageの作成
 
Squarantine 〜Kuroboxを使ったUSBメモリセキュリティソリューション〜
Squarantine 〜Kuroboxを使ったUSBメモリセキュリティソリューション〜Squarantine 〜Kuroboxを使ったUSBメモリセキュリティソリューション〜
Squarantine 〜Kuroboxを使ったUSBメモリセキュリティソリューション〜
 
もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順もろもろの AI ツールを Windows のローカル環境にインストールする手順
もろもろの AI ツールを Windows のローカル環境にインストールする手順
 
はじめての4,500円OS無しジャンクIntel MacbookにLinux,NetBSDインストール iin OSC 2020 Online/Kyoto...
はじめての4,500円OS無しジャンクIntel MacbookにLinux,NetBSDインストール iin OSC 2020 Online/Kyoto...はじめての4,500円OS無しジャンクIntel MacbookにLinux,NetBSDインストール iin OSC 2020 Online/Kyoto...
はじめての4,500円OS無しジャンクIntel MacbookにLinux,NetBSDインストール iin OSC 2020 Online/Kyoto...
 
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
マウスを使わないでキーボードで快適に生活する方法(GNU Screen/tmux/byobu/awesome)
 
Androidへのdebianインストール奮闘記
Androidへのdebianインストール奮闘記Androidへのdebianインストール奮闘記
Androidへのdebianインストール奮闘記
 
AllwinnerタブレットのOSを作ってみる(中編)
AllwinnerタブレットのOSを作ってみる(中編)AllwinnerタブレットのOSを作ってみる(中編)
AllwinnerタブレットのOSを作ってみる(中編)
 
Gcpug begginers #1LT startup scriptとshutdown script
Gcpug begginers #1LT startup scriptとshutdown scriptGcpug begginers #1LT startup scriptとshutdown script
Gcpug begginers #1LT startup scriptとshutdown script
 
Open VZ
Open VZOpen VZ
Open VZ
 
20221031_SD輪読&座談会#42_kitazaki.pdf
20221031_SD輪読&座談会#42_kitazaki.pdf20221031_SD輪読&座談会#42_kitazaki.pdf
20221031_SD輪読&座談会#42_kitazaki.pdf
 
Hyper-V 虎の巻
Hyper-V 虎の巻Hyper-V 虎の巻
Hyper-V 虎の巻
 
Jjugccc2017spring m6 javafx
Jjugccc2017spring m6 javafxJjugccc2017spring m6 javafx
Jjugccc2017spring m6 javafx
 
griffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jgguggriffon plugin を 実際に作ってみよう #jggug
griffon plugin を 実際に作ってみよう #jggug
 
DynamoDBだけでソシャゲを作ってみた
DynamoDBだけでソシャゲを作ってみたDynamoDBだけでソシャゲを作ってみた
DynamoDBだけでソシャゲを作ってみた
 
Nbug201503
Nbug201503Nbug201503
Nbug201503
 
おじさんのぬるーい話(Keyboad)
おじさんのぬるーい話(Keyboad)おじさんのぬるーい話(Keyboad)
おじさんのぬるーい話(Keyboad)
 
XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用XenServerによるお手軽開発サーバ運用
XenServerによるお手軽開発サーバ運用
 

Mais de Yuya Adachi

Qt developer day 2014 LT
Qt developer day 2014 LTQt developer day 2014 LT
Qt developer day 2014 LT
Yuya Adachi
 
OSC Hiroshima 2013
OSC Hiroshima 2013OSC Hiroshima 2013
OSC Hiroshima 2013
Yuya Adachi
 
OSC tokushima 2013 LT
OSC tokushima 2013 LTOSC tokushima 2013 LT
OSC tokushima 2013 LT
Yuya Adachi
 
Kansai opensource 20121110
Kansai opensource 20121110Kansai opensource 20121110
Kansai opensource 20121110
Yuya Adachi
 
Tizen gbs (git build-system)
Tizen gbs (git build-system)Tizen gbs (git build-system)
Tizen gbs (git build-system)
Yuya Adachi
 
The first step starting Tizen
The first step starting TizenThe first step starting Tizen
The first step starting Tizen
Yuya Adachi
 
OSC Tokyo 2012 Spring発表資料
OSC Tokyo 2012 Spring発表資料OSC Tokyo 2012 Spring発表資料
OSC Tokyo 2012 Spring発表資料
Yuya Adachi
 
Mee go勉強会活動紹介
Mee go勉強会活動紹介Mee go勉強会活動紹介
Mee go勉強会活動紹介
Yuya Adachi
 

Mais de Yuya Adachi (20)

DronekitによるAndroid APIの概要
DronekitによるAndroid APIの概要DronekitによるAndroid APIの概要
DronekitによるAndroid APIの概要
 
Qt developer day 2014 LT
Qt developer day 2014 LTQt developer day 2014 LT
Qt developer day 2014 LT
 
The OS Extinction Fear - Amazing Tizen-
The OS Extinction Fear - Amazing Tizen-The OS Extinction Fear - Amazing Tizen-
The OS Extinction Fear - Amazing Tizen-
 
Tizen-chan also needs glasses.
Tizen-chan also needs glasses.Tizen-chan also needs glasses.
Tizen-chan also needs glasses.
 
What reason Tizen is not popular? (OSC Tokyo 2013 fall Lighting talk)
What reason Tizen is not popular? (OSC Tokyo 2013 fall Lighting talk)What reason Tizen is not popular? (OSC Tokyo 2013 fall Lighting talk)
What reason Tizen is not popular? (OSC Tokyo 2013 fall Lighting talk)
 
Html5など勉強会 第8回
Html5など勉強会 第8回Html5など勉強会 第8回
Html5など勉強会 第8回
 
HTML5(misc) Meetup in Japan 8th
HTML5(misc) Meetup in Japan 8thHTML5(misc) Meetup in Japan 8th
HTML5(misc) Meetup in Japan 8th
 
OSC Hiroshima 2013
OSC Hiroshima 2013OSC Hiroshima 2013
OSC Hiroshima 2013
 
Report for porting Tizen to Galaxy S2
Report  for porting Tizen to Galaxy S2Report  for porting Tizen to Galaxy S2
Report for porting Tizen to Galaxy S2
 
OSC tokushima 2013 LT
OSC tokushima 2013 LTOSC tokushima 2013 LT
OSC tokushima 2013 LT
 
Kansai opensource 20121110
Kansai opensource 20121110Kansai opensource 20121110
Kansai opensource 20121110
 
Tizen gbs (git build-system)
Tizen gbs (git build-system)Tizen gbs (git build-system)
Tizen gbs (git build-system)
 
Tizen わんいやーあにばーさりー
Tizen わんいやーあにばーさりーTizen わんいやーあにばーさりー
Tizen わんいやーあにばーさりー
 
Open Source Conference Kansai@Kyoto 2012 presentaiton about Tizen and Tizen M...
Open Source Conference Kansai@Kyoto 2012 presentaiton about Tizen and Tizen M...Open Source Conference Kansai@Kyoto 2012 presentaiton about Tizen and Tizen M...
Open Source Conference Kansai@Kyoto 2012 presentaiton about Tizen and Tizen M...
 
Introduction about Tizen on Open Seminor Kagawa 2012
Introduction about Tizen on Open Seminor Kagawa 2012Introduction about Tizen on Open Seminor Kagawa 2012
Introduction about Tizen on Open Seminor Kagawa 2012
 
The first step starting Tizen
The first step starting TizenThe first step starting Tizen
The first step starting Tizen
 
関西Qt勉強会 ごーるでん 発表資料
関西Qt勉強会 ごーるでん 発表資料関西Qt勉強会 ごーるでん 発表資料
関西Qt勉強会 ごーるでん 発表資料
 
関西Tizen勉強会 新学期(4/21)資料
関西Tizen勉強会 新学期(4/21)資料関西Tizen勉強会 新学期(4/21)資料
関西Tizen勉強会 新学期(4/21)資料
 
OSC Tokyo 2012 Spring発表資料
OSC Tokyo 2012 Spring発表資料OSC Tokyo 2012 Spring発表資料
OSC Tokyo 2012 Spring発表資料
 
Mee go勉強会活動紹介
Mee go勉強会活動紹介Mee go勉強会活動紹介
Mee go勉強会活動紹介
 

Último

Último (11)

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

超勉強会 2012

  • 1. T izen porting 入門とその実例 と T izen ちゃん(仮) 2012.12.15 (Sat) Yuya Adachi (@moguriso)
  • 2. 自己紹介 ● Yuya Adachi(@moguriso) ● ブログ: http://moguriqt.hatenablog.jp ● DeviceDriver 書いたり – GPU, UART, SPI, I2C... ● App の Android 移植など 2/59
  • 3. アジェンダ ● 移植までの背景 ● Tizen Porting ... 起動編 ● Tizen Porting ... 画面編 ● 実例 ● まとめ、今後について 3/59
  • 5. 2011 年度〜 ● 関西で勉強会を開始 – 会社の施設、設備を借り始めた ● OSC への参加も開始 – 平日でも仕事扱い – 交通費も貰えるようになった ● 東は東京、西は広島まで 5/59
  • 6. 2012 年度〜 社内会議にて 上司「 今年は成果を求めていく ! ... 成果が出ないと   どうなるって? 」 6/59
  • 7. 2012 年度〜 上司「 ( お前がウロウロする )   交通費とか出なくなるっ    てことだよ!? 」 7/59 (※)カッコ内は私の妄想 (?) です、たぶん
  • 8. 2012 年度〜 ( ;゜ Д ゜ ) 8/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
  • 13. 移植作業(1) ● u-boot (bootloader) ● LinuxKernel (2.6.x ) – BSP で patch 提供 らくらく出来た! ... そもそも、 patch を当てて build しただけ ... 13/59
  • 14. 移植作業( 1.1 ) 2012/08 前半 先輩「 動いたでー 」 14/59
  • 15. 移植作業( 1.2 ) 速っ !( ;゜ Д ゜ ) 15/59
  • 17. 移植作業( 1.4 ) 私 「それ Tizen ちゃう Mer や!    しかも、 なんで CUI ?」 先輩「だって Kernel にパッチが     当たってる みたいで 画面が    でーへん! 」 (※)実際に Mer は Kernel に patch が   当たっている (?) みたいです 17/59
  • 18. 移植作業( 1.5 ) ● Mer は諦めて Tizen に環境を 移行してもらう 「折角環境作って、 Kernel ブートする所ま で行ったのにまた1からやり直しや」 とかブツブツ言われたるも、なんとかお願 いして Tizen に気分を代えてもらった。 18/59
  • 19. 移植作業( 1.6 ) 2012/08 半ば 先輩「 起動するように    なったで 」 19/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
  • 36. 移植作業( 3.4 ) (  ̄∇ ̄ )v ドヤッ ! 36/59
  • 37. 移植作業( 3.5 ) 2012/09 半ば   A 社様「 7fps... 遅いですね! 」   B 社様「 遅いですね! 」  上司「ええ、 遅いですね! 」  営業「はい、 遅いですね! 」 (※)フィクションです。 37/59
  • 38. 移植作業( 3.4 ) (  ̄□ ̄; ) 38/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
  • 42. DevPhone で動かすと 19fps! 42/59
  • 43. TargetBoard Spec CPU Cortex-A9 1.0GHz (Quad Core) HIGH メモリ 1GB GPU PowerVR SGX 543MP2 END BOARD 43/59
  • 44. HighEndBoard 18fps! 44/59
  • 45. 移植作業( 3.x ) ● 劇的ビフォーアフター (2) – Before : 7fps – After : 18fps ● 実に 2.57 倍の高速化! 45/59
  • 46. 移植作業( 3.x ) この後も、紆余曲折があり 多くの方に多々ご迷惑を お掛け致しました m(_ _)m 46/59
  • 47. 実例 47/59
  • 48. 48/59
  • 49. まとめ 49/59
  • 50. まとめ ● ” 動く”レベルであれば比較的容 易に移植可能だった – ホボ素の Linux そのまま ● ハードウェア機能を有効化するに はドライバやソースの入手でハード ルは高かった ( 全体で 2w × 2 人位) 50/59
  • 52. 今後について ● 3D 描画に未だ問題がある – 2.0a だと色々変わってる – 直す ● 車載向け機能の追加 – Tizen IVI, Qt – GENIVI OSS 52/59
  • 53. Tizen ちゃん (仮) 54/59
  • 60. Q & A 61/59