VM won't start after update from 6.13 to 6.14 RK3588 arm64

I haven’t, I had to recreate the problematic vms with a profile

Here is the last attempt output.

ubuntu@tnode3:~$ incus launch images:debian/12/cloud testdeb --vm
Launching testdeb
Error: Failed instance creation: Failed to run: forklimits limit=memlock:unlimited:unlimited fd=3 fd=4 -- /opt/incus/bin/qemu-system-aarch64 -S -name testdeb -uuid a5f612eb-784f-406c-b214-2fb263665047 -daemonize -cpu host -nographic -serial chardev:console -nodefaults -no-user-config -sandbox on,obsolete=deny,elevateprivileges=allow,spawn=allow,resourcecontrol=deny -readconfig /run/incus/testdeb/qemu.conf -spice unix=on,disable-ticketing=on,addr=/run/incus/testdeb/qemu.spice -pidfile /run/incus/testdeb/qemu.pid -D /var/log/incus/testdeb/qemu.log -rtc base=2025-07-16T04:18:01 -smbios type=2,manufacturer=LinuxContainers,product=Incus -runas incus: : exit status 1
ubuntu@tnode3:~$ sudo more /var/log/incus/testdeb/qemu.log
qemu-system-aarch64: Failed to put registers after init: Invalid argument

Here is the qemu.conf file of test vm. I have tested with the new installation.

ubuntu@tnode2:~$ incus launch images:ubuntu/24.04/cloud test --vm
Launching test
Error: Failed instance creation: Failed to run: forklimits limit=memlock:unlimited:unlimited fd=3 fd=4 -- /opt/incus/bin/qemu-system-aarch64 -S -name test -uuid cc03ac91-287c-4789-a640-789b611d82c5 -daemonize -cpu host -nographic -serial chardev:console -nodefaults -no-user-config -sandbox on,obsolete=deny,elevateprivileges=allow,spawn=allow,resourcecontrol=deny -readconfig /run/incus/test/qemu.conf -spice unix=on,disable-ticketing=on,addr=/run/incus/test/qemu.spice -pidfile /run/incus/test/qemu.pid -D /var/log/incus/test/qemu.log -rtc base=2025-07-17T18:34:56 -smbios type=2,manufacturer=LinuxContainers,product=Incus -runas incus: : exit status 1
ubuntu@tnode2:~$ sudo more /run/incus/test/qemu.conf
# Machine
[machine]
graphics = "off"
accel = "kvm"
usb = "off"
type = "virt"
gic-version = "max"

[boot-opts]
strict = "on"

# Memory
[memory]
size = "1024M"
maxmem = "31028M"
slots = "8"

# CPU
[smp-opts]
cpus = "1"
maxcpus = "8"

# Firmware (read only)
[drive]
format = "raw"
unit = "0"
readonly = "on"
file = "/opt/incus/share/qemu/OVMF_CODE.4MB.fd"
if = "pflash"

# Firmware settings (writable)
[drive]
file = "/dev/fd/4"
if = "pflash"
format = "raw"
unit = "1"

# Qemu control
[chardev "monitor"]
backend = "socket"
server = "on"
wait = "off"
path = "/run/incus/test/qemu.monitor"

[mon]
chardev = "monitor"
mode = "control"

# Console
[chardev "console"]
backend = "ringbuf"
size = "1048576"

# VM core info driver
[device "qemu_vmcoreinfo"]
driver = "vmcoreinfo"

[device "qemu_pcie0"]
multifunction = "on"
driver = "pcie-root-port"
bus = "pcie.0"
addr = "1.0"
chassis = "0"

# Balloon driver
[device "qemu_balloon"]
bus = "qemu_pcie0"
addr = "00.0"
multifunction = "on"
driver = "virtio-balloon-pci"

# Random number generator
[object "qemu_rng"]
filename = "/dev/urandom"
qom-type = "rng-random"

[device "dev-qemu_rng"]
addr = "00.1"
rng = "qemu_rng"
driver = "virtio-rng-pci"
bus = "qemu_pcie0"

# Input
[device "qemu_keyboard"]
addr = "00.2"
driver = "virtio-keyboard-pci"
bus = "qemu_pcie0"

# Input
[device "qemu_tablet"]
driver = "virtio-tablet-pci"
bus = "qemu_pcie0"
addr = "00.3"

# Vsock
[device "qemu_vsock"]
guest-cid = "1767488991"
vhostfd = "3"
driver = "vhost-vsock-pci"
bus = "qemu_pcie0"
addr = "00.4"

# Virtual serial bus
[device "dev-qemu_serial"]
driver = "virtio-serial-pci"
bus = "qemu_pcie0"
addr = "00.5"

# Serial identifier
[chardev "qemu_serial-chardev"]
backend = "ringbuf"
size = "16B"

[device "qemu_serial"]
name = "org.linuxcontainers.incus"
bus = "dev-qemu_serial.0"
chardev = "qemu_serial-chardev"
driver = "virtserialport"

[device "qemu_serial_legacy"]
name = "org.linuxcontainers.lxd"
bus = "dev-qemu_serial.0"
driver = "virtserialport"

# Spice agent
[chardev "qemu_spice-chardev"]
backend = "spicevmc"
name = "vdagent"

[device "qemu_spice"]
driver = "virtserialport"
name = "com.redhat.spice.0"
chardev = "qemu_spice-chardev"
bus = "dev-qemu_serial.0"

# Spice folder
[chardev "qemu_spicedir-chardev"]
backend = "spiceport"
name = "org.spice-space.webdav.0"

[device "qemu_spicedir"]
name = "org.spice-space.webdav.0"
chardev = "qemu_spicedir-chardev"
bus = "dev-qemu_serial.0"
driver = "virtserialport"

# USB controller
[device "qemu_usb"]
driver = "qemu-xhci"
bus = "qemu_pcie0"
addr = "00.6"
p2 = "8"
p3 = "8"

[chardev "qemu_spice-usb-chardev1"]
backend = "spicevmc"
name = "usbredir"

The value looks correct to me. It’s also not failing with the usual error you’d get when the maxmem is mis-calculated.

Did you try using raw.qemu.conf to play with the maxmem value to see if reducing it somehow resolves the issue for you?

Yes, I have copied the configuration format from the URL (Incus VM refuses to start, supposedly because of changed qemu memory management behavior · Issue #2003 · lxc/incus · GitHub)
Now when I changed the configuration as follows solved the issue, but something is wrong with the limits, cos I have 32G RAM on the host but can not change to max or somehow changed to 16G do not start the vm.

  raw.qemu.conf: |-
    [memory]
    size = "8G"
    slots = "8"
    maxmem = "10G"
    [object "mem0"]
    qom-type = "memory-backend-memfd"
    size = "8G"
    share = "on"

Here is the incus info --resources output:

System:
  Product: Turing Machines RK1
  Serial: 177707f1c20a837a
  Type: physical
  Chassis:
  Motherboard:

Load:
  Processes: 317
  Average: 0.18 0.14 0.05

CPU:
  Architecture: aarch64
  Caches:
    - Level 1 (type: Data): 32KiB
    - Level 1 (type: Instruction): 32KiB
    - Level 2 (type: Unified): 128KiB
    - Level 3 (type: Unified): 3MiB
  Cores:
    - Core 0
      Frequency: 1800Mhz
      Threads:
        - 0 (id: 0, online: true, NUMA node: 0)
        - 1 (id: 4, online: true, NUMA node: 0)
        - 2 (id: 6, online: true, NUMA node: 0)
    - Core 1
      Frequency: 1800Mhz
      Threads:
        - 0 (id: 1, online: true, NUMA node: 0)
        - 1 (id: 5, online: true, NUMA node: 0)
        - 2 (id: 7, online: true, NUMA node: 0)
    - Core 2
      Frequency: 1800Mhz
      Threads:
        - 0 (id: 2, online: true, NUMA node: 0)
    - Core 3
      Frequency: 1800Mhz
      Threads:
        - 0 (id: 3, online: true, NUMA node: 0)
  Frequency: 1800Mhz (min: 408Mhz, max: 1800Mhz)

Memory:
  Free: 30.16GiB
  Used: 887.60MiB
  Total: 31.03GiB

GPUs:
  Card 0:
    NUMA node: 0
    Driver: rockchip-drm (6.1.0-1025-rockchip)
    DRM:
      ID: 0
      Card: card0 (226:0)
      Control: controlD64 (226:0)
      Render: renderD128 (226:128)
  Card 1:
    NUMA node: 0
    Driver: RKNPU (6.1.0-1025-rockchip)
    DRM:
      ID: 1
      Card: card1 (226:1)
      Render: renderD129 (226:129)

NIC:
  NUMA node: 0
  Driver: rk_gmac-dwmac (6.1.0-1025-rockchip)
  Ports:
    - Port 0 (ethernet)
      ID: eth0
      Address: e2:9b:98:2e:27:85
      Supported modes: 10baseT/Half, 10baseT/Full, 100baseT/Half, 100baseT/Full, 1000baseT/Full
      Supported ports: twisted pair, media-independent
      Port type: twisted pair
      Transceiver type: external
      Auto negotiation: true
      Link detected: true
      Link speed: 1000Mbit/s (full duplex)

Disks:
  Disk 0:
    NUMA node: 0
    ID: mmcblk0
    Device: 179:0
    Type: mmc
    Size: 29.12GiB
    Read-Only: false
    Removable: false
    Partitions:
      - Partition 1
        ID: mmcblk0p1
        Device: 179:1
        Read-Only: false
        Size: 4.00MiB
      - Partition 2
        ID: mmcblk0p2
        Device: 179:2
        Read-Only: false
        Size: 29.10GiB
  Disk 1:
    NUMA node: 0
    ID: mmcblk0boot0
    Device: 179:32
    Type: block
    Size: 4.00MiB
    Read-Only: true
    Removable: false
  Disk 2:
    NUMA node: 0
    ID: mmcblk0boot1
    Device: 179:64
    Type: block
    Size: 4.00MiB
    Read-Only: true
    Removable: false
  Disk 3:
    NUMA node: 0
    ID: nvme0n1
    Device: 259:0
    Model: SAMSUNG MZVLQ256HAJD-00000
    Type: nvme
    Size: 238.47GiB
    WWN: eui.002538a321b0c61d
    Read-Only: false
    Removable: false
    Partitions:
      - Partition 1
        ID: nvme0n1p1
        Device: 259:1
        Read-Only: false
        Size: 238.47GiB
      - Partition 9
        ID: nvme0n1p9
        Device: 259:2
        Read-Only: false
        Size: 8.00MiB

PCI devices:
  Device 0:
    Address: 0000:00:00.0
    Vendor: Rockchip Electronics Co., Ltd
    Vendor ID: 1d87
    Product: RK3588
    Product ID: 3588
    NUMA node: 0
    IOMMU group: 0
    Driver: pcieport
  Device 1:
    Address: 0000:01:00.0
    Vendor: Samsung Electronics Co Ltd
    Vendor ID: 144d
    Product: NVMe SSD Controller 980 (DRAM-less)
    Product ID: a809
    NUMA node: 0
    IOMMU group: 0
    Driver: nvme

For Example:

ubuntu@tnode1:~$ incus start test
Error: Failed to run: forklimits limit=memlock:unlimited:unlimited fd=3 fd=4 -- /opt/incus/bin/qemu-system-aarch64 -S -name test -uuid 733793bc-5816-449d-b015-a5fe579bd4bd -daemonize -cpu host -nographic -serial chardev:console -nodefaults -no-user-config -sandbox on,obsolete=deny,elevateprivileges=allow,spawn=allow,resourcecontrol=deny -readconfig /run/incus/test/qemu.conf -spice unix=on,disable-ticketing=on,addr=/run/incus/test/qemu.spice -pidfile /run/incus/test/qemu.pid -D /var/log/incus/test/qemu.log -rtc base=2025-07-19T06:14:04 -smbios type=2,manufacturer=LinuxContainers,product=Incus -runas incus: : exit status 1
Try `incus info --show-log test` for more info
ubuntu@tnode1:~$
ubuntu@tnode1:~$ incus config show test --expanded
architecture: aarch64
config:
  image.architecture: arm64
  image.description: Ubuntu noble arm64 (20250715_07:42)
  image.os: Ubuntu
  image.release: noble
  image.requirements.cgroup: v2
  image.serial: "20250715_07:42"
  image.type: disk-kvm.img
  image.variant: cloud
  raw.qemu.conf: |-
    [memory]
    size = "8G"
    slots = "8"
    maxmem = "10G"
    [object "mem0"]
    qom-type = "memory-backend-memfd"
    size = "8G"
    share = "on"
  volatile.base_image: 0928e0464b5d9068de06a21e1dc5bfef67a96b533f01142b7880f91057255e69
  volatile.cloud-init.instance-id: 4851d03e-9e39-4c9d-a568-c825475f6229
  volatile.eth0.hwaddr: 10:66:6a:29:68:ad
  volatile.last_state.power: STOPPED
  volatile.uuid: 733793bc-5816-449d-b015-a5fe579bd4bd
  volatile.uuid.generation: 733793bc-5816-449d-b015-a5fe579bd4bd
  volatile.vm.definition: virt-9.0
  volatile.vm.rtc_adjustment: "0"
  volatile.vm.rtc_offset: "0"
  volatile.vsock_id: "3857513661"
devices:
  eth0:
    name: eth0
    network: incusbr0
    type: nic
  root:
    path: /
    pool: default
    type: disk
ephemeral: false
profiles:
- default
stateful: false
description: ""