Switch install from RPI4 to RPI5

here local dealer start open order, or take bus to buy one :innocent:

I am currently testing on rpi 5.

Patching the installer

Ensure you have the meta base-devel and git installed - you may already have - you should know - in any case

sudo pacman -Syu base-devel git --needed

I started by cloning the installer from Manjaro gitlab

git clone https://gitlab.manjaro.org/manjaro-arm/applications/manjaro-arm-installer.git

Then patch the manjaro-arm-installer script to be able to target a specific branch - as we need the arm-unstable branch.

Navigate into the folder and use curl to fetch the patch file

cd manjaro-arm-installer
curl -O https://gitlab.manjaro.org/manjaro-arm/applications/manjaro-arm-installer/uploads/9b8a1538979012a883e230c2eba6b500/01_set_branch.patch

Then patch the script

patch -u manjaro-arm-installer -i 01_set_branch.patch

Getting started

Since the rpi4 is the only device, I built a minimal image for rpi4 (using the patched installer script)

sudo systemctl restart systemd-binfmt
sudo bash manjaro-arm-installer arm-unstable

I got the rpi5 running - the remaining setup is performed on the running pi5

→ Minimal image on rpi5 → inxi -Fxxx → http://ix.io/4L8G

Adding a GUI.

For this I used my lxqt-kwin config from GitHub - fhdk/lxqt-kwin.

Follow instructions provided in https://github.com/fhdk/lxqt-kwin/blob/main/README.md

It is necessary to add the above xorg configuration to be able start the display manager.

→ lxqt-kwin on rpi5 → inxi -Fxxx → http://ix.io/4L8U

At this point the system is using mesa from the repo

→ glxinfo -B → http://ix.io/4L8X

Adding Wayland

Installing packages plasma-wayland-session and plasma-desktop (still using repo mesa)

→ running plasma wayland session → inxi -Fxxx → http://ix.io/4L90

1 Like

I hope an img hits soon with your guide

It is ultra simple to DYI - the above is proof of that.

Yes, but someone like me will spend the whole night getting to work!
anyways, I am giving this ago on the existing xfce install I moved over.

TLDR

create a new sdcard - using a patched installer - and arm-unstable branch

sudo pacman -Syu base-devel git --needed
git clone https://gitlab.manjaro.org/manjaro-arm/applications/manjaro-arm-installer.git
cd manjaro-arm-installer
curl -O https://gitlab.manjaro.org/manjaro-arm/applications/manjaro-arm-installer/uploads/9b8a1538979012a883e230c2eba6b500/01_set_branch.patch
patch -u manjaro-arm-installer -i 01_set_branch.patch
sudo systemctl restart systemd-binfmt
sudo bash manjaro-arm-installer arm-unstable

Place the sdcard in your pi and boot it

  • USERNAME is the username you used above
  • replace fido below with the one you used
USERNAME=fido
userdel -rf $USERNAME
sudo pacman -Syu git
git clone https://github.com/fhdk/lxqt-kwin.git
cd lxqt-kwin
bash setup.sh $USERNAME
cat << EOF > /etc/X11/xorg.conf.d/99-v3d.conf
Section "OutputClass"
  Identifier "vc4"
  MatchDriver "vc4"
  Driver "modesetting"
  Option "PrimaryGPU" "true"
EndSection
EOF

Reboot the system

I installed plasma-wayland-session and plasma-desktop

on the existing xfce xorg setup, what do I need to do to switch to kde wayland ?
I will onlly have remoet terminal access if I switch the display manager etc…

thanks linux-aarhus

There is absolutely no gain by switching to Wayland on a pi - the question was how to switch from pi4 to pi5

If you have working install you would only have to switch to unstable branch and update your system

sudo pacman-mirrors -aU unstable && sudo pacman -Syyu

Xfce and Plasma doesn’t play well together …

If you really want Wayland and Plasma, create a new sdcard from scratch as described above.

I’m getting somewhere,

so far I installed sddm, ran pkill -15 Xorg. then was able to log into kde Xorg,

I am stilll using vnc here as its not compatible with wayland.
I think the final questions would be to disable xfce/xfwm4 and make kde plasma/Xorg the default.

Technically you should be able to run

sudo systemctl --enable sddm

And

sudo pacman -Rns xfce4

Then at log in select plasma x11 in the desktop options of sddm

super, what about just disabling xfce4? or will it cause problems for kde plasma

you cannot disable xfce - only remove it

Many thanks for this I will give it a go :slight_smile:

They seem to have it fixed. A patch has been submitted and waiting to be rebased into the “main” tree.

https://gitlab.freedesktop.org/mesa/mesa/-/commit/40a38adf1f1867b8d3e9151107caeb07fb0c8656

https://gitlab.freedesktop.org/mesa/mesa/-/tree/main?ref_type=heads

I Installed the latest unable Xfxe image placed it into my pi5

inxi --full --admin --filter --width
System:
  Kernel: 6.1.61-3-MANJARO-RPI5 arch: aarch64 bits: 64 compiler: gcc v: 12.1.0
    clocksource: arch_sys_counter parameters: coherent_pool=1M 8250.nr_uarts=1
    pci=pcie_bus_safe snd_bcm2835.enable_compat_alsa=0
    snd_bcm2835.enable_hdmi=1 smsc95xx.macaddr=D8:3A:DD:98:5C:5E
    vc_mem.mem_base=0x3fc00000 vc_mem.mem_size=0x40000000
    root=PARTUUID=ecae37b0-02 rw rootwait console=ttyAMA10,115200 console=tty3
    selinux=0 quiet splash plymouth.ignore-serial-consoles
    smsc95xx.turbo_mode=N dwc_otg.lpm_enable=0 usbhid.mousepoll=8 audit=0
  Desktop: Xfce v: 4.18.1 tk: Gtk v: 3.24.36 info: xfce4-panel wm: xfwm
    v: 4.18.0 vt: 7 dm: LightDM v: 1.32.0 Distro: Manjaro ARM base: Arch Linux
Machine:
  Type: ARM System: Raspberry Pi 5 Model B Rev 1.0 details: N/A rev: d04170
    serial: <filter>
Battery:
  Device-1: hidpp_battery_0 model: Logitech Wireless Touch Keyboard K400
    serial: <filter> charge: 100% (should be ignored) rechargeable: yes
    status: discharging
  Device-2: hidpp_battery_1 model: Logitech MX Ergo Multi-Device Trackball
    serial: <filter> charge: 55% (should be ignored) rechargeable: yes
    status: discharging
CPU:
  Info: model: N/A variant: cortex-a76 bits: 64 type: MCP arch: ARMv8 family: 8
    model-id: 4 stepping: 1
  Topology: cpus: 1x cores: 4 smt: N/A cache: N/A
  Speed (MHz): avg: 1000 min/max: 1000/2400 scaling: driver: cpufreq-dt
    governor: schedutil cores: 1: 1000 2: 1000 3: 1000 4: 1000 bogomips: 432
  Features: Use -f option to see features
  Vulnerabilities:
  Type: gather_data_sampling status: Not affected
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: retbleed status: Not affected
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: __user pointer sanitization
  Type: spectre_v2 mitigation: CSV2, BHB
  Type: srbds status: Not affected
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: bcm2712-hdmi0 driver: vc4_hdmi v: N/A bus-ID: N/A
    chip-ID: brcm:107c701400 class-ID: hdmi
  Device-2: bcm2712-hdmi1 driver: vc4_hdmi v: N/A bus-ID: N/A
    chip-ID: brcm:107c706400 class-ID: hdmi
  Display: x11 server: X.Org v: 21.1.9 compositor: xfwm v: 4.18.0 driver: X:
    loaded: modesetting alternate: fbdev
    gpu: vc4-drm,vc4_crtc,vc4_dpi,vc4_dsi,vc4_firmware_kms,vc4_hdmi,vc4_hvs,vc4_txp,vc4_v3d,vc4_vec
    display-ID: :0.0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 96 s-size: 508x285mm (20.00x11.22")
    s-diag: 582mm (22.93") monitors: <missing: xrandr>
  Monitor-1: HDMI-A-1 model: LG (GoldStar) 32ML600 serial: <filter>
    built: 2019 res: 1920x1080 dpi: 102 gamma: 1.2 size: 480x270mm (18.9x10.63")
    diag: 551mm (21.7") ratio: 16:9 modes: max: 1920x1080 min: 720x400
  API: EGL v: 1.5 platforms: device: 1 drv: swrast gbm: drv: kms_swrast
    surfaceless: drv: swrast x11: drv: swrast inactive: wayland,device-0
  API: OpenGL v: 4.5 vendor: mesa v: 23.1.8-arch.1 glx-v: 1.4
    direct-render: yes renderer: llvmpipe (LLVM 16.0.6 128 bits)
    device-ID: ffffffff:ffffffff memory: 7.68 GiB unified: yes
Audio:
  Device-1: bcm2712-hdmi0 driver: vc4_hdmi bus-ID: N/A chip-ID: brcm:107c701400
    class-ID: hdmi
  Device-2: bcm2712-hdmi1 driver: vc4_hdmi bus-ID: N/A
    chip-ID: brcm:107c706400 class-ID: hdmi
  Device-3: Texas Instruments PCM2902 Audio Codec
    driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 1.1 speed: 12 Mb/s
    lanes: 1 mode: 1.1 bus-ID: 1-2:3 chip-ID: 08bb:2902 class-ID: 0300
  API: ALSA v: k6.1.61-3-MANJARO-RPI5 status: kernel-api
    tools: alsactl,alsamixer,amixer
  Server-1: PipeWire v: 0.3.84 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: driver: rp1 v: N/A pcie: gen: 2 speed: 5 GT/s lanes: 4 port: N/A
    bus-ID: 01:00.0 chip-ID: 1de4:0001 class-ID: 0200
  IF: wlan0 state: up mac: <filter>
  IF-ID-1: end0 state: down mac: <filter>
Bluetooth:
  Device-1: bcm7271-uart driver: bcm7271_uart bus-ID: N/A
    chip-ID: brcm:107d50c000 class-ID: serial
  Report: btmgmt ID: hci0 rfk-id: 1 state: up address: <filter> bt-v: 5.0
    lmp-v: 9 status: discoverable: no pairing: no class-ID: 7c0000
  Device-2: bcm7271-uart driver: N/A bus-ID: N/A chip-ID: brcm:serial0
    class-ID: serial
Drives:
  Local Storage: total: 59.48 GiB used: 4.26 GiB (7.2%)
  SMART Message: Required tool smartctl not installed. Check --recommends
  ID-1: /dev/mmcblk0 maj-min: 179:0 model: SR64G size: 59.48 GiB block-size:
    physical: 512 B logical: 512 B tech: SSD serial: <filter> scheme: MBR
Partition:
  ID-1: / raw-size: 59 GiB size: 58 GiB (98.31%) used: 4.2 GiB (7.2%) fs: ext4
    dev: /dev/mmcblk0p2 maj-min: 179:2
  ID-2: /boot raw-size: 457.8 MiB size: 457.5 MiB (99.94%)
    used: 58.3 MiB (12.7%) fs: vfat dev: /dev/mmcblk0p1 maj-min: 179:1
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 80 (default 100) zswap: no
  ID-1: swap-1 type: zram size: 11.79 GiB used: 0 KiB (0.0%) priority: 100
    comp: lzo-rle avail: lzo,lz4,zstd max-streams: 4 dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 44.6 C mobo: N/A
  Fan Speeds (rpm): cpu: 0
Info:
  Processes: 201 Uptime: 32m Memory: total: N/A available: 7.86 GiB
  used: 2.03 GiB (25.8%) igpu: 8 MiB Init: systemd v: 254 default: graphical
  tool: systemctl Compilers: N/A Packages: pm: pacman pkgs: 660 libs: 197
  tools: pamac Shell: Bash v: 5.2.15 running-in: xfce4-terminal inxi: 3.3.31

She works.

Which mesa do you have installed? If you are using the one in the repo would you test this one I compiled and post the same inxi command report. This is new. I discovered that RPi OS’s patch was a patch that had @150 patches in it. Several patches within a patch so they never got applied before in my previous compile. I see that no one has not downloaded it yet.

https://forum.manjaro.org/t/switch-install-from-rpi4-to-rpi5/150632/39

Just installed the patch. I should grabbed before doing the patch… Ah whoops…

glxinfo -B
name of display: :0.0
WARNING: v3d support for hw version 71 is neither a complete nor a conformant OpenGL implementation. Testing use only.
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Broadcom (0x14e4)
    Device: V3D 7.1 (0xffffffff)
    Version: 23.2.1
    Accelerated: yes
    Video memory: 8048MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 3.1
    Max compat profile version: 3.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.1
OpenGL vendor string: Broadcom
OpenGL renderer string: V3D 7.1
OpenGL core profile version string: 3.1 Mesa 23.2.1+rpt2.1
OpenGL core profile shading language version string: 1.40
OpenGL core profile context flags: (none)

OpenGL version string: 3.1 Mesa 23.2.1+rpt2.1
OpenGL shading language version string: 1.40
OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.1 Mesa 23.2.1+rpt2.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
inxi -G
Graphics:
  Device-1: bcm2712-hdmi0 driver: vc4_hdmi v: N/A
  Device-2: bcm2712-hdmi1 driver: vc4_hdmi v: N/A
  Display: x11 server: X.Org v: 21.1.9 driver: X: loaded: modesetting
    dri: vc4
    gpu: vc4-drm,vc4_crtc,vc4_dpi,vc4_dsi,vc4_firmware_kms,vc4_hdmi,vc4_hvs,vc4_txp,vc4_v3d,vc4_vec
    s-res: 1920x1080 resolution: 1920x1080
  API: EGL v: 1.4,1.5 drivers: swrast,v3d,vc4
    platforms: gbm,x11,surfaceless,device
  API: OpenGL v: 4.5 compat-v: 3.1 vendor: broadcom mesa v: 23.2.1+rpt2.1
    renderer: V3D 7.1

Well that looks tons better. Have V3D instead of software fallback llvmpipe renderer.

  API: OpenGL v: 4.5 compat-v: 3.1 vendor: broadcom mesa v: 23.2.1+rpt2.1
    renderer: V3D 7.1

I forgot, I had a 2nd SD card with unstable. without the patched mesa packages.

glxinfo
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Mesa (0xffffffff)
    Device: llvmpipe (LLVM 16.0.6, 128 bits) (0xffffffff)
    Version: 23.1.8
    Accelerated: no
    Video memory: 8048MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 4.5
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 42 MB, largest block: 42 MB
    VBO free aux. memory - total: 6883 MB, largest block: 6883 MB
    Texture free memory - total: 42 MB, largest block: 42 MB
    Texture free aux. memory - total: 6883 MB, largest block: 6883 MB
    Renderbuffer free memory - total: 42 MB, largest block: 42 MB
    Renderbuffer free aux. memory - total: 6883 MB, largest block: 6883 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 4294496222 MB
    Total available memory: 4294504270 MB
    Currently available dedicated video memory: 42 MB
OpenGL vendor string: Mesa
OpenGL renderer string: llvmpipe (LLVM 16.0.6, 128 bits)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 23.1.8-arch.1
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.5 (Compatibility Profile) Mesa 23.1.8-arch.1
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 23.1.8-arch.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

inxi
  Device-1: bcm2712-hdmi0 driver: vc4_hdmi v: N/A
  Device-2: bcm2712-hdmi1 driver: vc4_hdmi v: N/A
  Display: x11 server: X.Org v: 21.1.9 driver: X: loaded: modesetting
    gpu: vc4-drm,vc4_crtc,vc4_dpi,vc4_dsi,vc4_firmware_kms,vc4_hdmi,vc4_hvs,vc4_txp,vc4_v3d,vc4_vec
    s-res: 1920x1080 resolution: 1920x1080
  API: EGL v: 1.5 drivers: kms_swrast,swrast
    platforms: gbm,x11,surfaceless,device
  API: OpenGL v: 4.5 vendor: mesa v: 23.1.8-arch.1 renderer: llvmpipe (LLVM
    16.0.6 128 bits)
``

and it’s almost 12 am over here.

ok, build mesa-git with 26200.diff patched, work.

edit,
V3D 4.2.14 (Pi4)

edit2,
there a 26200.patch, now merged mesa-git, done.

edit3,
PiOS update mesa_23.2.1-1~bpo12+rpt2.diff

edit4,
23.3-rc5 seems merger 2600 patches.
*v3dv: Rework to remove drm authentication for wsi