$30 off During Our Annual Pro Sale. View Details »

Dissecting Ubuntu Touch

penk
August 03, 2013

Dissecting Ubuntu Touch

Canonical 於今年初發佈了 Ubuntu Touch,帶來新的圖形顯示技術 Mir、使用 QML 的開發環境與嶄新 Unity8 介面設計。面對這場近十年來桌面環境最重大的變革,探討 Ubuntu Touch 所有重要組成元件、image 建構方式與客製化、移植方法,和 libhybris 專案為嵌入式環境帶來的新機會。

penk

August 03, 2013
Tweet

More Decks by penk

Other Decks in Technology

Transcript

  1. credit: http://www.911pop.com/qmoon/Preview/qmyl/upload//band/1347853492789.jpg
    Dissecting Ubuntu Touch
    Ping-Hsun (penk) Chen
    COSCUP 2013

    View Slide

  2. penkia.net/portfolio
    [email protected]
    !
    զੋ Penk
    [email protected]

    View Slide

  3. Ubuntu Touch ੋਆഅ
    ॏཁతݩ݅
    ҆᧋ɺҠ২࿨䔟ഁᆦ
    SDK ٴ App ։ᚙ

    View Slide

  4. Ubuntu Touch ੋਆഅ
    ॏཁతݩ݅
    ҆᧋ɺҠ২࿨䔟ഁᆦ
    SDK ٴ App ։ᚙ
    ᡒ㘸 COSCUP
    ౤ӨยҰఆཁ์䤕
    http://files.chesscomfiles.com/images_users/tiny_mce/GeordiLaForge/unknown-cat-at-the-keyboard-2010-e1270508249694.jpg

    View Slide

  5. ݱࡏՄҎެ։త৘ใ
    • ࢖༻ Qt ࿨Ҏख੎ૢ࡞తհ໘ [1]
    • ઃܭࢣتᓣࢵ৭
    • େ෦෼త౦੢ਅత။ಈ
    • ࢵ৭, ౸႔౎ੋࢵ৭

    View Slide

  6. Ubuntu Touch ੋਆഅ
    ॏཁݩ݅
    ҆᧋ɺҠ২࿨䔟ഁᆦ
    SDK ٴ App ։ᚙ

    View Slide

  7. ANDROID
    • ࢖༻ CyanogenMod ࡞ҝجૅઃࢪ
    • جԙ૬ಉ֩৺࿨ Binder/Socket IPC
    • ओཁੋҝྃ HAL ࿨ RIL
    • ֫ಘ Just a Unity shell ੒ब
    Android

    View Slide

  8. LIBHYBRIS
    • ೾འਓ Carsten Munk ։ᚙ [2]
    • Android driver త Glibc നख౟
    • GPU ࿨ Camera ౎။ಈྃ!
    • 2012/8 ᬶग़ (֏֏)
    Android
    libhybris

    View Slide

  9. QTUBUNTU
    • ఏڙ Platform API
    • Ⴉష฽ɺࢹᜬɺᦊນ
    • Ubuntu త QPA [3]
    • SurfaceFlinger ؅ཧ
    Android
    libhybris
    QtUbuntu

    View Slide

  10. UI COMPONENTS
    • جԙ QtQuick 2.0
    • 㑌ҰՈ౎ࣗݾ၏Ұ౟ [4]
    • 䆋ܠओ୊੾׵ [5]
    • ሣᦊນີ౓త႔ཧ (grid unit)
    Android
    libhybris
    QtUbuntu
    UI Components

    View Slide

  11. Ubuntu Touch ੋਆഅ
    ॏཁతݩ݅
    ҆᧋ɺҠ২࿨䔟ഁᆦ
    SDK ٴ App ։ᚙ

    View Slide

  12. ҝᚙᗑࣕੜ
    • ኷䙸ɺҼҝిݯ؅ཧ༗໰୊
    • 㑌ఱ౎ՄҎ࡮ػ [6]
    • adb reboot bootloader

    View Slide

  13. ຋᫚㠧 ROOTFS
    • DEMO աޙਞ௧
    • chroot መࡏෆ޷রސ
    • lxc-android-config [7]
    • flipping Ճ଎ਐߦத [8]

    View Slide

  14. ᤈ䱾ظ଴త
    MIR & UNITY8
    • ໨લနવґ↳ SurfaceFlinger
    • ऴۃ໨ඪੋա౉౸ Mir [9]
    • ppa:phablet-team/mir
    • (֏֏)

    View Slide

  15. Ubuntu Touch ੋਆഅ
    ॏཁతݩ݅
    ҆᧋ɺҠ২࿨䔟ഁᆦ
    SDK ٴ App ։ᚙ

    View Slide

  16. ҆᧋ SDK
    • su phablet -c qmlscene your.qml
    • click-package [10]
    • (֏֏֏)
    sudo add-apt-repository ppa:ubuntu-sdk-team/ppa
    sudo apt-get update
    sudo apt-get install ubuntu-sdk

    View Slide

  17. SlateKit.org
    SlateKit Shell - the web browser with a hamburger button 

    View Slide

  18. add-apt-repository \
    ppa:ubuntu-touch-coreapps-drivers/collection
    apt-get update
    apt-get install slatekit-shell

    View Slide

  19. [1] http://www.youtube.com/watch?v=LoXpLUr5WB4
    [2] https://code.launchpad.net/~phablet-team/phablet-extras/llibhybris
    [3] https://code.launchpad.net/~phablet-team/qtubuntu/trunk
    [4] http://qt-project.org/wiki/QQUIComponentsComparison
    [5] https://launchpad.net/ubuntu-ui-toolkit/
    [6] http://cdimage.ubuntu.com/ubuntu-touch/daily-preinstalled/current/
    [7] https://launchpad.net/ubuntu/+source/lxc-android-config
    [8] https://wiki.ubuntu.com/Touch/PortingFlippedInProgress
    [9] https://wiki.ubuntu.com/Touch/Testing/Mir
    [10] https://wiki.ubuntu.com/AppDevUploadProcess

    View Slide

  20. Any Question?
    igg.me/at/ubuntuedge
    Ubuntu Edge

    View Slide

  21. Thanks! :-)

    View Slide