Switch install from RPI4 to RPI5

From my Raspberry pi 5. Running raspberry pi bookworm…

System:
  Kernel: 6.1.0-rpi4-rpi-2712 arch: aarch64 bits: 64 compiler: gcc v: 12.2.0
    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 console=ttyAMA10,115200 console=tty1
    root=PARTUUID=6a711e09-02 rootfstype=ext4 fsck.repair=yes rootwait quiet
    splash plymouth.ignore-serial-consoles cfg80211.ieee80211_regdom=AU
  Desktop: wayfire v: 0.7.5 vt: 7 dm: LightDM v: 1.26.0 Distro: Debian
    GNU/Linux 12 (bookworm)
Machine:
  Type: ARM System: Raspberry Pi 5 Model B Rev 1.0 details: BCM2835 rev: d04170
    serial: <filter>
Battery:
  Device-1: hidpp_battery_0 model: Logitech Wireless Touch Keyboard K400
    serial: <filter> charge: Full status: discharging
Memory:
  RAM: total: 7.87 GiB used: 1.41 GiB (18.0%) gpu: 8 MiB
  RAM Report: unknown-error: Unknown dmidecode error. Unable to generate
    data.
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: 2400 min/max: 1000/2400 scaling: driver: cpufreq-dt
    governor: ondemand cores: 1: 2400 2: 2400 3: 2400 4: 2400 bogomips: 432
  Features: aes asimd asimddp asimdhp asimdrdm atomics cpuid crc32 dcpop
    evtstrm fp fphp lrcpc pmull sha1 sha2
  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: wayland server: X.org v: 1.21.1.7 with: Xwayland v: 22.1.9
    compositor: wayfire v: 0.7.5 driver:
    gpu: vc4-drm,vc4_crtc,vc4_dpi,vc4_dsi,vc4_firmware_kms,vc4_hdmi,vc4_hvs,vc4_txp,vc4_v3d,vc4_vec
    display-ID: 1
  Monitor-1: HDMI-A-1 model: LG (GoldStar) 32ML600 serial: <filter>
    built: 2019 res: 1920x1080 hz: 60 dpi: 102 gamma: 1.2 scale: 1
    size: 480x270mm (18.9x10.63") diag: 551mm (21.7") ratio: 16:9 modes:
    max: 1920x1080 min: 720x400
  API: OpenGL v: 3.1 Mesa 23.2.1-0+rpt2 renderer: V3D 7.1 direct-render: 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
  API: ALSA v: k6.1.0-rpi4-rpi-2712 status: kernel-api
    tools: alsamixer,amixer
  Server-1: PipeWire v: 0.3.65 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active tools: pw-cat,pw-cli,wpctl
  Server-2: PulseAudio v: 16.1 status: off (using pipewire-pulse)
    tools: pacat,pactl
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>
  IP v4: <filter> type: dynamic noprefixroute scope: global
    broadcast: <filter>
  IP v6: <filter> type: noprefixroute scope: link
  IF-ID-1: eth0 state: down mac: <filter>
  WAN IP: <filter>
Bluetooth:
  Device-1: bcm7271-uart driver: bcm7271_uart bus-ID: N/A
    chip-ID: brcm:107d50c000 class-ID: serial
  Report: hciconfig ID: hci0 rfk-id: 1 state: up address: <filter> bt-v: 3.0
    lmp-v: 5.0 sub-v: 6119 hci-v: 5.0 rev: 17e
  Info: acl-mtu: 1021:8 sco-mtu: 64:1 link-policy: rswitch sniff
    link-mode: peripheral accept service-classes: rendering, capturing, audio,
    telephony
  Device-2: bcm7271-uart driver: N/A bus-ID: N/A chip-ID: brcm:serial0
    class-ID: serial
Logical:
  Message: No logical block device data found.
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 59.48 GiB used: 5.3 GiB (8.9%)
  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 type: SSD serial: <filter> scheme: MBR
  Message: No optical or floppy data found.
Partition:
  ID-1: / raw-size: 58.97 GiB size: 57.99 GiB (98.33%) used: 5.23 GiB (9.0%)
    fs: ext4 dev: /dev/mmcblk0p2 maj-min: 179:2 label: rootfs
    uuid: 23a0eabf-3c74-4d6f-9c12-37dffba06e33
  ID-2: /boot/firmware raw-size: 512 MiB size: 510 MiB (99.61%)
    used: 72.3 MiB (14.2%) fs: vfat dev: /dev/mmcblk0p1 maj-min: 179:1
    label: bootfs uuid: B417-0A60
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default)
  ID-1: swap-1 type: file size: 100 MiB used: 0 KiB (0.0%) priority: -2
    file: /var/swap
Unmounted:
  Message: No unmounted partitions found.
USB:
  Hub-1: 1-0:1 info: Hi-speed hub with single TT ports: 2 rev: 2.0
    speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
  Device-1: 1-2:2 info: Logitech Unifying Receiver type: Keyboard,Mouse,HID
    driver: logitech-djreceiver,usbhid interfaces: 3 rev: 2.0 speed: 12 Mb/s
    power: 98mA chip-ID: 046d:c52b class-ID: 0300
  Hub-2: 2-0:1 info: Super-speed hub ports: 1 rev: 3.0 speed: 5 Gb/s
    chip-ID: 1d6b:0003 class-ID: 0900
  Hub-3: 3-0:1 info: Hi-speed hub with single TT ports: 2 rev: 2.0
    speed: 480 Mb/s chip-ID: 1d6b:0002 class-ID: 0900
  Hub-4: 4-0:1 info: Super-speed hub ports: 1 rev: 3.0 speed: 5 Gb/s
    chip-ID: 1d6b:0003 class-ID: 0900
Sensors:
  System Temperatures: cpu: 53.5 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 184 Uptime: 18m Init: systemd v: 252 target: graphical (5)
  default: graphical tool: systemctl Compilers: gcc: 12.2.0 alt: 12 Packages:
  pm: dpkg pkgs: 1558 libs: 853 tools: apt,apt-get,nala Shell: Bash v: 5.2.15
  running-in: lxterminal inxi: 3.3.26

53.5 degrees celsius = 128.3 degrees fahrenheit. Quick google conversation.

23.3.3 rc is good to go apparently.

I will test with the kde plasma wayland image hopefully with packages are ready

From reading the rpi forums this commit has yet to be merged that has been blocked for the time being…

https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/25726

Where are you based? If you are based in the North West anywhere, I could loan you the one I got delivered - I am super interested in using it as a Manjaro desktop …

Welcome to our community. Thanks for the offer but I live in Arkansas. I have waited this long so guess I can brave it out till mine arrives. From what I understand in this thread our latest XFCE DEV image is working if you want to try it:

https://github.com/manjaro-arm/rpi4-images/releases

With the installation of the Pi OS patched mesa and the addition of a file in a couple of posts in this thread.

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

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

that is why my vulkan/wayland device broken :rofl:

Finally something is starting to happen.

pishop

Ooops. I see it is my pishop usa order which is the power supply. So still in a holding pattern with my pi5 from pishop England. :hot_face:

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: