diff options
author | Guido Günther <agx@sigxcpu.org> | 2020-08-04 13:15:07 +0200 |
---|---|---|
committer | Guido Günther <agx@sigxcpu.org> | 2021-10-03 11:03:28 +0200 |
commit | 1161179bf566a3cdb90eafb253f902d2e202d739 (patch) | |
tree | 0a7286ed8170d9a12049b3aaf6924472580c5048 |
-rw-r--r-- | .gitignore | 4 | ||||
-rw-r--r-- | Makefile | 26 | ||||
-rw-r--r-- | img/dialpad.png | bin | 0 -> 35164 bytes | |||
-rw-r--r-- | img/librem5.png | bin | 0 -> 146997 bytes | |||
-rw-r--r-- | img/mobian.png | bin | 0 -> 10109 bytes | |||
-rw-r--r-- | img/n900.png | bin | 0 -> 2043489 bytes | |||
-rw-r--r-- | img/openmoko.png | bin | 0 -> 56546 bytes | |||
-rw-r--r-- | img/pinephone.png | bin | 0 -> 356089 bytes | |||
-rw-r--r-- | img/purism.png | bin | 0 -> 10074 bytes | |||
-rw-r--r-- | talk.org | 256 | ||||
-rw-r--r-- | talk.pdf | bin | 0 -> 2892123 bytes |
11 files changed, 286 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..40fd116 --- /dev/null +++ b/.gitignore @@ -0,0 +1,4 @@ +*.pdf +*.tex +*~ +_build/ diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..5b9d65e --- /dev/null +++ b/Makefile @@ -0,0 +1,26 @@ +all: talk.pdf + +SOURCES=\ + talk.org \ + $(wildcard _build/*.png) \ + $(wildcard img/*.jpg) \ + $(wildcard img/*.png) \ + $(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 $(OUT) _build + +mode: + wlr-randr --output HDMI-A-1 --mode 1280x720@50 + wlr-randr --output HDMI-A-1 --mode 1280x720@50 --pos 0,0 + wlr-randr --output eDP-1 --pos 0,721 + +record: + wf-recorder -a 'Logitech H360 Headset' -o HDMI-A-1 diff --git a/img/dialpad.png b/img/dialpad.png Binary files differnew file mode 100644 index 0000000..e1d456e --- /dev/null +++ b/img/dialpad.png diff --git a/img/librem5.png b/img/librem5.png Binary files differnew file mode 100644 index 0000000..9ecc058 --- /dev/null +++ b/img/librem5.png diff --git a/img/mobian.png b/img/mobian.png Binary files differnew file mode 100644 index 0000000..6ba19cf --- /dev/null +++ b/img/mobian.png diff --git a/img/n900.png b/img/n900.png Binary files differnew file mode 100644 index 0000000..bf42a20 --- /dev/null +++ b/img/n900.png diff --git a/img/openmoko.png b/img/openmoko.png Binary files differnew file mode 100644 index 0000000..5cf42db --- /dev/null +++ b/img/openmoko.png diff --git a/img/pinephone.png b/img/pinephone.png Binary files differnew file mode 100644 index 0000000..15b8c76 --- /dev/null +++ b/img/pinephone.png diff --git a/img/purism.png b/img/purism.png Binary files differnew file mode 100644 index 0000000..b8a499e --- /dev/null +++ b/img/purism.png diff --git a/talk.org b/talk.org new file mode 100644 index 0000000..60c9491 --- /dev/null +++ b/talk.org @@ -0,0 +1,256 @@ +#+TODO: TODO(t) IN-PROGRESS DONE +#+STARTUP: indent +#+STARTUP: beamer +#+OPTIONS: ':nil *:t -:t ::t <:t H:2 \n:nil ^:t arch:headline +#+OPTIONS: author:t broken-links:nil c:nil creator:nil +#+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: Debian on a smartphone, are you serious? +#+SUBTITLE: MiniDebConf Regensburg - August 2021 +#+DATE: 2021-10-02 +#+AUTHOR: Guido Günther +#+EMAIL: agx@sigxcpu.org +#+LANGUAGE: en +#+SELECT_TAGS: export +#+EXCLUDE_TAGS: noexport +#+CREATOR: Emacs 25.2.2 (Org mode 9.0.9) +#+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) + +* Introduction + +** About me +:PROPERTIES: +:UNNUMBERED: t +:END: + +- Debian Developer (libvirt et al., git-buildpackage, ...) +- Freelancing Free Software Developer +- Working with Purism on the Librem 5 Phone + +** Debian on smartphones + +Are you serious? +#+BEAMER: \pause +Yes. + +** But why? + +#+ATTR_LATEX: :height 0.4\textheight +[[./img/dialpad.png]] + +- Software Freedom +- Know where your data goes +- Proper (security) updates +- User instead of vendor control + +** Antiquity (2008, 2009) + +#+ATTR_LATEX: :height 0.3\textheight +[[./img/openmoko.png]] + +#+ATTR_LATEX: :height 0.3\textheight +[[./img/n900.png]] + +#+BEAMER: \pause +Openmoko Freerunner and N900 + +** The Past (2017) + +*** Off the shelf Android devices +- lack of hardware/spec +- locked bootloaders +- proprietary userspace bits +- heavily forked Android kernels + +#+BEAMER: \pause +- other projects also usually used Android kernels + +*** hence hart to get Debian going + :PROPERTIES: + :BEAMER_ENV: note + :END: + + - no libc, … + +** The Present (2019) + +- Linux first devices: + + #+BEAMER: \pause + Librem 5 and PinePhone. + + + #+ATTR_LATEX: :height 0.2\textheight + [[./img/librem5.png]] + + #+BEAMER: \pause + Sounds simple but kernel support for new SoCs / devices was/is + heaps of work + + #+BEAMER: \pause +- Some Android devices: OnePlus 6/6T, Pocophone F1 + +*** Good hardware support + :PROPERTIES: + :BEAMER_ENV: note + :END: + + - Good hardware support nowadays (phone calls, sensors, camera, + battery live becoming o.k). + - Will only talk about device that have mainline or near mainline support + +*** Caution +:PROPERTIES: +:BEAMER_env: alertblock + :END: +Vendors start to advertise devices with Android kernels and halium as "Linux" devices. + +*** e.g. JinPad + :PROPERTIES: + :BEAMER_ENV: note + :END: + +** Then we just need a userspace, right? + +- Lomiri (Ubuntu Touch, Mir) +- Phosh (GNOME based) +- Plasma Mobile (KDE) +- SXMO + +** GNOME on mobile devices + +- Usually uses Phosh as the shell +- Besides that basically a regular GNOME session +- GNOME apps aim to be *adaptive*. + They work on desktop and mobile devices by adjusting to screen size and touch input. + #+BEAMER: \pause + demo + +*** Demo + :PROPERTIES: + :BEAMER_ENV: note + :END: + + handy-1-demo + +** Then we just need a userspace, right? + +- Phone calls, mobile data, sensors, torch, camera +- Touch friendly apps that fit the phone screen +- App list grows quickly +- Last resort: emulation (anbox, waydroid) + +* State in Debian + +** DONE base packages / apps +- Base packages are already in Bookworm +- Many of GNOME core apps adaptive in GNOME 40 +- Many adaptive apps in Debian already (tootle, lollypop, …) +- Mobile and device specific tweaks (Librem5, Pinephone) +- Meta packages (e.g. phosh-core, phosh-full, …) + +** TODOs + +- Apps that have not yet mainlineable patches (e.g. nautilus) +- A handful of GTK3 patches (being worked on) +#+BEAMER: \pause +- a functional kernel +- uboot / ATF +#+BEAMER: \pause +- installer / flashable images + +** And right now? + +Distros based on Debian with small delta that compensate +for the above: + +- Mobian +#+ATTR_LATEX: :height 0.2\textheight +[[./img/mobian.png]] + +- PureOS +#+ATTR_LATEX: :height 0.2\textheight +[[./img/purism.png]] + +** And right now? + +*** Everyday usability + +There are people using a Debian derivative and Phosh on their devices as primary phone +since many months. + +** How to help + +- Package more apps that fit phone screens + https://linmobapps.frama.io/ +- Bring other mobile environments to Debian + +* Summary + +** Summary + +Debian on mobile devices is maturing. Having out of the box support +for first devices in bookworm looks doable. + +* Links + +** Links + +*** Debian on Mobile +https://wiki.debian.org/Teams/DebianOnMobile + +*** Mobian Project +https://mobian-project.org/ + +*** Librem 5/PureOS project +https://developer.puri.sm/Librem5/Contact/Community.html + +** Links + +*** Phosh, libhandy and related projects +- https://gitlab.gnome.org/GNOME/libhandy +- https://github.com/swaywm/wlroots +- https://gitlab.gnome.org/World/Phosh/phosh +- https://gitlab.gnome.org/World/Phosh/phoc +- https://gitlab.gnome.org/World/Phosh/squeekboard +- https://gitlab.gnome.org/GNOME/calls +- https://source.puri.sm/Librem5/chatty + +** Links + +*** Talks / BoFs +- W. Martin Borger: [[https://debconf17.debconf.org/talks/78/][Debconf17 BoF: Pushing forward Debian Mobile]] +- Nicole Färber: [[https://media.ccc.de/v/Camp2019-10238-a_mobile_phone_that_respects_your_freedom][CCCamp talk: A mobile phone that respects your freedom]] +- Arnaud Ferraris: [[https://meetings-archive.debian.net/pub/debian-meetings/2020/MiniDebConfOnline/debian_mobile_phones.webm][Bringing Debian to mobile phones, one package at a time]] +- Guido Günther: [[https://debconf20.debconf.org/talks/13-my-phone-runs-debian-and-it-does-phone-calls/][My phone runs Debian - and it does phone calls!]] + +* Thanks + +** Thanks +- Mail: <agx@sigxcpu.org> +- Fediverse: @agx@librem.one +- Matrix: @agx:librem.one +- IRC OFTC: agx + +* Appendix :B_appendix: + :PROPERTIES: + :BEAMER_env: appendix + :END: + +** Image/Video references + +- Public Domain + - Mobian logo: https://mobian-project.org/images/mobian.png + - PureOS logo: https://puri.sm/wp-content/uploads/2015/04/purism-logo-1748x1120px.png +- Librem5: Purism: https://puri.sm/products/librem-5/ +- cc-by-sa-3.0: + - Screenshots: myself using https://gitlab.gnome.org/World/Phosh/phosh + - Openmoko: Nevetsjc: https://en.wikipedia.org/wiki/Openmoko#/media/File:Freerunner02.png + - N900: Ianaré Sévi: https://en.wikipedia.org/wiki/Nokia_N900#/media/File:N900_xterm.JPG +- cc-0: + - Pinephone: https://en.wikipedia.org/wiki/PinePhone#/media/File:Pinephone_betaedition.png diff --git a/talk.pdf b/talk.pdf Binary files differnew file mode 100644 index 0000000..aae4642 --- /dev/null +++ b/talk.pdf |