ODROID N2+ Xorg leaves much to be desired

I’m not one to complain, but having just got my N2+, I am somewhat shocked at how poor Xorg appears / behaves. Is this normal? The firefox icon (red border) and red (X) button on windows (plasma) are just grainy and gross. The mouse cursor flickers constantly, and there are drawing and tearing artifacts that make regular appearances. It’s a stark contrast to the RPI 4b. I can’t imagine I’ve done anything to cause this behavior from a fresh install. Is the N2 just a poor device at this point or not supported well by X?

Wayne

I would rather say that it is a driver, OpenGL + Plasma Problem. That has nothing to do with Xorg in this case.

Just try to disable OpenGL Effects in Plasma.
Maybe there is a possibility to add “TearFree”? No idea about this Mali GPU.

The panfrost driver for the Bifrost generation Mali cards are in high development mode right now, which means a lot of changes are happening just about everywhere.

If you switch to using mesa-git instead of the regular mesa package, you will see lots of improvements, but there are still some glitches.
When mesa 21.0 lands in the repo (why is Arch keeping it in testing/staging so long), many of these improvements will also be available in the regular mesa package. 20.3 branch was just not a good branch for the Bifrost cards. :slight_smile:

But yeah, disabling hardware acceleration and switching the compositor to use Xrender will work around most of the issues.

1 Like

XFCE-linux 5.11.6-1 with mesa-git on GT King Pro (similar SOC as N2+) and cpupower set to “performance” it runs surprising well so far. MPV video performance with vo=gpu seems to use lesser cpu resource.

I’ve actually tried xrender and restart and it didn’t really improve the situation for the poor looking icons. Perhaps that’s a different issue, but it’s strange as it doesn’t happen on my pi.

So I tried updating all the way to testing and mesa-git. Didn’t resolve the issue I was having. Whatever renders the edges of icons and does that calculation is just not right, resulting in very hard edges. The firefox icon, red x on windows, and the “colors” icon in plasma preferences are all very suboptimally rendered. Even with xrender, it’s just not right. Hopefully a future update will get it.

Maybe you have a low kernel?
Update if you did not.

There is a bug in the HDMI drivers that is not getting solved.
This bug causes for some monitors, to get the colors messed up. Not all monitors.
You notice it most around bright colors, and then most around red and blue.
Looks a little grainy, like image processing artefacts.

This is not due to Panfrost and not due to Xorg.
It is a hardware driver issue. And this issue is just not getting dealt with.
I am not aware of any workarounds. And am not aware of anyone working on it.
Bug has been there for ages now. Only on mainline, though, not on the Hardkernel 4.9 kernels.

Rendering makes no difference, as it seems to be in the monitor output hardware driver.
If you take a screenshot, for example, you will not see the artefacts you see on the monitor.

The mouse cursor flicker and some black window issues are Panfrost.
Will get solved when Panfrost developments mature.

Can you maybe provide some documentation / links to this bug? How I might track its progress?

@Strit and @zaphod I feel you deserve and update as I have resolved the “hdmi output bug” issue. The issue is chroma subsampling. My monitors (different models) all support YCbCr 4:2:2 (subsampling) as well as 4:4:4 (lossless). The mainline kernel hdmi drivers are apparently selecting 422 mode with subsampling over 444. The following page was the key for me understanding what was going on: Chroma Subsampling: 4:4:4 vs 4:2:2 vs 4:2:0 - RTINGS.com . The test image clearly showed subsampling was on.

There IS a workaround, and that is to use an EDID that doesn’t have subsampling available, but it certainly feels like a kernel bug to have this behavior that chooses a lossy mode by default. With this workaround in place, my display is crisp as I would expect.

Additionally, I must confess that while I use manjaro on my x86 and RPI4b, I’ve been using “archdroid” on my odroid (from jgmdev on the odroid forums) and it has been teaching me a LOT about the odroid, mainline kernels, uboot, etc. At this point, the only thing “archdroid” specific I’m running is their uboot package that swaps in mainline vs hardkernel boot.ini and the tobetter 513 kernel. Panfrost with latest mesa is really great now, but I still get an artifact or two from time to time and turned off compositing in plasma.

1 Like

Thank you for the feedback. I haven’t booted my Odroid N2+ in a while, so probably should do that again soon.

Yeah. HDMI out on the S922X is still being worked on in the kernel, so not everything works as it should yet.

Yeah, Panfrost has come a long way and as I mentioned above, I haven’t booted my Odroid in a while, so I actually don’t have any experience with Panfrost from mesa 21.3 at all. But glad it’s getting better and better.

Hi,

Happy new year to all :-)

Nice to read it, please have a look here for a test ( maybe in your to do list :-)

Odroid C2 and C4 are working well, thanks to the dev, calamares for arm is awesome.