diff options
-rw-r--r-- | Makefile | 20 | ||||
-rw-r--r-- | img/calls.jpg | bin | 0 -> 25261 bytes | |||
-rw-r--r-- | img/chatty.jpg | bin | 0 -> 50469 bytes | |||
-rw-r--r-- | img/devkit.jpg | bin | 0 -> 311002 bytes | |||
-rw-r--r-- | img/fractal.jpg | bin | 0 -> 106620 bytes | |||
-rw-r--r-- | img/l5-id.jpg | bin | 0 -> 188603 bytes | |||
-rw-r--r-- | img/l5-v1-18_9-turn-around.jpg | bin | 52717 -> 0 bytes | |||
-rw-r--r-- | img/libhandy.jpg | bin | 0 -> 33012 bytes | |||
-rw-r--r-- | img/osk.jpg | bin | 0 -> 71687 bytes | |||
-rw-r--r-- | img/phosh.jpg | bin | 0 -> 111707 bytes | |||
-rw-r--r-- | talk.org | 228 | ||||
-rw-r--r-- | talk.pdf | bin | 493034 -> 1087016 bytes |
12 files changed, 156 insertions, 92 deletions
@@ -1,9 +1,23 @@ all: talk.pdf -talk.pdf: talk.org - # org-src-preserve-indentation prevents spaces converted to tabs in babel) +SOURCES=\ + talk.org \ + img/l5-id.jpg \ + img/libhandy.jpg \ + img/calls.jpg \ + img/chatty.jpg \ + img/fractal.jpg \ + img/phosh.jpg \ + img/osk.jpg \ + img/devkit.jpg \ + $(NULL) + +OUT=talk.pdf + +$(OUT): $(SOURCES) + # org-src-preserve-indentation prevents spaces converted to tabs in babel) emacs -batch $< --eval='(setq org-src-preserve-indentation t)' \ --eval='(org-beamer-export-to-pdf)' clean: - rm -f *.tex + rm -f *.tex $(OUT) diff --git a/img/calls.jpg b/img/calls.jpg Binary files differnew file mode 100644 index 0000000..f8bcf99 --- /dev/null +++ b/img/calls.jpg diff --git a/img/chatty.jpg b/img/chatty.jpg Binary files differnew file mode 100644 index 0000000..19830f8 --- /dev/null +++ b/img/chatty.jpg diff --git a/img/devkit.jpg b/img/devkit.jpg Binary files differnew file mode 100644 index 0000000..3e001b3 --- /dev/null +++ b/img/devkit.jpg diff --git a/img/fractal.jpg b/img/fractal.jpg Binary files differnew file mode 100644 index 0000000..ca8f66b --- /dev/null +++ b/img/fractal.jpg diff --git a/img/l5-id.jpg b/img/l5-id.jpg Binary files differnew file mode 100644 index 0000000..096e61f --- /dev/null +++ b/img/l5-id.jpg diff --git a/img/l5-v1-18_9-turn-around.jpg b/img/l5-v1-18_9-turn-around.jpg Binary files differdeleted file mode 100644 index 11bc63a..0000000 --- a/img/l5-v1-18_9-turn-around.jpg +++ /dev/null diff --git a/img/libhandy.jpg b/img/libhandy.jpg Binary files differnew file mode 100644 index 0000000..fe2b9c6 --- /dev/null +++ b/img/libhandy.jpg diff --git a/img/osk.jpg b/img/osk.jpg Binary files differnew file mode 100644 index 0000000..41f69e0 --- /dev/null +++ b/img/osk.jpg diff --git a/img/phosh.jpg b/img/phosh.jpg Binary files differnew file mode 100644 index 0000000..3ee96e4 --- /dev/null +++ b/img/phosh.jpg @@ -5,9 +5,9 @@ #+OPTIONS: d:(not "LOGBOOK") date:t e:t email:nil f:t inline:t num:t #+OPTIONS: p:nil pri:nil prop:nil stat:t tags:t tasks:t tex:t #+OPTIONS: timestamp:t title:t toc:t todo:t |:t -#+TITLE: The Librem-5 Phone -#+SUBTITLE: FSFE Group Bonn Meeting, May 2018 -#+DATE: 2018-05-14 +#+TITLE: The Librem-5 Phone - a status update +#+SUBTITLE: FSFE Group Bonn Meeting, October 2018 +#+DATE: 2018-10-08 #+AUTHOR: Guido Günther #+EMAIL: agx@sigxcpu.org #+LANGUAGE: en @@ -17,6 +17,7 @@ #+latex_header: \mode<beamer>{\usetheme{Copenhagen}} #+latex_header: \setbeamertemplate{headline}{} #+latex_header: \AtBeginSection[]{\begin{frame}<beamer>\frametitle{Topic}\tableofcontents[currentsection]\end{frame}} +#+latex_header: \hypersetup{ linkcolor=blue, pdfborder={0 0 0 0}} #+COLUMNS: %40ITEM %10BEAMER_env(Env) %9BEAMER_envargs(Env Args) %4BEAMER_col(Col) %10BEAMER_extra(Extra) * Who am I @@ -27,114 +28,140 @@ ** About me - Debian Developer (libvirt et al., gbp, LTS, ...) -- GNOME contributor +- GNOME Foundation Member - FSFE Supporter - Freelancing Free Software Developer +- Working on the Librem-5 ** Intro :PROPERTIES: :BEAMER_env: note :END: -- Purpose: What is the librem5 +- Short overview * The Librem-5 ** A security and privacy focused phone -[[./img/l5-v1-18_9-turn-around.jpg]] +[[./img/l5-id.jpg]] ** "Classic" Phone Features -- Camera +- Phone calls +- SMS - GPS - Wifi +- Camera - … -- "Regular" phone calls and SMS - -#+CAPTION: Current Designs -[[./img/l5-v1-18_9-turn-around.jpg]] ** Not so "Classic" -- designed and built by [[https://puri.sm][Purism]] SPC -#+BEAMER: \pause +- Designed and built by [[https://puri.sm][Purism]] SPC - Hardware kill switches (wifi/BT, camera, modem) -#+BEAMER: \pause -- CPU separate from Baseband Modem -#+BEAMER: \pause -- runs by default a regular Linux distribution (PureOS) -- no Android -#+BEAMER: \pause -- end to end encrypted calls and messaging -#+BEAMER: \pause -- user has full control over the device - -* Hardware and Software - -** Based on NXP iMX.8 CPU -- The user space software is only *one* part of the project. -#+BEAMER: \pause -- not a common phone CPU -- Vivante Graphics (etnaviv kernel driver/mesa) -- Reaching for RYF -- Mainline kernel (or close to it) -- No software updateable firmware - -** PureOS -- Debian based -- FSF endorsement -- Runs currently on Purism's laptops -- Rolling distribution - -** By default GNOME based -- [[https://code.puri.sm/Librem5/libhandy][libhandy]] for phone widgets -- Work on making GNOME apps phone ready ([[https://honk.sigxcpu.org/projects/libhandy/doc/HdyLeaflet.html][HdyLeaflet]], [[https://wiki.gnome.org/AdrienPlazas/StackableBox][Status]], [[https://puri.sm/posts/librem5-progress-report-7/][Demo]]) -#+BEAMER: \pause -- Design based approach +- CPU separate from baseband modem +- Runs by default a regular Linux distribution (PureOS) +- Not Android based +- End to end encrypted messaging (and calls) +- User has full control over the device +- By default GNOME based + +* Status Update (Software) + +** Adaptive GNOME apps +#+attr_latex: :width 200px +[[./img/libhandy.jpg]] +- [[https://code.puri.sm/Librem5/libhandy][libhandy]] for adaptive widgets + - Lots of new widgets ([[http://honk.sigxcpu.org/projects/libhandy/doc/][doc]]) + - 4 [[https://source.puri.sm/Librem5/libhandy/tags][releases]] so far, uploaded to Debian + - [[https://source.puri.sm/guido.gunther/libhandy/tree/hdy-users][Multiple GNOME apps already using it]] + - Used by Librem5 [[https://source.puri.sm/Librem5/calls][apps]]/[[https://source.puri.sm/Librem5/phosh][shell]] + +** Adaptive GNOME apps (II) +- Patches for + - [[https://gitlab.gnome.org/GNOME/gnome-bluetooth/merge_requests/5][gnome-bluetooth]] + - [[https://gitlab.gnome.org/GNOME/gnome-contacts/merge_requests/15][gnome-contacts]] + - epiphany + - gnome-control-center + +** Calls +#+attr_latex: :width 80px +[[./img/calls.jpg]] + +- Does phone calls via [[https://www.freedesktop.org/wiki/Software/ModemManager/][ModemManager]] +- [[https://source.puri.sm/Librem5/haegtesse][Daemon]] to test calls with Simcom 7100 +- TODO Contacts integration / shell integration ([[https://source.puri.sm/Librem5/calls/issues][bugs]]) + +** Chatty (XMPP, SMS) +#+attr_latex: :width 80px +[[./img/chatty.jpg]] + +- Most recent addition +- SMS und XMPP (OMEMO) +- TODO Add back SMS / more XMPP XEPs ([[https://source.puri.sm/Librem5/chatty/issues][bugs]]) + +** Fractal (Matrix) +#+attr_latex: :width 200px +[[./img/fractal.jpg]] +- Upstream work continues on MUC split +- Work on end to end encryption + +** Phosh (Graphical Shell) +#+attr_latex: :width 200px +[[./img/phosh.jpg]] + +- Runnig it since several months +- Initialrelease: nightshift, gcr-prompter, lockscreen, ... +- TODO Appliction browser, Wifi status, Vol. ctrl ([[https://source.puri.sm/Librem5/phosh/issues][bugs]]) ** Wayland compositor -- Uses [[https://github.com/swaywm/wlroots][wlroots]] - - Compositor library - - Used by sway, waycooler, waymonad, … -- Phosh: The phone shell, GTK+/GNOME based ([[https://puri.sm/posts/librem5-progress-report-7/][Demo]]) +- Awesome support from wlroots upstream +- text-input / input-method Wayland protocol enhancements +- TODO + - Don't use [[https://github.com/swaywm/wlroots][rootston]] (but wlroots!) + - Animations, dmabuf enhancements, text-input / input-method, ... + +** Virtboard (On Screen Keyboard) +#+attr_latex: :width 200px +[[./img/osk.jpg]] +- TODO: GTK+, different layouts, text prediction ** CI / Builds -- based on Gogs / Jenkins - -** "Apps" -- [[https://flatpak.org][flatpak]] based -- [[https://wiki.gnome.org/Apps/Builder][GNOME Builder]] as development enviroment -- "App repositoroy" will host free software, - not GNOME only - -** Other flavours -- Plasma Mobile ([[https://puri.sm/posts/librem5-progress-report-9/][runs]] on the test boards) -- UBPorts -#+BEAMER: \pause -- Your free software phone platform goes here -#+attr_latex: :width 100px -[[./img/cell_service_full-768x1024.jpg]] - -* Current status - -** UI/UX design progress - -#+CAPTION: Design -[[./img/l5-shell-18-9.jpg]] - -** Hardware design progress -- iMX.8 looks good -- dev boards in the works -- M.2 cellular baseband -- wifi / bt is hard (firmware) -** Software -- [[https://storage.puri.sm/librem5/binaries/unstable/][development images available]] -- [[https://storage.puri.sm/librem5/binaries/unstable/][developer documention available]] -- minimalistic [[https://code.puri.sm/Librem5/wlroots][compositor]] / [[https://code.puri.sm/Librem5/wlroots][shell]] - -- calls: basic dialer application -- basic sms application -** Encryted Messaging -- likely based on [[https://github.com/danigm/fractal][fractal]] / matrix -** Browser -- Work on making Web/Epiphany adaptive ([[http://bytesgnomeschozo.blogspot.de/2018/05/adaptive-gnome-web.html][Demo]]) +- Based on gitlab / gitlab CI / Jenkins +- Build with different compilers, smoketest, valgrind, ... + +** Plasma mobile +- Package builds for arm64 integrated +- PlaMo developers are currently looking into build issues + +* Status Update (Hardware) + +** Kernel +- Based on basic NXP imx8m arm64 Linux support from [[https://www.pengutronix.de/de/][pengutronix]] +- Building/using [[https://source.puri.sm/Librem5/linux-emcraft][4.18 mainline based kernel]] on arm64 +- Got [[https://source.puri.sm/guido.gunther/mesa][basic mesa]] to work by + - Forward porting things from NXPs/Emcrafts vendor kernel + - Cherry-picking together different mesa bits + - https://twitter.com/GuidoGuenther/status/1032898450180980736 + +** Kernel (II) +- Overall +: 262 files changed, 71398 insertions(+), 5074 deletions(-) +- Graphics subsystem +: 86 files changed, 26809 insertions(+), 114 deletions(-) + +** QEMU development images + +- [[https://arm01.puri.sm/job/Images/job/Image%2520Build/][available]] from our CI system +- uses correct display geometry, shell, osk, ... +- rough around the edges + +** Devkits about to ship +#+attr_latex: :width 150px +[[./img/devkit.jpg]] +- [[https://puri.sm/wp-content/uploads/2018/06/2018-07-26-dev-kit-blueprint.jpg][blueprints]] done +- [[https://puri.sm/wp-content/uploads/2018/06/2018-07-26-devkit-parts-table.jpg][parts shipped]] for assembly +- first boards assembled (should arrive every day now) + +** Phone shipment delayed 'til April 2019 +- Power management issues +- Chinese new year * Appendix :B_appendix: :PROPERTIES: @@ -142,15 +169,38 @@ :END: ** Join the fun +- follow the links in the slides for details +- developer documentation: https://developer.puri.sm/ +- Translations done via Zanata: http://zanata.org +- Puri.sm is hiring: https://puri.sm/job/librem-5-developer-roles/ +- Sources: https://source.puri.sm/Librem5 - librem-5@lists.puri.sm / https://lists.puri.sm/ - Blog: https://puri.sm/posts/tag/phones/ -- Developer documentation: https://developer.puri.sm - Questions? ** Thanks - Send mail to <agx@sigxcpu.org> +** Hardware and Software + +*** Based on NXP iMX.8 CPU +- The user space software is only *one* part of the project. +- not a common phone CPU +- Vivante gc7000 Graphics (etnaviv kernel driver/mesa) +- Reaching for RYF +- Mainline kernel (or close to it) +- No software updateable firmware + +*** PureOS +- Debian based +- FSF endorsement +- Runs currently on Purism's laptops +- Rolling distribution + +# Thinks I tend to forget +# https://orgmode.org/manual/Handling-links.html +# # Local Variables: # org-src-preserve-indentation: t # End: Binary files differ |