I am testing Ubuntu Desktop with the RT kernel on a Rubik Pi 3. After interacting with the GUI (e.g. moving the mouse cursor), the system becomes unresponsive - the desktop freezes, network is lost, and drm error messages appear on the debug tty interface (logs below).
Is it a known issue or is there a recommended configuration for running the desktop environment together with the RT kernel?
Environment
Board: Rubik Pi 3
OS: Ubuntu Desktop 24.04.4
Kernel: 6.8.0-1071-qcom-rt
Date tested: March 28, 2026
Thanks for the reply.
The PREEMPT_RT kernel is required because the system is used as an Ethercat master for servomotor control in a robotic application, so deterministic latency is needed. At the same time DE is used to provide robot UI.
Currently we are using an x86-64 Intel-based platform for that, but we are considering moving to ARM, and performance-wise QCS6490 looks very promising and Rubik Pi3 board has all the interfaces we need.
I just noticed the cmdline you were having: irqaffinity=0-1,5-7 rcu_nocbs=2-4 isolcpus=2-4 nohz_full=2-4
this looks like different from QC’s doc: rcu_nocbs=7 isolcpus=7 irqaffinity=0-6
Where did you get those params?
Can you update to QC’s recommendation, and try whether the issue still exists?
Flashed the latest ubuntu image but the issue persits. Actually we’ve found that setting /dev/cpu_dma_latency to some value lower than let’s say 1000 triggers the issue. Our software was setting it as it’s a common practice for RT systems.
Ok, now we tried disabling it in our app (so /dev/cpu_dma_latency was set to its default) and at first glance it helped, but then we ran glmark2 in background and our Ethercat communication immediately suffered from latency spikes and frame drops. Mouse movements were also causing latency spikes.
It’s just a way to specify which cores should be isolated, I believe QC provided these values as an example. However I’ve tried using QC config to be sure, and it didn’t change the situation a bit.
I don’t think QC’s recommendation is just an example.
Anyway, I’m using that recommended config from QC, and cannot replicate your issue.
I think the “common practice” from redhat is not for arm64 system.
And those kernel settings, including through sysctl, or init script will affect the behavior.
You might have settings somewhere in sysctl, init script, or app start script, which cause the issue.
That’s why I cannot replicate your issue.
You can flash the system, install rt kernel and don’t change any setting or config, and do not install any other software or deb packages. I don’t think there’s mouse issue in this condition.
Regarding cmdline params it could be as you say, and if so they should explicitly say that you are allowed to run only one RT task specifically on cpu core 7. And that sounds a bit strange to me to be honest. Nevertheless I set it as they say in order to exclude it from possible causes.
Regarding /dev/cpu_dma_latency it could be platform dependent, so now I leave it as it is by default.
I’ve found a way to cause system hang that I believe would be easy for you to reproduce. And it appears only on rt kernel.
Run stress-ng --hdd 4 --hdd-bytes 100M -t 2m --metrics-brief
Then perform some GUI activity like opening and using terminal or app center or browser for some time. On my system I get
Ah, I should add that Ubuntu Server is running without issues even with custom cmdline params and /dev/cpu_dma_latency set to 0. And from that perspective it looks like drm/dpu kernel module issue.
Thanks for sharing the test case!
I tried on RB3 Gen2, which also uses QCS6490 chipset. The result is the same as you described.
So I guess it’s common issue for 6490 rt kernel, rather than a “RUBIK Pi 3” specific issue.
I’ll report this to upstream ubuntu forum. Let’s see how it goes.