Monitor is flickering during boot

Which system do you use? Android, Ubuntu, OOWOW or others?

Ubuntu 24.04.3 LTS (self build with kernel patches)

Which version of system do you use? Please provide the version of the system here:

BOARD=VIM3
VENDOR=Amlogic
VERSION=1.7.5
ARCH=arm64
INITRD_ARCH=arm64
INSTALL_TYPE=SD-USB
IMAGE_VERSION=1.7.5-260108
################ GIT VERSION ################
UBOOT_GIT_VERSION=6a557a9
LINUX_GIT_VERSION=2ee16e4-dirty
FENIX_GIT_VERSION=6a557a9
#############################################

Please describe your issue below:

When the system is booting after the “KHADAS” logo the Display connected via HDMI starts flickering, but flickering stops if Gnome login screen is shown.

I’ve tested to set enable_splash=true in /boot/env.txt with this setting the “Ubuntu” logo is flickering during boot.

Hello @amach4

Do you have the same issue with the official release images ?

@numbqq I’ve flashed a SD card with this mainline Kernel based image:

https://dl.khadas.com/products/vim3/firmware/ubuntu/generic/ubuntu-24.04/vim3-ubuntu-24.04-gnome-linux-6.9-fenix-1.6.8-240605.img.xz

Result:

The display flickers less often during boot but it still flickers.

-

Details:

BOARD=VIM3
VENDOR=Amlogic
VERSION=1.6.8
ARCH=arm64
INITRD_ARCH=arm64
INSTALL_TYPE=SD-USB
IMAGE_VERSION=1.6.8-240605
################ GIT VERSION ################
UBOOT_GIT_VERSION=khadas-edges-u-boot-2017.09-v1.6.8-release
LINUX_GIT_VERSION=khadas-linux-6.9.y-v1.6.8-release
FENIX_GIT_VERSION=v1.6.8
#############################################

-

khadas@Khadas:~$ inxi -F
System:
Host: Khadas Kernel: 6.9.1+ arch: aarch64 bits: 64
Console: AML0 Distro: Ubuntu 24.04 LTS (Noble Numbat)
Machine:
Type: ARM System: Khadas VIM3
CPU:
Info: quad core (2-mt/2-st) model: ARMv8 v8l variant-1: cortex-a73
variant-2: cortex-a53 bits: 64 type: MST AMCP
Speed (MHz): avg: 2072 min/max: 1000/1800:2208 cores: 1: 1800 2: 1800
3: 2208 4: 2208 5: 2208 6: 2208
Graphics:
Device-1: meson-g12a-vpu driver: meson_drm v: N/A
Device-2: meson-g12a-mali driver: panfrost v: kernel
Device-3: meson-g12a-dw-hdmi driver: meson_dw_hdmi v: N/A
Display: server: X.org v: 1.21.1.11 with: Xwayland v: 23.2.6 driver: N/A
tty: 80x24 resolution: 3440x1440
API: EGL v: 1.4,1.5 drivers: meson,panfrost,swrast
platforms: gbm,surfaceless,device
API: OpenGL v: 4.5 compat-v: 3.1 vendor: mesa v: 24.0.5-1ubuntu1
note: console (EGL sourced) renderer: Mali-G52 (Panfrost), llvmpipe (LLVM
17.0.6 128 bits)
Audio:
Device-1: meson-g12a-dw-hdmi driver: meson_dw_hdmi
Device-2: axg-sound-card driver: axg_sound_card
API: ALSA v: k6.9.1+ status: kernel-api
Server-1: PipeWire v: 1.0.5 status: active (process)
Network:
Device-1: meson-g12a-dwmac driver: meson8b_dwmac
IF: eth0 state: up speed: 1000 Mbps duplex: full mac: c8:63:14:72:5f:65
Device-2: ethernet-phy-id0180.3301 driver: Meson G12A Internal PHY
Device-3: pwm-clock driver: pwm_clock
IF-ID-1: wlan0 state: down mac: 70:4a:0e:ab:82:10
Bluetooth:
Device-1: meson-g12a-uart driver: meson_uart
Report: hciconfig ID: hci1 rfk-id: 2 state: down
bt-service: enabled,running rfk-block: hardware: no software: yes
address: 70:4A:0E:AB:82:11
Report-ID: ID: hci0 rfk-id: 1 state: down bt-service: enabled,running
rfk-block: hardware: no software: yes address: 00:00:00:00:00:00
Drives:
Local Storage: total: 88.6 GiB used: 3.85 GiB (4.3%)
ID-1: /dev/mmcblk0 model: SL64G size: 59.48 GiB type: Removable
ID-2: /dev/mmcblk1 vendor: Samsung model: BJTD4R size: 29.12 GiB
type: Removable
Partition:
ID-1: / size: 57.63 GiB used: 3.75 GiB (6.5%) fs: ext4 dev: /dev/mmcblk0p2
ID-2: /boot size: 239.7 MiB used: 96.1 MiB (40.1%) fs: vfat
dev: /dev/mmcblk0p1
Swap:
ID-1: swap-1 type: zram size: 472 MiB used: 0 KiB (0.0%) dev: /dev/zram1
ID-2: swap-2 type: zram size: 472 MiB used: 0 KiB (0.0%) dev: /dev/zram2
ID-3: swap-3 type: zram size: 472 MiB used: 0 KiB (0.0%) dev: /dev/zram3
ID-4: swap-4 type: zram size: 472 MiB used: 0 KiB (0.0%) dev: /dev/zram4
Sensors:
System Temperatures: cpu: 38.0 C mobo: N/A
Fan Speeds (rpm): N/A
Info:
Memory: total: N/A available: 3.69 GiB used: 507.1 MiB (13.4%)
Processes: 215 Uptime: 17m Init: systemd target: graphical (5) Shell: Bash
inxi: 3.3.34

-

khadas@Khadas:~$ sudo cat /proc/cmdline
root=UUID=cf85f37b-c1c2-4d4f-bbec-86476480c93b rootfstype=ext4 rootflags=data=writeback rw ubootpart=401947f5-01 console=ttyAML0,115200n8 no_console_suspend consoleblank
=0 loglevel=0 osd12 fbcon=rotate:0 fsck.repair=yes net.ifnames=0 jtag=disable mac=c8:63:14:72:5f:65 fan=auto khadas_board=VIM3 hwver=VIM3.V12 coherent_pool=2M pci=pc
ie_bus_perf imagetype=SD-USB uboottype=mainline splash quiet plymouth.ignore-serial-consoles vt.handoff=7

-

khadas@Khadas:~$ sudo dmesg

dmesg.txt (36.3 KB)

Hello @amach4

I found you use the 6.x mainline image, could you check with the 5.15 kernel image?

BTW, what’s the resolution of your screen? Have you checked on other screen ?

@numbqq The used screen is Dell U3415W max resolution: 3440x1440@60Hz unfortunately I can not test an other screen.

-

I’ve flashed a SD card with this Kernel based image:

https://dl.khadas.com/products/vim3/firmware/ubuntu/generic/ubuntu-24.04/vim3-ubuntu-24.04-gnome-linux-5.15-fenix-1.7.5-250925.img.xz

Result:

The display does NOT flicker anymore.

I understand this image is shipped with closed source code of Mali GPU userspace drivers.


Next step will be to enable Panfrost as described at:


Details:

BOARD=VIM3
VENDOR=Amlogic
VERSION=1.7.5
ARCH=arm64
INITRD_ARCH=arm64
INSTALL_TYPE=SD-USB
IMAGE_VERSION=1.7.5-250925
################ GIT VERSION ################
UBOOT_GIT_VERSION=khadas-vims-u-boot-2015.01-5.15-v1.7.5-release
LINUX_GIT_VERSION=khadas-vims-linux-5.15-v1.7.5-release
FENIX_GIT_VERSION=v1.7.5
#############################################

root@Khadas:~# inxi -F
System:
Host: Khadas Kernel: 5.15.137 arch: aarch64 bits: 64
Console: S0 Distro: Ubuntu 24.04.3 LTS (Noble Numbat)
Machine:
Type: ARM System: Khadas VIM3
CPU:
Info: 2x 2-core model: N/A variant-1: cortex-a73 variant-2: cortex-a53
bits: 64 type: MCP AMP
Speed (MHz): avg: 2072 min/max: 500/1800:2208 cores: 1: 1800 2: 1800
3: 2208 4: 2208 5: 2208 6: 2208
Graphics:
Device-1: vpu-g12b driver: vpu v: kernel
Device-2: amhdmitx-g12b driver: amhdmitx v: N/A
Display: server: X.org v: 1.21.1.11 with: Xwayland v: 23.2.6 driver:
gpu: meson,meson-vpu tty: 80x24 resolution: 3440x1440
API: EGL v: N/A drivers: N/A platforms: N/A
API: OpenGL Message: GL data unavailable in console for root.
Audio:
Device-1: audio- driver: aml_audio_controller
Device-2: g12a-audio-clocks driver: audio_clocks
Device-3: g12a-audio-ddr-manager driver: audio_ddr_manager
Device-4: g12a-audio-pinctrl driver: pinctrl_audio_g12a
Device-5: g12a-snd-spdif-a driver: snd_spdif
Device-6: g12a-snd-spdif-b driver: snd_spdif
Device-7: g12a-snd-tdma driver: snd_tdm
Device-8: g12a-snd-tdmb driver: snd_tdm
Device-9: g12a-snd-tdmc driver: snd_tdm
Device-10: snd-iomap driver: auge_snd_iomap
Device-11: audio_data driver: audio_data_debug
Device-12: amhdmitx-g12b driver: amhdmitx
Device-13: vdac-g12b driver: aml_vdac
API: ALSA v: k5.15.137 status: kernel-api
Network:
Device-1: meson-axg-dwmac driver: meson8b_dwmac
IF: eth0 state: up speed: 1000 Mbps duplex: full mac: c8:63:14:72:5f:65
Device-2: aml-wifi driver: aml_wifi
IF-ID-1: dummy0 state: down mac: 9a:b4:3f:ad:d9:d1
IF-ID-2: wlan0 state: down mac: 70:4a:0e:ab:82:10
IF-ID-3: wlan1 state: down mac: 72:4a:0e:ab:82:10
Bluetooth:
Device-1: meson-uart driver: meson_uart
Report: hciconfig ID: hci0 rfk-id: 3 state: down
bt-service: enabled,running rfk-block: hardware: no software: yes
address: 70:4A:0E:AB:82:11
Drives:
Local Storage: total: 88.6 GiB used: 4.39 GiB (5.0%)
ID-1: /dev/mmcblk0 vendor: Samsung model: BJTD4R size: 29.12 GiB
ID-2: /dev/mmcblk1 model: SL64G size: 59.48 GiB
Partition:
ID-1: / size: 57.64 GiB used: 4.32 GiB (7.5%) fs: ext4 dev: /dev/mmcblk1p2
ID-2: /boot size: 208.9 MiB used: 66.7 MiB (32.0%) fs: ext4
dev: /dev/mmcblk1p1
Swap:
ID-1: swap-1 type: zram size: 462.1 MiB used: 0 KiB (0.0%) dev: /dev/zram1
ID-2: swap-2 type: zram size: 462.1 MiB used: 0 KiB (0.0%) dev: /dev/zram2
ID-3: swap-3 type: zram size: 462.1 MiB used: 0 KiB (0.0%) dev: /dev/zram3
ID-4: swap-4 type: zram size: 462.1 MiB used: 0 KiB (0.0%) dev: /dev/zram4
Sensors:
Src: lm-sensors Message: No sensor data found. Is lm-sensors configured?
Info:
Memory: total: 4 GiB note: est. available: 3.61 GiB used: 840.1 MiB (22.7%)
Processes: 235 Uptime: 10m Init: systemd target: graphical (5) Shell: Bash
inxi: 3.3.34

-

root@Khadas:~# cat /proc/cmdline
kasan.stacktrace=off kvm-arm.mode=protected cgroup_disable=pressure root=UUID=a5536778-7eea-4dd9-91c9-c5532babc79a rootflags=data=writeback rw rootfstype=ext4 loglevel=4
no_console_suspend earlycon=aml-uart,0xff803000 ramoops.pstore_en=1 ramoops.record_size=0x8000 ramoops.console_size=0x4000 scsi_mod.scan=async xhci_hcd.quirks=0x800000 ga
mma=0 otg_device=1 reboot_mode_android=normal logo=osd0,loaded,0x3d800000 fb_width=1920 fb_height=1080 display_bpp=24 outputmode=1080p60hz vout=1080p60hz,enable panel_typ
e=mipi_0 lcd_ctrl=0x37000083 hdmitx=,444,8bit hdmimode=1080p60hz hdmichecksum=0xe3250000 frac_rate_policy=1 hdmi_read_edid=1 cvbsmode=576cvbs video_reverse=0 irq_check_en
=0 androidboot.selinux=enforcing androidboot.firstboot=1 jtag= androidboot.hardware=amlogic androidboot.bootloader=01.01.250925.214020 androidboot.build.expect.baseband=N
/A boot_source=sd ddr_size=4 reboot_mode=cold_boot androidboot.serialno=1234567890 mac=c8:63:14:72:5f:65 androidboot. hwver=VIM3.V12 wol_enable=0 console=ttyS0,115200 con
sole=tty0 partition_type=generic pci=pcie_bus_perf fan=auto usbcore.autosuspend=-1

@numbqq

I understand the following two kernel patches are valid for mainline kernel only and are required for using my display properly with a resolution 3440x1440 and refresh rate of 60Hz:

But with mainline kernel the display is flickering/shaking any idea how to get this addressed maybe? thx

Hello @amach4

Im not sure, I dont have such display to check on our side, but we check other 1080P screen and it works well, maybe you can feedback this issue to the upstream ?

@numbqq

I’ve tested the below Armbian image on my Khadas Vim 3 Pro and with this mainline based image running kernel 6.12.58 while booting from SD card, the display is NOT flickering/shaking during boot:

Details:

Newer u-boot version is used:

U-Boot 2025.04_armbian-2025.04-S3482-P0622-Hd8f2-Vc6b6-Bbf55-R448a (Nov 19 2025 - 09:07:57 +0000) khadas-vim3

serial-console-armbian.txt (6.3 KB)


root@khadas-vim3:\~# uname -a
Linux khadas-vim3 6.12.58-current-meson64 #1 SMP PREEMPT Thu Nov 13 20:34:41 UTC 2025 aarch64 aarch64 aarch64 GNU/Linux

root@khadas-vim3:\~# cat /etc/armbian-release

PLEASE DO NOT EDIT THIS FILE

BOARD=khadas-vim3
BOARD_NAME=“Khadas VIM3”
BOARDFAMILY=meson-g12b
BUILD_REPOSITORY_URL= https://github.com/armbian/build
BUILD_REPOSITORY_COMMIT=c2f911f3c
LINUXFAMILY=meson64
ARCH=arm64
BOOT_SOC=
IMAGE_TYPE=stable
BOARD_TYPE=conf
INITRD_ARCH=arm64
KERNEL_IMAGE_TYPE=Image
KERNEL_TARGET=current,edge
KERNEL_TEST_TARGET=current
FORCE_BOOTSCRIPT_UPDATE=
FORCE_UBOOT_UPDATE=
OVERLAY_DIR=“/boot/dtb/amlogic/overlay”
VENDOR=“Armbian”
VENDORCOLOR=“247;16;0”
VENDORDOCS=“https://docs.armbian.com”
VENDORURL=“https://www.armbian.com”
VENDORSUPPORT=“https://forum.armbian.com”
VENDORBUGS=“ https://www.armbian.com/bugs”
BOOTSCRIPT_FORCE_UPDATE=“no”
BOOTSCRIPT_DST=“boot.cmd”
VERSION=25.11.1
REVISION=25.11.1
BRANCH=current

@numbqq

From my testing, after applying the following kernel parameter the display does NOT flicker anymore during boot:

khadas@Khadas:~$ cat /boot/env.txt

user_kernel_args=video=HDMI-A-1:1920x1080@60M

Maybe this is related to an issue where Kernel Mode Setting (KMS) can not set the display resolution correctly, what do you think?