[Solved] Color depth issue with Chromium Kiosk

Hi everybody,

First of all, thanks for this nice distribution, I got to say that it’s well optimized and run well on my device.
I managed to install the DietPi OS on my Odroid C2 rather easily, and I’ve already updated to v6.20.6.

However, when I try to use Chromium in kiosk mode, the window doesn’t fit the whole screen, and all my pictures show some pretty heavy dithering, or color banding.
If I startx and run Chromium from the LXDE desktop, everything is really nice and sharp.

So I was wondering if anybody already encoutered this issue?

Thanks in advance !

Welp, reinstalled everything from scratch and the dithering/color banding doesn’t occur anymore :thinking:

AFAIK, Chromium kiosk mode and terminal/desktop resolutions follow different resolution settings. We added Chromium resolution to dietpi.txt some versions ago, when this issue was recognized. Possibly this was not added/adjusted accordingly on update. Should have been possible by resetting the resolution via dietpi-config, but if a full reinstall was okay for you as well, it should be even cleaner.

Same configuration: Odroid C2 and a fresh install of version v6.24.1. I first set the resolution to 1920x1080 then I installed chromium “stand alone” en set it to auto boot. This gave the same result as shutz_c0de described: window in upper left corner 2/3 of size and lower color depth(?). Modifying “dietpi.txt” with the correct resolution fixed the window size. Still the images are of poor quality. How do I fix that?

locutusweb
Do you have a desktop installed to check if color depth is correct there (so it’s an X.org issue and no Chromium issue)?
We use --window-size=1920x1080 e.g. to apply size but most likely --window-size=1920x1080x32 will not work. It’s a pain to get complete docs for Chromium command options…

Here the start script btw if you want to play around with options: /var/lib/dietpi/dietpi-software/installed/chromium-autostart.sh

MichaIng

I have installed LXDE as you said. The color depth look ok, but when I start chromium from LXDE; X crashes with error “mali_drm not found”

We use --window-size=1920x1080 e.g. to apply size but most likely --window-size=1920x1080x32 will not work. It’s a pain to get complete docs for Chromium command options…
Here the start script btw if you want to play around with options: > /var/lib/dietpi/dietpi-software/installed/chromium-autostart.sh

I already changed /var/lib/dietpi/dietpi-software/installed/chromium-autostart.sh with --window-size=1920x1080 because screensize wasn’t detected properly.

I will wipe the installation and do a fresh install with lxde and auto start chromium in kiosk mode. I’ll report back.

—update 1—

I did a fresh setup and I installed:

  • LXDE
  • Chromium
  • set to auto boot LXDE

LXDE runs just fine and high color, but chromium crashes again with same error.

—update 2—
I did a fresh and new installation on a Raspberry Pi 3: just as it should be: crisp and high color images. It looks like it is a GPU driver issue of the Odroid C2.

I prefer to use the C2 in kiosk mode as the fade in and out transitions between slides are more fluid. Any help would be appreciated.

Added updates to my last post.

locutusweb
Could you please try:

ln -sf /usr/lib/aarch64-linux-gnu/libGLESv2.so /usr/lib/chromium/libGLESv2.so
ln -sf /usr/lib/aarch64-linux-gnu/libEGL.so /usr/lib/chromium/libEGL.so

And if the above does still not work, or laggy or something, please try adding the following to the CHROMIUM_FLAGS in /var/lib/dietpi/dietpi-software/installed/chromium-autostart.sh:

--ignore-gpu-blacklist --disable-accelerated-2d-canvas --num-raster-threads=4 --audio-buffer-size=4096

Got it from Meverics instructions, however the missing EGL/GLES symlinks sound like those should indeed solve the issue: https://forum.odroid.com/viewtopic.php?f=138&t=27449#p194153
If the additional Chromium flags further improve hardware acceleration/performance, then we will add both to our default Chromium install on Odroid C2.

MichaIng
Thanks for your prompt response.
Too bad the first option did not change the screenimage nor the second.

However ther is no item with “CHROMIUM_FLAGS” in /var/lib/dietpi/dietpi-software/installed/chromium-autostart.sh. I added the arguments to “CHROMIUM_OPTS”.

locutusweb
Ah yeah CHROMIUM_OPTS is what I meant, there is another drop-in config that contains CHROMIUM_FLAGS, mixed that up :wink:.

Okay I followed the setup-odroid script, which is regularly maintained, so should work, although it is nearly identical to our steps:

# We install and use FBTurbo, so this fbdev mali driver is not required
apt purge xf86-video-mali-odroid
apt-get install --reinstall mali450-odroid xf86-video-fbturbo-odroid libump-odroid
cat << _EOF_ > /etc/X11/xorg.conf
Section "Device"
        Identifier      "FBTURBO"
        Driver          "fbturbo"
        Option          "fbdev" "/dev/fb0"

        Option          "SwapbuffersWait" "true"
        Option          "alpha_swap" "true"
EndSection
_EOF_

MichaIng

I added the following option:

Option          "alpha_swap" "true"

to /etc/X11/xorg.conf but this made no difference.

If I can help (send a log?) please let me know.

locutusweb
And you did the apt commands as well, purging the obsolete mali driver and reinstalling the other ones?

Please try to use all commands exactly as I posted (including overwriting the xorg.conf with cat. Indeed the alpha_swap should be the only difference, but to be failsafe if anything is using the Identifier case sensitive (FBTURBO <> FBTurbo), so we can be 100% rule out any differences from our install method compared to the “setup-odroid” tool ones.

I also opened an issue on GitHub: https://github.com/MichaIng/DietPi/issues/2943

Yes, I did purge the stuff. Thanks.