![Page 1: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/1.jpg)
Using GNOME OS on real hardware
Valentin David
GUADEC 2020July 22nd
Valentin David ( ) GNOME OS on hardware GUADEC 2020 1 / 27
![Page 2: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/2.jpg)
Table of Contents
1 What is GNOME OS?
2 ARM 64
3 x86 64
4 Experience using GNOME OS
5 How to get it
Valentin David ( ) GNOME OS on hardware GUADEC 2020 2 / 27
![Page 3: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/3.jpg)
What is GNOME OS?
Bootable image deliverable of GNOME releases and continous builds
Application developers: test their applications before release
Release process itself
UX testing
Hardware testing
Valentin David ( ) GNOME OS on hardware GUADEC 2020 3 / 27
![Page 4: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/4.jpg)
With some ideas going further
Preinstalled on hardware. A bright future for GNOME Juan Jose Sanchez and Xan Lopez(GUADEC 2012)
GNOME is not a platform until it is not also an OS. See There is No “Linux” Platform TobiasBernard and Jordan Petridis (LAS 2019)
Valentin David ( ) GNOME OS on hardware GUADEC 2020 4 / 27
![Page 5: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/5.jpg)
First implementation: GNOME Continuous
Initiated by Colin Walters
Both a tool to build, and the manifest describing the modules
Based on top of an image built with Yocto
Updates with OSTree (atomic updates). Nice!
Valentin David ( ) GNOME OS on hardware GUADEC 2020 5 / 27
![Page 6: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/6.jpg)
Many manifests, many builds
Release using JHBuild
Flatpak’s GNOME SDK built with Flatpak Builder
GNOME Continuous
Replaced by BuildStream and GNOME Build Metadata
GNOME Build Strategies and BuildStream Tristan Van Berkom (GUADEC 2017)
Migrating from JHBuild to BuildStream Michael Catanzaro (GUADEC 2018)
GNOME and Buildstream, two (three?) years later Abderrahim Kitouni (2020), see himon Friday 24th, 15:30 UTC
Valentin David ( ) GNOME OS on hardware GUADEC 2020 6 / 27
![Page 7: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/7.jpg)
What is in GNOME OS?
Boots on UEFI using systemd-boot
Initramfs is generated with dracut
Plymouth (graphical boot) with bgrt theme.
Systemd init (also in initramfs)
GNOME core
Flatpak for the other applications
Wayland + XWayland
Mesa drivers
Starts with GNOME Initial Setup
Root partition resized at first boot
OSTree atomic update, with eos-udpater and GNOME Software
Valentin David ( ) GNOME OS on hardware GUADEC 2020 7 / 27
![Page 8: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/8.jpg)
Table of Contents
1 What is GNOME OS?
2 ARM 64
3 x86 64
4 Experience using GNOME OS
5 How to get it
Valentin David ( ) GNOME OS on hardware GUADEC 2020 8 / 27
![Page 9: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/9.jpg)
ARM boards tested
Pinebook Pro (laptop)
Rock 64
Raspberry Pi 4 (by Tom Pollard)
Valentin David ( ) GNOME OS on hardware GUADEC 2020 9 / 27
![Page 10: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/10.jpg)
UEFI on ARM?
Booting ARM boards is awful. Weird bootloaders.
Rarely support UEFI out of the box. But some do.
When EDK II is not ported, U-Boot can be used to boot UEFI.
Bootloader is firmware, and is not part of OSTree.
Each board has a different initial image
However the OSTree repository can be the same
Valentin David ( ) GNOME OS on hardware GUADEC 2020 10 / 27
![Page 11: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/11.jpg)
The device tree mess
Device trees come with the kernel. They are specific to hardware.
ACPI/SMBIOS comes from hardware on x86 64
OSTree does not really properly support
Thanksfully UEFI provides device tree
How to update the device tree? fwupd?
Valentin David ( ) GNOME OS on hardware GUADEC 2020 11 / 27
![Page 12: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/12.jpg)
Non upstream kernels
Pinebook Pro and Raspberry Pi 4: kernel not upstreamed
Different kernel =⇒ different OSTree
We should not support board with no upstream Linux support
Valentin David ( ) GNOME OS on hardware GUADEC 2020 12 / 27
![Page 13: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/13.jpg)
How well does it run?
Range of ARM products is wide. From microcontrollers to powerful workstations
Pinebook Pro (laptop), Rock 64, Raspberry Pi 4 are cheap. But runs well.
Raspberry Pi 3 A had too little memory: 512MB. Most of it went to video memory
All had some video acceleration
Valentin David ( ) GNOME OS on hardware GUADEC 2020 13 / 27
![Page 14: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/14.jpg)
Table of Contents
1 What is GNOME OS?
2 ARM 64
3 x86 64
4 Experience using GNOME OS
5 How to get it
Valentin David ( ) GNOME OS on hardware GUADEC 2020 14 / 27
![Page 15: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/15.jpg)
Running all my desktops/latops on GNOME OS
I do not use those aarch64 devices everyday. So...
Valentin David ( ) GNOME OS on hardware GUADEC 2020 15 / 27
![Page 16: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/16.jpg)
Installer on ISO
First, we need and installer
An ISO booting image with Endless OS installer as a proof of context
Endless OS installer is based on GNOME Initial Setup
Note: not merged yet
Valentin David ( ) GNOME OS on hardware GUADEC 2020 16 / 27
![Page 17: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/17.jpg)
Table of Contents
1 What is GNOME OS?
2 ARM 64
3 x86 64
4 Experience using GNOME OS
5 How to get it
Valentin David ( ) GNOME OS on hardware GUADEC 2020 17 / 27
![Page 18: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/18.jpg)
Does GNOME core work?
Most core applications worked.
Fixed
Builder: needed Flatpak Builder
Boxes: libvirt was missing many dependencies
Photos, Music: Tracker broken
Still broken
Orca not working (does it work on Wayland?)
Web and Videos are missing h264 codec
Web missing microphone/webcam support
Valentin David ( ) GNOME OS on hardware GUADEC 2020 18 / 27
![Page 19: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/19.jpg)
Other things that were fixed
Power management: was missing integration
Printing: was missing lots of dependencies. Only tested postscript printers. Please test.
Flatpak portals for GTK+ were missing
Hardware:
bluetooth
wifi
sound, microphones
touchscreens, touchpads
webcams
Valentin David ( ) GNOME OS on hardware GUADEC 2020 19 / 27
![Page 20: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/20.jpg)
Development
To develop GNOME OS on GNOME OS, I needed BuildStream.
So BuildStream on Flatpak? Yes. But bad user experience.
objdump? gdb? valgrind? Flatpak too.
git? flatpak-builder? Dependencies of GNOME Builder.
Valentin David ( ) GNOME OS on hardware GUADEC 2020 20 / 27
![Page 21: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/21.jpg)
Solution: dual trees
Two trees:
For users (Core minus GNOME Builder)
GNOME Builder + SDK (as in Flatpak)
(Like GNOME Continuous “runtime” and “debug-devel”)
What about debuginfo? We should use debuginfod.
Valentin David ( ) GNOME OS on hardware GUADEC 2020 21 / 27
![Page 22: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/22.jpg)
Gaming
Steam devices udev files, Gamemode
VR works, but Wayland does not yet have drm lease.
Still missing fan and voltage control, cpu frequency, and sensor monitoring
I have used AMD and Intel graphics. What about NVidia proprietary drivers?
We use glvnd
How to deploy and EGL/vulkan/opencl backends?
Valentin David ( ) GNOME OS on hardware GUADEC 2020 22 / 27
![Page 23: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/23.jpg)
How did I make slides?
Built TeXLive with BuildStream and run in a BuildStream shell.
Maybe using podman, or other OCI container system would have been easier.
Valentin David ( ) GNOME OS on hardware GUADEC 2020 23 / 27
![Page 24: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/24.jpg)
One last thing
CCID support: sign and login with a hardware key
Valentin David ( ) GNOME OS on hardware GUADEC 2020 24 / 27
![Page 25: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/25.jpg)
Table of Contents
1 What is GNOME OS?
2 ARM 64
3 x86 64
4 Experience using GNOME OS
5 How to get it
Valentin David ( ) GNOME OS on hardware GUADEC 2020 25 / 27
![Page 26: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/26.jpg)
Should I use it?
Still in development, and needs documentation.
As a virtual machine for testing: yes, soon.
On hardware? Not yet. Unless your point is to contribute into making it work on hardware.
Valentin David ( ) GNOME OS on hardware GUADEC 2020 26 / 27
![Page 27: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/27.jpg)
How to get it
OSTree repository begin set up
Master build available on GNOME Build Metadatahttps://gitlab.gnome.org/GNOME/gnome-build-meta
Ask #gnome-os on GIMPNet
Valentin David ( ) GNOME OS on hardware GUADEC 2020 27 / 27
![Page 28: Using GNOME OS on real hardware · 2020-07-28 · Preinstalled on hardware. A bright future for GNOME Juan Jos e S anchez and Xan L opez (GUADEC 2012) GNOME is not a platform until](https://reader033.vdocuments.us/reader033/viewer/2022050518/5fa1ebca6740ea60f73f2e50/html5/thumbnails/28.jpg)
Aknowledgements
Special thanks to Abderrahim Kitouni and the rest of the release team.
This work was sponsored by:
Valentin David ( ) GNOME OS on hardware GUADEC 2020 28 / 27