DawnOS on Librem 5

@carlosgonz thanks to AI, because doesn’t exists yet an installable DawnOS file ready to install, I installed PostmarketOS Alpine with OpenRC but GLES2. Now I’m trying to compile GLES3 directly into Librem 5 (although I’m experiencing non space left on emmc…) do you think PostmarketOS + OpenRC + GLESS3 = DawnOS?

:thinking:

1 Like

IA it helping you to install GLES3?

L5 with GLES3 in Gnu Dawn= LG Nexus 4 Android Jelly Bean, like PERFORMANCE so it is a Milestone for L5, Gnu Mobile! which will surpasses the Nokia N9.

1 Like

Apparently is seems so!

Please what do you think?

Just I can’t do that because “no space in fileroot” so I’ve, first, to fix it :sweat_smile:

From a determined penguin’s point of view, your **Librem 5** can be surprisingly flexible — but integrating **GLES 3** into *postmarketOS / Alpine with OpenRC* takes a bit of package surgery on Mesa and special attention to the **i.MX 8M** hardware (Vivante GPU → *etnaviv* driver).

Let’s go step by step; note that GLES 3 support on *etnaviv* is **almost** complete, though a few GLES 3.1–3.2 extensions are still missing.

— ### 1. What you actually need - **Librem 5**: NXP i.MX 8M SoC; GPU Vivante GC7000Lite - **Open-source driver**: *etnaviv*, included in Mesa - **GLES 3 support**: present since Mesa ≥ 19, but in many Alpine/postmarketOS builds it’s only compiled up to GLES 2 for compatibility.

So the goal is to **rebuild Mesa** with GLES 3 support and replace the default packages.
— ### 2. Set up the build environment Open a root shell on the Librem 5 or an ARM64 Alpine chroot of the same release:

```sh sudo apk add alpine-sdk mesa-dev meson ninja python3 git wayland-dev libdrm-dev expat-dev ``` That gives you the needed build tools.
— ### 3. Get Mesa source
```sh git clone Making sure you're not a bot! cd mesa ``` Optionally check out the stable branch that matches your postmarketOS release, e.g.: ```sh git checkout mesa-24.1.2 ```

— ### 4. Configure for *etnaviv* with GLES 3 enabled Create a build directory:
```sh mkdir build-etna && cd build-etna ``` Configure with Meson: ```sh meson setup \ --prefix=/usr \ -Dplatforms=drm,wayland \ -Dgallium-drivers=etnaviv \ -Dvulkan-drivers=‘’ \ -Dgles1=disabled \ -Dgles2=true \ -Degl=true \ -Dshared-glapi=true \ -Dbuildtype=release \ .. ``` In recent Mesa versions, *“-Dgles2=true”* enables **both GLES 2 and 3** if the driver supports it (which *etnaviv* does). You can confirm with: ```sh meson configure | grep gles ``` — ### 5. Build and install ```sh ninja sudo ninja install ``` This overwrites your existing Mesa Gallium libraries in `/usr/lib`. Before doing so, it’s smart to make a quick backup: ```sh sudo apk info -L mesa | grep libGL | xargs -n1 sudo cp --parents -t /root/mesa-backup ```

-– ### 6. Environment variables (optional) Ensure the system uses **etnaviv** and not *llvmpipe*: ```sh export LIBGL_ALWAYS_SOFTWARE=0 export MESA_LOADER_DRIVER_OVERRIDE=etnaviv ``` You can place these inside `/etc/profile.d/etnaviv.sh` for persistence.

— ### 7. Verify Install `mesa-demos`, then run: ```sh glxinfo | grep “OpenGL ES” ``` You should see something like: ``` OpenGL ES profile version string: OpenGL ES 3.0 Mesa 24.x ``` If it still says *2.0*, Mesa may not have been overwritten or a different library path (e.g. `/usr/lib/aarch64-linux-gnu/`) is taking precedence.

-– ### 8. Lock Mesa package To prevent your next `apk upgrade` from overwriting your custom Mesa: ```sh echo “mesa” >> /etc/apk/world apk add --no-upgrade mesa ``` Or build a local `.apk` package via: ```sh abuild -r ``` so it’s properly managed.
— ### 9. Matching DawnOS style DawnOS typically runs the same Mesa + Wayland stack with GLES 3 enabled. Building Mesa this way gets you nearly identical graphics behavior while staying true to postmarketOS’s Alpine/OpenRC philosophy — no systemd, no extra layers.
— ### 10. If graphics issues appear - Check `dmesg | grep etnaviv` to ensure the kernel module is loaded. - Confirm `/dev/dri/card0` exists and has correct permissions (group `video`). - Add your user to the `video` group if needed. — Following these steps gives you a fully working Mesa *etnaviv* build with **GLES 3** on the Librem 5, under OpenRC — about as close to a “DawnOS‑style” setup as you can get while staying pure Alpine. At that point, it’s practically “SunriseOS”: you built it yourself, and it shines even brighter.

gles3 is not complete even on mesa mainstream, maybe work experimentally.
So for end user it better not to try get it because it will too much work debugging.

1 Like

So my real dream for Gnu Librem 5 is to rich Google Nexus 6 Lollipop level on Gnu PureOS Emerald, which will enable Extreme PERFORMANCE on L5, for sure as L5 is capable of it.


Gnu Mobile

1 Like

So no more DawnOS? :sweat_smile:

1 Like

Maybe on Christmas, @dos may create image like a gift for all us. :crossed_fingers:

Gnu Dawn image is the greatest Gift i have ever asked Santa Claus for me.

1 Like

I really need to point out that DawnOS want PureOS Dawn are two separate things.

“Dawn” is a codename for the next release of PureOS after Crimson.
I don’t know what DawnOS is but this is something very different.

That all said, I’m glad you were able to get PostmarketOS running on your phone and hope it works well.

2 Likes

Thank you for your post, @spacemanspiffy but I don’t understand: @carlosgonz said He prefer modular structure GNU/Linux philosophy (1 file, 1 activity at the best) and PureOS doesn’t! He explained the difference between systemd and OpenRC, for example! Moreover Gnome philosophy is “Windows style” = little customisable because their philosophy is “we decide for you and we choose what, for us, is the best for you” @carlosgonz right? On the other end there’s kde philosophy that’s highly customisable! My direct experience on PureOS about it was to install a different keyboard and then I wasn’t able to uninstall the default one because keyboard is part of the whole system in PureOS so that meant literally delete system files (=breaks PureOS making Librem 5 not working!! Just for a keyboard!!)!! So if DawnOS is just next Crimson version of PureOS I suppose it still will use systemd and Gnome philosophy so Carlos wouldn’t be enthusiastic about it, make sense? So logic says me DawnOS should be a different (and opposite in some stuff) from PureOS! Kind of KDE + OpenRC + GLES3 (in development) that should power our beloved Librem 5, isn’t?

So, please, could you clarify it?

Thank you

1 Like

Yeah, that’s another project with the same name :sweat_smile:

My apologies :folded_hands: I shared something wrong here!

1 Like

Yes Dawn ship evil systemD sadly. So systemd init it is for Linux User not for Gnu user, so systemd it is not a piece for Gnu PureOS.

Firefox it is another piece that it is not for Gnu PureOS.

2 Likes

Aaahhhh thank you for your clarification, Carlos! So DawnOS is devil too!

At this point it’s interesting my experiment KDE (PostmarketOS with plasma) + OpenRC! Just missing GLES3 under development, right?

yes…

Just keep in mind that PMOS/Mobian is not a native system for L5, which will buggyOSes or zombieOSes.

Kindly why?

They are like that by nature, they do not care about the Librem 5, they care about the highest bidder vendors for a device a in exchange for selling all linux users to the vendor. So zero ethics and real freedom for user.


Gnu Mobile and Desktop

Thank you for your answer but I can’t see what you written.

  1. Communities usually are better and faster than private companies, They (Communities) provide most upgraded softwares and bug corrections,..

  2. it’d be possible to install just kernel from Purism with last updates/upgrades, optimisations, bug corrections,.. leaving on top, for example, PostmarketOS + Plasma + OpenRC…

So, honestly, I don’t see problems you see (buggyOS, zonbieOS,..)

Am I wrong?

1 Like

DawnOS for the Librem5 does not exist!
Dawn will be the next level after Crimson: Byzantium–> Crimson–> Dawn

2 Likes

Companies are Better and Stronger than Community to develop software. Community is better to wrapper software than Company.

It is understandable that you do not understanding, it is difficult to break everything down.

Not really.

About GLES3, L5 already ship gles3 support via neon but it is not enabled, but i not sure how will work as gpu it native to manage gles3.

1 Like