Skip to content

[Bug]: Enabling the NPU driver on the A311D caused the desktop environment to fail to start #9525

@retro98boy

Description

@retro98boy

What happened?

When using xfce4 on CAINIAO CNIoT-CORE (Amlogic A311D SoC), I found it impossible to enter the GUI; even lightdm fails to display.

The system is a self-built Armbian Ubuntu Noble with kernel version current 6.18.

I attempted to start the desktop directly using startxfce4, but the output log showed that the X server failed to start. I then checked the armbian/build source code and discovered that the file config/sources/families/include/meson64_common.inc was missing the Xorg configuration file specifically for CAINIAO CNIoT-CORE. After manually adding the /etc/X11/xorg.conf file, launching the X server via startx still failed, making me realize the problem might not be that simple.

The error log for startx is as follows:

root@cainiao-cniot-core:~# startx


X.Org X Server 1.21.1.11
X Protocol Version 11, Revision 0
Current Operating System: Linux cainiao-cniot-core 6.18.17-current-meson64 #6 SMP PREEMPT Thu Mar 12 11:15:13 UTC 2026 aarch64
Kernel command line: root=UUID=d2a9b5c3-da35-4229-a72c-da5c240f9abb rootwait rootfstype=ext4 splash=verbose console=ttyAML0,115200 console=tty1 consoleblank=0 coherent_pool=2M loglevel=1 ubootpart= libata.force=noncq usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u    cgroup_enable=memory
xorg-server 2:21.1.12-1ubuntu1.5 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.42.2
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Fri Mar 13 05:51:34 2026
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE)
Fatal server error:
(EE) Cannot run in framebuffer mode. Please specify busIDs        for all framebuffer devices
(EE)
(EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error

Following the indications in the error log, I checked the more detailed /var/log/Xorg.0.log file:

root@cainiao-cniot-core:~# cat /var/log/Xorg.0.log
[ 20436.137]
X.Org X Server 1.21.1.11
X Protocol Version 11, Revision 0
[ 20436.137] Current Operating System: Linux cainiao-cniot-core 6.18.17-current-meson64 #6 SMP PREEMPT Thu Mar 12 11:15:13 UTC 2026 aarch64
[ 20436.137] Kernel command line: root=UUID=d2a9b5c3-da35-4229-a72c-da5c240f9abb rootwait rootfstype=ext4 splash=verbose console=ttyAML0,115200 console=tty1 consoleblank=0 coherent_pool=2M loglevel=1 ubootpart= libata.force=noncq usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u    cgroup_enable=memory
[ 20436.137] xorg-server 2:21.1.12-1ubuntu1.5 (For technical support please see http://www.ubuntu.com/support)
[ 20436.137] Current version of pixman: 0.42.2
[ 20436.137]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[ 20436.137] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 20436.137] (==) Log file: "/var/log/Xorg.0.log", Time: Fri Mar 13 05:51:34 2026
[ 20436.138] (==) Using config file: "/etc/X11/xorg.conf"
[ 20436.138] (==) Using config directory: "/etc/X11/xorg.conf.d"
[ 20436.138] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 20436.138] (==) No Layout section.  Using the first Screen section.
[ 20436.138] (**) |-->Screen "Default Screen" (0)
[ 20436.138] (**) |   |-->Monitor "<default monitor>"
[ 20436.139] (==) No device specified for screen "Default Screen".
        Using the first device section listed.
[ 20436.139] (**) |   |-->Device "DRM Graphics Acclerated"
[ 20436.139] (==) No monitor specified for screen "Default Screen".
        Using a default monitor configuration.
[ 20436.139] (**) Allowing byte-swapped clients
[ 20436.139] (==) Automatically adding devices
[ 20436.139] (==) Automatically enabling devices
[ 20436.139] (==) Automatically adding GPU devices
[ 20436.139] (==) Automatically binding GPU devices
[ 20436.139] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 20436.139] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[ 20436.139]    Entry deleted from font path.
[ 20436.139] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[ 20436.139]    Entry deleted from font path.
[ 20436.139] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[ 20436.139]    Entry deleted from font path.
[ 20436.139] (WW) The directory "/usr/share/fonts/X11/Type1" does not exist.
[ 20436.139]    Entry deleted from font path.
[ 20436.139] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[ 20436.139]    Entry deleted from font path.
[ 20436.139] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[ 20436.139]    Entry deleted from font path.
[ 20436.139] (==) FontPath set to:
        /usr/share/fonts/X11/misc,
        built-ins
[ 20436.139] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 20436.139] (II) The server relies on udev to provide the list of input devices.
        If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 20436.139] (II) Loader magic: 0xaaaab67e0010
[ 20436.139] (II) Module ABI versions:
[ 20436.139]    X.Org ANSI C Emulation: 0.4
[ 20436.139]    X.Org Video Driver: 25.2
[ 20436.139]    X.Org XInput driver : 24.4
[ 20436.139]    X.Org Server Extension : 10.0
[ 20436.141] (--) using VT number 2

[ 20436.141] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[ 20436.144] (II) xfree86: Adding drm device (/dev/dri/card1)
[ 20436.144] (II) Platform probe for /sys/devices/platform/etnaviv/drm/card1
[ 20436.144] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 20436.144] (II) Platform probe for /sys/devices/platform/soc/ff900000.vpu/drm/card0
[ 20436.145] (II) xfree86: Adding drm device (/dev/dri/card2)
[ 20436.145] (II) Platform probe for /sys/devices/platform/soc/ffe40000.gpu/drm/card2
[ 20436.148] (II) no primary bus or device found
[ 20436.148]    falling back to /sys/devices/platform/etnaviv/drm/card1   <----here!!!!!!!!!!
[ 20436.148] (II) LoadModule: "glx"
[ 20436.149] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 20436.151] (II) Module glx: vendor="X.Org Foundation"
[ 20436.151]    compiled for 1.21.1.11, module version = 1.0.0
[ 20436.151]    ABI class: X.Org Server Extension, version 10.0
[ 20436.151] (II) LoadModule: "modesetting"
[ 20436.151] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[ 20436.152] (II) Module modesetting: vendor="X.Org Foundation"
[ 20436.152]    compiled for 1.21.1.11, module version = 1.21.1
[ 20436.152]    Module class: X.Org Video Driver
[ 20436.152]    ABI class: X.Org Video Driver, version 25.2
[ 20436.152] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[ 20436.154] (WW) Falling back to old probe method for modesetting
[ 20436.154] (II) modeset(0): using default device
[ 20436.154] (II) modeset(G0): using drv /dev/dri/card0
[ 20436.155] (EE)
Fatal server error:
[ 20436.155] (EE) Cannot run in framebuffer mode. Please specify busIDs        for all framebuffer devices
[ 20436.155] (EE)
[ 20436.155] (EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
[ 20436.155] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
[ 20436.155] (EE)
[ 20436.158] (EE) Server terminated with error (1). Closing log file.

The log shows that Xorg seemingly does not know which DRM device to use as the primary GPU, so it defaults to selecting etnaviv as the primary GPU and subsequently fails.

To verify if the issue was caused by the etnaviv NPU driver, I blacklisted etnaviv.ko, updated the initramfs, and rebooted the device. After this, startxfce4 was able to start the desktop.

Is there a way to use Xorg without disabling the NPU? I added an OutputClass section to /etc/X11/xorg.conf:

Section "OutputClass"
    Identifier "Amlogic"
    MatchDriver "meson"
    Driver "modesetting"
    Option "PrimaryGPU" "true"
EndSection

Then I re-enabled the NPU driver and rebooted the device. startxfce4 could then start the desktop. Below are the outputs of startx and cat /var/log/Xorg.0.log:

root@cainiao-cniot-core:~# startx


X.Org X Server 1.21.1.11
X Protocol Version 11, Revision 0
Current Operating System: Linux cainiao-cniot-core 6.18.17-current-meson64 #6 SMP PREEMPT Thu Mar 12 11:15:13 UTC 2026 aarch64
Kernel command line: root=UUID=d2a9b5c3-da35-4229-a72c-da5c240f9abb rootwait rootfstype=ext4 splash=verbose console=ttyAML0,115200 console=tty1 consoleblank=0 coherent_pool=2M loglevel=1 ubootpart= libata.force=noncq usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u    cgroup_enable=memory
xorg-server 2:21.1.12-1ubuntu1.5 (For technical support please see http://www.ubuntu.com/support)
Current version of pixman: 0.42.2
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Fri Mar 13 05:54:20 2026
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning:          Could not resolve keysym XF86CameraAccessEnable
> Warning:          Could not resolve keysym XF86CameraAccessDisable
> Warning:          Could not resolve keysym XF86CameraAccessToggle
> Warning:          Could not resolve keysym XF86NextElement
> Warning:          Could not resolve keysym XF86PreviousElement
> Warning:          Could not resolve keysym XF86AutopilotEngageToggle
> Warning:          Could not resolve keysym XF86MarkWaypoint
> Warning:          Could not resolve keysym XF86Sos
> Warning:          Could not resolve keysym XF86NavChart
> Warning:          Could not resolve keysym XF86FishingChart
> Warning:          Could not resolve keysym XF86SingleRangeRadar
> Warning:          Could not resolve keysym XF86DualRangeRadar
> Warning:          Could not resolve keysym XF86RadarOverlay
> Warning:          Could not resolve keysym XF86TraditionalSonar
> Warning:          Could not resolve keysym XF86ClearvuSonar
> Warning:          Could not resolve keysym XF86SidevuSonar
> Warning:          Could not resolve keysym XF86NavInfo
Errors from xkbcomp are not fatal to the X server

root@cainiao-cniot-core:~# cat /var/log/Xorg.0.log
[ 20601.482]
X.Org X Server 1.21.1.11
X Protocol Version 11, Revision 0
[ 20601.482] Current Operating System: Linux cainiao-cniot-core 6.18.17-current-meson64 #6 SMP PREEMPT Thu Mar 12 11:15:13 UTC 2026 aarch64
[ 20601.482] Kernel command line: root=UUID=d2a9b5c3-da35-4229-a72c-da5c240f9abb rootwait rootfstype=ext4 splash=verbose console=ttyAML0,115200 console=tty1 consoleblank=0 coherent_pool=2M loglevel=1 ubootpart= libata.force=noncq usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u    cgroup_enable=memory
[ 20601.482] xorg-server 2:21.1.12-1ubuntu1.5 (For technical support please see http://www.ubuntu.com/support)
[ 20601.482] Current version of pixman: 0.42.2
[ 20601.482]    Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
[ 20601.482] Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
[ 20601.482] (==) Log file: "/var/log/Xorg.0.log", Time: Fri Mar 13 05:54:20 2026
[ 20601.482] (==) Using config file: "/etc/X11/xorg.conf"
[ 20601.482] (==) Using config directory: "/etc/X11/xorg.conf.d"
[ 20601.482] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 20601.483] (==) No Layout section.  Using the first Screen section.
[ 20601.483] (**) |-->Screen "Default Screen" (0)
[ 20601.483] (**) |   |-->Monitor "<default monitor>"
[ 20601.483] (==) No device specified for screen "Default Screen".
        Using the first device section listed.
[ 20601.483] (**) |   |-->Device "DRM Graphics Acclerated"
[ 20601.483] (==) No monitor specified for screen "Default Screen".
        Using a default monitor configuration.
[ 20601.483] (**) Allowing byte-swapped clients
[ 20601.483] (==) Automatically adding devices
[ 20601.483] (==) Automatically enabling devices
[ 20601.483] (==) Automatically adding GPU devices
[ 20601.483] (==) Automatically binding GPU devices
[ 20601.483] (==) Max clients allowed: 256, resource mask: 0x1fffff
[ 20601.483] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[ 20601.483]    Entry deleted from font path.
[ 20601.483] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[ 20601.483]    Entry deleted from font path.
[ 20601.483] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[ 20601.483]    Entry deleted from font path.
[ 20601.484] (WW) The directory "/usr/share/fonts/X11/Type1" does not exist.
[ 20601.484]    Entry deleted from font path.
[ 20601.484] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[ 20601.484]    Entry deleted from font path.
[ 20601.484] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[ 20601.484]    Entry deleted from font path.
[ 20601.484] (==) FontPath set to:
        /usr/share/fonts/X11/misc,
        built-ins
[ 20601.484] (==) ModulePath set to "/usr/lib/xorg/modules"
[ 20601.484] (II) The server relies on udev to provide the list of input devices.
        If no devices become available, reconfigure udev or disable AutoAddDevices.
[ 20601.484] (II) Loader magic: 0xaaaac6d80010
[ 20601.484] (II) Module ABI versions:
[ 20601.484]    X.Org ANSI C Emulation: 0.4
[ 20601.484]    X.Org Video Driver: 25.2
[ 20601.484]    X.Org XInput driver : 24.4
[ 20601.484]    X.Org Server Extension : 10.0
[ 20601.485] (--) using VT number 2

[ 20601.485] (II) systemd-logind: logind integration requires -keeptty and -keeptty was not provided, disabling logind integration
[ 20601.488] (II) xfree86: Adding drm device (/dev/dri/card1)
[ 20601.488] (II) Platform probe for /sys/devices/platform/etnaviv/drm/card1
[ 20601.489] (II) xfree86: Adding drm device (/dev/dri/card0)
[ 20601.489] (II) Platform probe for /sys/devices/platform/soc/ff900000.vpu/drm/card0
[ 20601.490] (II) xfree86: Adding drm device (/dev/dri/card2)
[ 20601.490] (II) Platform probe for /sys/devices/platform/soc/ffe40000.gpu/drm/card2
[ 20601.493] (**) OutputClass "Amlogic" setting /dev/dri/card0 as PrimaryGPU
[ 20601.493] (II) LoadModule: "glx"
[ 20601.493] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[ 20601.496] (II) Module glx: vendor="X.Org Foundation"
[ 20601.496]    compiled for 1.21.1.11, module version = 1.0.0
[ 20601.496]    ABI class: X.Org Server Extension, version 10.0
[ 20601.496] (II) LoadModule: "modesetting"
[ 20601.496] (II) Loading /usr/lib/xorg/modules/drivers/modesetting_drv.so
[ 20601.496] (II) Module modesetting: vendor="X.Org Foundation"
[ 20601.496]    compiled for 1.21.1.11, module version = 1.21.1
[ 20601.496]    Module class: X.Org Video Driver
[ 20601.496]    ABI class: X.Org Video Driver, version 25.2
[ 20601.496] (II) modesetting: Driver for Modesetting Kernel Drivers: kms
[ 20601.499] (II) modeset(0): using drv /dev/dri/card0
[ 20601.499] (==) modeset(0): Depth 24, (==) framebuffer bpp 32
[ 20601.499] (II) Applying OutputClass "Amlogic" options to /dev/dri/card0
[ 20601.499] (**) modeset(0): Option "AccelMethod" "glamor"
[ 20601.499] (==) modeset(0): RGB weight 888
[ 20601.499] (==) modeset(0): Default visual is TrueColor
[ 20601.499] (II) Loading sub module "glamoregl"
[ 20601.499] (II) LoadModule: "glamoregl"
[ 20601.499] (II) Loading /usr/lib/xorg/modules/libglamoregl.so
[ 20601.511] (II) Module glamoregl: vendor="X.Org Foundation"
[ 20601.511]    compiled for 1.21.1.11, module version = 1.0.1
[ 20601.511]    ABI class: X.Org ANSI C Emulation, version 0.4
[ 20601.639] (II) modeset(0): glamor X acceleration enabled on Mali-G52 (Panfrost)
[ 20601.639] (II) modeset(0): glamor initialized
[ 20601.639] (==) modeset(0): VariableRefresh: disabled
[ 20601.639] (==) modeset(0): AsyncFlipSecondaries: disabled
[ 20601.639] (II) modeset(0): Output HDMI-1 has no monitor section
[ 20601.640] (II) modeset(0): EDID for output HDMI-1
[ 20601.640] (II) modeset(0): Output HDMI-1 disconnected
[ 20601.640] (WW) modeset(0): No outputs definitely connected, trying again...
[ 20601.640] (II) modeset(0): Output HDMI-1 disconnected
[ 20601.640] (WW) modeset(0): Unable to find connected outputs - setting 1024x768 initial framebuffer
[ 20601.640] (==) modeset(0): Using gamma correction (1.0, 1.0, 1.0)
[ 20601.640] (==) modeset(0): DPI set to (96, 96)
[ 20601.640] (II) Loading sub module "fb"
[ 20601.640] (II) LoadModule: "fb"
[ 20601.640] (II) Module "fb" already built-in
[ 20601.772] (==) modeset(0): Backing store enabled
[ 20601.772] (==) modeset(0): Silken mouse enabled
[ 20601.772] (II) modeset(0): Initializing kms color map for depth 24, 8 bpc.
[ 20601.772] (==) modeset(0): DPMS enabled
[ 20601.772] (WW) modeset(0): Option "PrimaryGPU" is not used
[ 20601.772] (WW) modeset(0): Option "DRI" is not used
[ 20601.772] (WW) modeset(0): Option "Dri2Vsync" is not used
[ 20601.772] (WW) modeset(0): Option "TripleBuffer" is not used
[ 20601.773] (II) modeset(0): [DRI2] Setup complete
[ 20601.773] (II) modeset(0): [DRI2]   DRI driver: meson
[ 20601.773] (II) modeset(0): [DRI2]   VDPAU driver: meson
[ 20601.773] (II) Initializing extension Generic Event Extension
[ 20601.773] (II) Initializing extension SHAPE
[ 20601.773] (II) Initializing extension MIT-SHM
[ 20601.774] (II) Initializing extension XInputExtension
[ 20601.774] (II) Initializing extension XTEST
[ 20601.774] (II) Initializing extension BIG-REQUESTS
[ 20601.774] (II) Initializing extension SYNC
[ 20601.775] (II) Initializing extension XKEYBOARD
[ 20601.775] (II) Initializing extension XC-MISC
[ 20601.775] (II) Initializing extension SECURITY
[ 20601.776] (II) Initializing extension XFIXES
[ 20601.776] (II) Initializing extension RENDER
[ 20601.776] (II) Initializing extension RANDR
[ 20601.777] (II) Initializing extension COMPOSITE
[ 20601.777] (II) Initializing extension DAMAGE
[ 20601.777] (II) Initializing extension MIT-SCREEN-SAVER
[ 20601.777] (II) Initializing extension DOUBLE-BUFFER
[ 20601.778] (II) Initializing extension RECORD
[ 20601.778] (II) Initializing extension DPMS
[ 20601.778] (II) Initializing extension Present
[ 20601.779] (II) Initializing extension DRI3
[ 20601.779] (II) Initializing extension X-Resource
[ 20601.779] (II) Initializing extension XVideo
[ 20601.779] (II) Initializing extension XVideo-MotionCompensation
[ 20601.779] (II) Initializing extension SELinux
[ 20601.779] (II) SELinux: Disabled on system
[ 20601.779] (II) Initializing extension GLX
[ 20601.822] (II) AIGLX: Loaded and initialized meson
[ 20601.822] (II) GLX: Initialized DRI2 GL provider for screen 0
[ 20601.822] (II) Initializing extension XFree86-VidModeExtension
[ 20601.822] (II) Initializing extension XFree86-DGA
[ 20601.823] (II) Initializing extension XFree86-DRI
[ 20601.823] (II) Initializing extension DRI2
[ 20601.824] (II) modeset(0): Damage tracking initialized
[ 20601.938] (II) config/udev: Adding input device adc-keys (/dev/input/event1)
[ 20601.938] (**) adc-keys: Applying InputClass "libinput keyboard catchall"
[ 20601.938] (II) LoadModule: "libinput"
[ 20601.938] (II) Loading /usr/lib/xorg/modules/input/libinput_drv.so
[ 20601.942] (II) Module libinput: vendor="X.Org Foundation"
[ 20601.942]    compiled for 1.21.1.11, module version = 1.4.0
[ 20601.942]    Module class: X.Org XInput Driver
[ 20601.942]    ABI class: X.Org XInput driver, version 24.4
[ 20601.942] (II) Using input driver 'libinput' for 'adc-keys'
[ 20601.942] (**) adc-keys: always reports core events
[ 20601.942] (**) Option "Device" "/dev/input/event1"
[ 20601.947] (II) event1  - adc-keys: is tagged by udev as: Keyboard
[ 20601.947] (II) event1  - adc-keys: device is a keyboard
[ 20601.947] (II) event1  - adc-keys: device removed
[ 20601.976] (**) Option "config_info" "udev:/sys/devices/platform/adc-keys/input/input1/event1"
[ 20601.976] (II) XINPUT: Adding extended input device "adc-keys" (type: KEYBOARD, id 6)
[ 20601.978] (II) event1  - adc-keys: is tagged by udev as: Keyboard
[ 20601.978] (II) event1  - adc-keys: device is a keyboard
[ 20601.979] (II) config/udev: Adding input device gpio-keys-polled (/dev/input/event0)
[ 20601.979] (**) gpio-keys-polled: Applying InputClass "libinput keyboard catchall"
[ 20601.979] (II) Using input driver 'libinput' for 'gpio-keys-polled'
[ 20601.979] (**) gpio-keys-polled: always reports core events
[ 20601.979] (**) Option "Device" "/dev/input/event0"
[ 20601.981] (II) event0  - gpio-keys-polled: is tagged by udev as: Keyboard
[ 20601.981] (II) event0  - gpio-keys-polled: device is a keyboard
[ 20601.981] (II) event0  - gpio-keys-polled: device removed
[ 20602.000] (**) Option "config_info" "udev:/sys/devices/platform/gpio-keys-polled/input/input0/event0"
[ 20602.000] (II) XINPUT: Adding extended input device "gpio-keys-polled" (type: KEYBOARD, id 7)
[ 20602.001] (II) event0  - gpio-keys-polled: is tagged by udev as: Keyboard
[ 20602.001] (II) event0  - gpio-keys-polled: device is a keyboard
[ 20648.339] (II) event1  - adc-keys: device removed
[ 20648.380] (II) event0  - gpio-keys-polled: device removed
[ 20648.397] (II) UnloadModule: "libinput"
[ 20648.397] (II) UnloadModule: "libinput"
[ 20648.402] (II) Server terminated successfully (0). Closing log file.

The issue where the etnaviv driver rendered Xorg unusable is now resolved. The PR for the fix is here, and I suspect this issue also exists on other A311D devices, such as the Khadas VIM3.

PS: I found online that etnaviv can seemingly be used for Xorg hardware acceleration, which requires modifying some configurations. However, I have not tested this, and it is currently outside the scope of this issue's discussion.
https://community.mnt.re/t/getting-x11-working-again/1911
https://mntre.com/media/tech_notes_md/2018-11-19-using-modesetting-with-etnaviv.html

Regarding whether the etnaviv driver affects the Wayland environment, I also conducted tests by installing gnome/gdm. The results show that GNOME is also affected.

When blacklisting etnaviv:
GDM displays correctly and can enter the GNOME Wayland session.

When the etnaviv driver is enabled without setting the aforementioned OutputClass:
GDM does not display at all.

When the etnaviv driver is enabled and the aforementioned OutputClass is set:
GDM displays and can enter the GNOME session, but it is the Xorg version.

Attached are the journalctl /usr/bin/gnome-shell logs for the three scenarios mentioned above.

etnaviv-disabled.log
etnaviv-en-and-no-outputclass-set-in-xorg-conf.log
etnaviv-en-and-outputclass-set-in-xorg-conf.log

However, for Wayland environments like mutter/kwin_wayland, I do not have a perfect solution yet, so I am raising this issue here to seek help.

How to reproduce?

Just build xfce4 system image for A311D device

Branch

main (main development branch)

On which host OS are you running the build script and observing this problem?

Other

Are you building on Windows WSL2?

  • Yes, my Ubuntu/Debian/OtherOS is running on WSL2

Relevant log URL

No response

Code of Conduct

  • I agree to follow this project's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugSomething isn't working as it should

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions