Monthly Archives: September 2024

Installing EndeavourOS ARM on a PineBook Pro (August 2024)

I have already blogged about installing EndeavourOS ARM on a PineBook Pro (and previously, directly Arch ARM: the first article and the second article).

This blog post will describe the new procedure for installing EndeavourOS ARM on a PineBook Pro.

As usual, the instructions can be found here: https://endeavouros.com/endeavouros-arm-install/. Previously, there used to be three possible ways to install the system. Now, if we’re not considering the headless server installation, there’s only one way.

First, download the installation image (“.img.xz”) from the above page. For the PineBook Pro, I downloaded “enosLinuxARM-pbp-latest.img.xz“.

This image must be flashed on the final installation medium. I will install EndeavourOS ARM for PineBook Pro on an SD card in this blog post. The idea is that you then boot the PineBook Pro with such a flashed medium, and the installation procedure will finalize the installation on the same medium; during the textual installation, you specify a few configurations.

Of course, the flashing can be performed on any computer, not necessarily from the PineBook Pro.

The delicate part is ensuring you get the name of the flashing device properly or you wipe a device completely. You can use the command “sudo fdisk -l” to get the list of all the devices.

In my case, the inserted SD card is “/dev/sda“, so I flash the image as follows (again, BE COMPLETELY SURE of the correct device!!!):

Be patient; this will take a few minutes, especially depending on the speed of the SD card.

Then, it’s time to boot the PineBook Pro with the SD inserted.

I’m assuming you already have a boot program that allows you to select the booting device. For example, I have “Tow-Boot”.

At some point, I press ESC to select the booting device:

The textual installation starts.

Remember, it will install the system on the same device you used to boot.

Here are some required information:

Of course, you’ll also be asked for your username and password.

Then, you select the Desktop environment (or no desktop at all):

I selected KDE Plasma. Here’s the summary.

After a few minutes, you should get:

Time to reboot!

Unfortunately, at the first reboot, selecting SD to boot into the installed system brought a failure that no bootable image could be found. However, rebooting and selecting SD again succeeded.

IMPORTANT: as you noted, you have no choice about partitioning and filesystem type: you will get EXT4. To be honest, I never managed to setup BTRFS with the previous EndeavourOS installation anyway.

I could finally land on the newly installed KDE Plasma.

I’d suggest doing some configurations and tweaking, e.g., you need to configure swap since 4 gigabytes of RAM are too few! You could go for a swap file, but I’d recommend using zram as the primary swap.

Enjoy your EndeavourOS ARM installation 🙂

Eclipse in Hyprland 0.43

I hadn’t used Eclipse in Hyprland for a while. It used to work correctly; however, starting from somewhere in version 0.41, something broke, and it’s still broken in the current (at the time of writing) version 0.43.

When I execute Eclipse in Hyprland, i.e., in Wayland mode, the trees in Eclipse, e.g., Package Explorer (but also Project Explorer or the Outline) are displayed correctly until you start expanding the tree or hover with the mouse: the elements of the tree gets corrupted and disappear:

Till the whole tree disappears:

I reported the bug (https://github.com/hyprwm/Hyprland/issues/7829). The bug was closed because it had already been reported: in the beginning, the bug talked about DBeaver, which I didn’t know is an Eclipse-based application: https://github.com/hyprwm/Hyprland/issues/6844. The problem is associated with a previous hack to avoid flickering in the Qt application. Unfortunately, the hack breaks Eclipse-based applications, and it’s still there at the time of writing.

If I want to use Eclipse in Hyprland, I have to run it in X11 mode, i.e., by prefixing its execution with the corresponding environment variable set:

Since I have Hyprland with scaling enabled (1.5) Eclipse in X11 mode (Xwayland) gets pixelated:

To avoid that, as documented in Hyprland, I have to disable XWayland scaling by adding this section in “~/.confgi/hyprland/hypr.conf”:

Now, Eclipse runs in Xwayland without flickering but it’s unreadable to me (after all, it is not scaled):

We can scale it with the environment variable “GDK_SCALE”, but that does not support fractional scaling: set it to 2, and then Eclipse gets too big:

However, I can use another environment variable, “GDK_DPI_SCALE”, which scales text only (not icons; better than nothing!);

Here’s how I run Eclipse:

And here’s the result (readable and not too big):

Let’s hope the Hyprland problem gets fixed soon…

Sway: monitor configuration for different computers

I’m using Sway (not as my daily driver) on different computers: PCs and laptops.

For the PCs, I’m using an HDMI monitor. Laptops have different display sizes, e.g., small displays with low resolution and more extensive displays with retina resolution. Thus, I need to set different scaling factors for the different displays.

It’s pretty easy in Sway, and I’ll detail that here.

First, you need to get the information Sway uses to refer to your current monitor:

For example, on my LG GRAM 16, I get:

I want to scale at 1.6 on this computer. Otherwise, I can’t read almost anything.

In “~/.config/sway/config”, I specify scaling for this computer using the name shown above

Reload the configuration, and now scaling is correctly applied when using this laptop.

On the other laptops (e.g., my Acer Aspire Vero), I repeat the same procedure: get the identifier and add a specific configuration with the identifier; for example, for this other laptop, 1.25 scaling is enough:

For HDMI monitors, I want 1.5:

Summarizing, this is the monitor section in my Sway configuration, which automatically sets the desired scale factor according to the computer I’m using:

Of course, you can change many values for each monitor, including resolution and orientation, by specifying the corresponding identifier.

In my case, I only want to change the scaling factor.