Qemu-system-aarch64: Could not set register demuxed reg

Hello there,

I havent seen such an error before version 7.0. My hosts information as follows and when I launch a vm, I get the mentioned error message.
incus start testvm

Error:

Failed to run: forklimits limit=memlock:unlimited:unlimited fd=3 fd=4 – /opt/incus/bin/qemu-system-aarch64 -S -name testvm -uuid 02f385ee-a666-4a96-b576-30a56af9a8b7 -daemonize -cpu host -nographic -serial chardev:console -nodefaults -no-user-config -sandbox on,obsolete=deny,elevateprivileges=allow,spawn=allow,resourcecontrol=deny -readconfig /run/incus/testvm/qemu.conf -pidfile /run/incus/testvm/qemu.pid -D /var/log/incus/testvm/qemu.log -spice unix=on,disable-ticketing=on,addr=/run/incus/testvm/qemu.spice -smbios type=2,manufacturer=LinuxContainers,product=Incus -run-with user=incus: : exit status 1
Try `incus info --show-log testvm` for more info

OS: Debian/13 Kernel: 6.1.115 - Armbian Arch: aarch64

qemu-system - 1:10.0.8+ds-0+deb13u1+b2

Anyone have any idea what could be the problem?

Regards.

Solved, thanks @incusteamincusteam.

Hello, sorry to reopen this thread, again I have this problem.
Here some system information.

indiana@tnode1:~$ incus launch images:debian/13/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 cd3249eb-7482-4e7a-a728-db73d3837923 -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 -pidfile /run/incus/test/qemu.pid -D /var/log/incus/test/qemu.log -spice unix=on,disable-ticketing=on,addr=/run/incus/test/qemu.spice -smbios type=2,manufacturer=LinuxContainers,product=Incus -run-with user=incus: : exit status 1

indiana@tnode1

:

~

$ incus info --show-log test
Name: test
Description: 
Status: STOPPED
Type: virtual-machine
Architecture: aarch64
Location: tnode3
Created: 2026/06/07 10:31 +03
Last Used: 1970/01/01 02:00 EET

Log (qemu.log):

qemu-system-aarch64: Could not set register demuxed reg 6020000000110000 to 701fe01a (is 700fe01a)
qemu-system-aarch64: Could not set register demuxed reg 6020000000110001 to 201fe01a (is 200fe01a)
qemu-system-aarch64: Could not set register demuxed reg 6020000000110002 to 707fe03a (is 703fe01a)
qemu-system-aarch64: Failed to put registers after init: Invalid argument


Hello, the AI suggest that, changing the raw.qemu parameter as -cpu max can solve the case. But in the raw qemu parameter in incus there also -cpu host added. How can I omit the -cpu host or any suggestion for that?

Regards.

LLMs are unlikely to provide useful guidance….

You mention you’re running on Armbian, which indicates you’re probably on some arm64 board. Does it have two or more different types of CPUs? You may want to look at CPU pinning to limit what CPUs Incus uses, since if QEMU is attempting to launch the VM on an unexpected CPU type that could explain the error you’re seeing.

Here is my cpu information.

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: 408Mhz
      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: 408Mhz
      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: 408Mhz
      Threads:
        - 0 (id: 2, online: true, NUMA node: 0)
    - Core 3
      Frequency: 408Mhz
      Threads:
        - 0 (id: 3, online: true, NUMA node: 0)
  Frequency: 408Mhz (min: 408Mhz, max: 1800Mhz)


And tried as follows, for example.

incus config set test limits.cpu=3

and still the same error.

Regards.

I have opened a case for that on the Qemu GitLab, technically I do not really understand the whole idea but here is the reply.

Peter Maydell commented:

I’m guessing from the host kernel version that this is on a rockchip SoC of some kind. What exact model is it, and is it a “big.LITTLE” SoC (i.e. two different kinds of host CPU)?

The error message is about the cache config ID registers, where the values QEMU wants to write back to the kernel don’t match the values the kernel has for the CPU. One common reason for this is that the host is a big.LITTLE system and the VM has not been set up to restrict it to only one kind of host CPU. KVM for Arm does not support a VM setup where the vCPUs can move between big and little cores: you have to manually ensure (e.g. with taskset) that you have made sure that the VM will only execute on e.g. the big cores. Otherwise you’ll get odd failures like this one. (Unfortunately there isn’t really an easy way to spot and make a clear error message for this kind of problem.)

CPU information:

root@tnode1:/var/lib/incus# cpu-info
Packages:
0: Unknown
Microarchitectures:
4x Cortex-A76
4x Cortex-A55
Cores:
0: 1 processor (0), ARM Cortex-A76
1: 1 processor (1), ARM Cortex-A76
2: 1 processor (2), ARM Cortex-A76
3: 1 processor (3), ARM Cortex-A76
4: 1 processor (4), ARM Cortex-A55
5: 1 processor (5), ARM Cortex-A55
6: 1 processor (6), ARM Cortex-A55
7: 1 processor (7), ARM Cortex-A55
Clusters:
0: 2 processors (0-1), 0: 2 cores (0-1), ARM Cortex-A76
1: 2 processors (2-3), 1: 2 cores (2-3), ARM Cortex-A76
2: 4 processors (4-7), 2: 4 cores (4-7), ARM Cortex-A55
Logical processors (System ID):
0 (6)
1 (7)
2 (4)
3 (5)
4 (0)
5 (1)
6 (2)
7 (3)

SoC: Rockchip RK3588 (4x Cortex-A76 & 4x Cortex-A55) (Little Endian)