Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

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

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

    COSCUP ౤ӨยҰఆཁ์䤕 http://files.chesscomfiles.com/images_users/tiny_mce/GeordiLaForge/unknown-cat-at-the-keyboard-2010-e1270508249694.jpg
  5. ݱࡏՄҎެ։త৘ใ • ࢖༻ Qt ࿨Ҏख੎ૢ࡞తհ໘ [1] • ઃܭࢣتᓣࢵ৭ • େ෦෼త౦੢ਅత။ಈ

    • ࢵ৭, ౸႔౎ੋࢵ৭
  6. Ubuntu Touch ੋਆഅ ॏཁݩ݅ ҆᧋ɺҠ২࿨䔟ഁᆦ SDK ٴ App ։ᚙ

  7. ANDROID • ࢖༻ CyanogenMod ࡞ҝجૅઃࢪ • جԙ૬ಉ֩৺࿨ Binder/Socket IPC •

    ओཁੋҝྃ HAL ࿨ RIL • ֫ಘ Just a Unity shell ੒ब Android
  8. LIBHYBRIS • ೾འਓ Carsten Munk ։ᚙ [2] • Android driver

    త Glibc നख౟ • GPU ࿨ Camera ౎။ಈྃ! • 2012/8 ᬶग़ (֏֏) Android libhybris
  9. QTUBUNTU • ఏڙ Platform API • Ⴉష฽ɺࢹᜬɺᦊນ • Ubuntu త

    QPA [3] • SurfaceFlinger ؅ཧ Android libhybris QtUbuntu
  10. UI COMPONENTS • جԙ QtQuick 2.0 • 㑌ҰՈ౎ࣗݾ၏Ұ౟ [4] •

    䆋ܠओ୊੾׵ [5] • ሣᦊນີ౓త႔ཧ (grid unit) Android libhybris QtUbuntu UI Components
  11. Ubuntu Touch ੋਆഅ ॏཁతݩ݅ ҆᧋ɺҠ২࿨䔟ഁᆦ SDK ٴ App ։ᚙ

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

  13. ຋᫚㠧 ROOTFS • DEMO աޙਞ௧ • chroot መࡏෆ޷রސ • lxc-android-config

    [7] • flipping Ճ଎ਐߦத [8]
  14. ᤈ䱾ظ଴త MIR & UNITY8 • ໨લနવґ↳ SurfaceFlinger • ऴۃ໨ඪੋա౉౸ Mir

    [9] • ppa:phablet-team/mir • (֏֏)
  15. Ubuntu Touch ੋਆഅ ॏཁతݩ݅ ҆᧋ɺҠ২࿨䔟ഁᆦ SDK ٴ App ։ᚙ

  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
  17. SlateKit.org SlateKit Shell - the web browser with a hamburger

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

  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
  20. Any Question? igg.me/at/ubuntuedge Ubuntu Edge

  21. Thanks! :-)