Skip to content

Releases: cyryllo/fex_configuration

v0.4: Banana Pro + LeMaker LCD, touch fixed in the kernel (XFCE and minimal, Armbian trixie 6.18.59)

Choose a tag to compare

@cyryllo cyryllo released this 27 Oct 20:27

Armbian images for the LeMaker Banana Pro (Banana Pi Pro, Allwinner A20) with LeMaker LCD support on a mainline kernel. Each image supports all panels and touch works right after boot. Two variants: a ready-to-use XFCE desktop with the 7" panel enabled, and a minimal base image without a desktop and with the LCD disabled.

Status:

  • 7" LVDS: display and touch confirmed working
  • 5" RGB: display confirmed working, touch uses the same controller and wiring as the 7" (not tested yet)
  • 3.5" RGB: untested (no hardware), shares almost everything with the 5", test reports are welcome
  • also works on the original Banana Pi (non-"Pro")

What's new compared to v0.3

  • touch fixed in the kernel instead of a workaround: at boot the first I2C transfer to the touch controller always fails with a bus error, the I2C adapter then recovers the bus. A small patch makes the edt-ft5x06 driver retry the identification once (identification failed, retrying in dmesg), so the lemaker-touch-retry service is no longer needed and is not installed anymore
  • tests showed that neither powering the controller from the panel supply nor holding its reset line high from early boot avoids the first error, so the retry is the clean fix. It is also the base for getting LeMaker LCD support into the official Armbian images

If you run v0.3 and touch works, you don't have to update: the service there does the same job.

Images

File Desktop LCD at first boot For
Armbian-unofficial_26.11.0-trunk_Bananapipro_trixie_current_6.18.59_xfce_desktop.img.xz XFCE (minimal tier) 7" enabled ready to use with the 7" panel
Armbian-unofficial_26.11.0-trunk_Bananapipro_trixie_current_6.18.59_minimal.img.xz none (console) disabled (HDMI only) a clean base for your own setup: kiosk, headless, your own desktop or app

Both: Armbian 26.11.0-trunk (unofficial build), Debian 13 trixie, kernel 6.18.59 (current) with the FT5x06 touch driver (edt-ft5x06) and the retry patch, built with the Armbian build framework from the scripts in armbian-build/. Both include overlays for all three panels, the lemaker-lcd command, evtest and i2c-tools. The only differences are the desktop and which panel is enabled, both can be changed after boot (see below).

On the minimal image you log in on the HDMI console (or over SSH, it gets an address via DHCP). You can install a desktop later with armbian-config.

Flashing

Use USBImager or balenaEtcher (both handle .xz directly), or:

# XFCE image
xz -dc Armbian-unofficial_26.11.0-trunk_Bananapipro_trixie_current_6.18.59_xfce_desktop.img.xz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync

# minimal image
xz -dc Armbian-unofficial_26.11.0-trunk_Bananapipro_trixie_current_6.18.59_minimal.img.xz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync

Check the download with sha256sum -c --ignore-missing SHA256SUMS (--ignore-missing skips the image you did not download).

Connect the panel before powering on. U-Boot messages appear only on HDMI, the LCD shows a picture once the kernel starts. On the first boot the Armbian wizard asks for a root password and a new user. On the XFCE image the desktop starts afterwards, open a terminal with Ctrl+Alt+T.

Which panel is enabled, and how to change it

  • XFCE image: the LeMaker 7" panel is enabled by default.
  • Minimal image: the LCD is disabled, the picture goes to HDMI only. Enable your panel with sudo lemaker-lcd 7 (or 5, 35) and reboot.

HDMI keeps working in both cases. Every change takes effect after a reboot.

/boot is on the ext4 system partition, so armbianEnv.txt cannot be edited from Windows before the first boot. Boot once with a monitor on HDMI (or log in over SSH), switch the panel and reboot. On Linux you can also mount the SD card and edit boot/armbianEnv.txt on it before the first boot.

Option 1: the lemaker-lcd command

Open a terminal (Ctrl+Alt+T on the XFCE desktop, or simply log in on the minimal image) and run:

sudo lemaker-lcd          # shows which panel is enabled
sudo lemaker-lcd 5        # switch to the 5" panel
sudo lemaker-lcd 35       # switch to the 3.5" panel
sudo lemaker-lcd 7        # switch back to the 7" panel
sudo lemaker-lcd off      # disable the LCD completely (HDMI only)
sudo reboot

The command only changes the LeMaker panel, other overlays you may use stay untouched. The previous file is saved as /boot/armbianEnv.txt.bak.

Option 2: editing /boot/armbianEnv.txt by hand

sudo nano /boot/armbianEnv.txt

At the end of the file there is this block. Exactly one line must be uncommented (without #), for example to use the 5" panel:

# >>> lemaker-lcd
# LeMaker LCD: uncomment ONE line below (or run: sudo lemaker-lcd 35|5|7|off)
#user_overlays=bananapro-lemaker-lcd35
user_overlays=bananapro-lemaker-lcd5
#user_overlays=bananapro-lemaker-lcd7
# <<< lemaker-lcd

On the minimal image all three lines start with # (LCD disabled), remove the # from the line of your panel. To disable the LCD, put # in front of all three lines. If more than one line is uncommented, only the last one is used. Save with Ctrl+O, exit with Ctrl+X, then sudo reboot.

Reporting results

Please describe what you see on the screen (black / backlight only / picture OK), whether touch works and post the output of:

dmesg | grep -iE "sun4i|lvds|panel|edt|pwm|i2c-2"
grep -A1 -i edt /proc/bus/input/devices

Note: an apt upgrade may install the official Armbian kernel without the touch driver and the patch. To keep touch working: sudo apt-mark hold linux-image-current-sunxi linux-dtb-current-sunxi.

v0.3: Banana Pro + LeMaker LCD with working touch (XFCE and minimal, Armbian trixie 6.18.59)

Choose a tag to compare

@cyryllo cyryllo released this 26 Oct 22:30

Armbian images for the LeMaker Banana Pro (Banana Pi Pro, Allwinner A20) with LeMaker LCD support on a mainline kernel. Each image supports all panels, touch now works. Two variants: a ready-to-use XFCE desktop with the 7" panel enabled, and a minimal base image without a desktop and with the LCD disabled.

Status:

  • 7" LVDS: display and touch confirmed working
  • 5" RGB: display confirmed working, touch uses the same controller and wiring as the 7" (not tested yet)
  • 3.5" RGB: untested (no hardware), shares almost everything with the 5", test reports are welcome
  • also works on the original Banana Pi (non-"Pro")

What's new compared to v0.1

  • touch fixed: PH7 (ctp_wakeup in the old fex files) is actually the RESET line of the touch controller, the overlays now describe it as reset-gpios, so the driver waits long enough for the controller to start
  • new lemaker-touch-retry service: at boot the driver's first attempt always fails with an I2C bus error, the service retries after boot so touch works right away
  • one image for all panels instead of one image per panel, switch the panel with the new lemaker-lcd command or by uncommenting one line in /boot/armbianEnv.txt
  • XFCE desktop image with the 7" panel enabled, and a minimal image without a desktop and with the LCD disabled, as a base for your own setup
  • evtest and i2c-tools preinstalled
  • kernel 6.18.59

Images

File Desktop LCD at first boot For
Armbian-unofficial_26.11.0-trunk_Bananapipro_trixie_current_6.18.59_xfce_desktop.img.xz XFCE (minimal tier) 7" enabled ready to use with the 7" panel, testing touch
Armbian-unofficial_26.11.0-trunk_Bananapipro_trixie_current_6.18.59_minimal.img.xz none (console) disabled (HDMI only) a clean base for your own setup: kiosk, headless, your own desktop or app

Both: Armbian 26.11.0-trunk (unofficial build), Debian 13 trixie, kernel 6.18.59 (current), built with the Armbian build framework from the scripts in armbian-build/. Both include the FT5x06 touch driver (edt-ft5x06), the lemaker-touch-retry service, overlays for all three panels, the lemaker-lcd command, evtest and i2c-tools. The only differences are the desktop and which panel is enabled, both can be changed after boot (see below).

On the minimal image you log in on the HDMI console (or over SSH, it gets an address via DHCP). You can install a desktop later with armbian-config.

Flashing

Use USBImager or balenaEtcher (both handle .xz directly), or:

# XFCE image
xz -dc Armbian-unofficial_26.11.0-trunk_Bananapipro_trixie_current_6.18.59_xfce_desktop.img.xz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync

# minimal image
xz -dc Armbian-unofficial_26.11.0-trunk_Bananapipro_trixie_current_6.18.59_minimal.img.xz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync

Check the download with sha256sum -c --ignore-missing SHA256SUMS (--ignore-missing skips the image you did not download).

Connect the panel before powering on. U-Boot messages appear only on HDMI, the LCD shows a picture once the kernel starts. On the first boot the Armbian wizard asks for a root password and a new user. On the XFCE image the desktop starts afterwards, open a terminal with Ctrl+Alt+T.

Which panel is enabled, and how to change it

  • XFCE image: the LeMaker 7" panel is enabled by default.
  • Minimal image: the LCD is disabled, the picture goes to HDMI only. Enable your panel with sudo lemaker-lcd 7 (or 5, 35) and reboot.

HDMI keeps working in both cases. Every change takes effect after a reboot.

/boot is on the ext4 system partition, so armbianEnv.txt cannot be edited from Windows before the first boot. Boot once with a monitor on HDMI (or log in over SSH), switch the panel and reboot. On Linux you can also mount the SD card and edit boot/armbianEnv.txt on it before the first boot.

Option 1: the lemaker-lcd command

Open a terminal (Ctrl+Alt+T on the XFCE desktop, or simply log in on the minimal image) and run:

sudo lemaker-lcd          # shows which panel is enabled
sudo lemaker-lcd 5        # switch to the 5" panel
sudo lemaker-lcd 35       # switch to the 3.5" panel
sudo lemaker-lcd 7        # switch back to the 7" panel
sudo lemaker-lcd off      # disable the LCD completely (HDMI only)
sudo reboot

The command only changes the LeMaker panel, other overlays you may use stay untouched. The previous file is saved as /boot/armbianEnv.txt.bak.

Option 2: editing /boot/armbianEnv.txt by hand

sudo nano /boot/armbianEnv.txt

At the end of the file there is this block. Exactly one line must be uncommented (without #), for example to use the 5" panel:

# >>> lemaker-lcd
# LeMaker LCD: uncomment ONE line below (or run: sudo lemaker-lcd 35|5|7|off)
#user_overlays=bananapro-lemaker-lcd35
user_overlays=bananapro-lemaker-lcd5
#user_overlays=bananapro-lemaker-lcd7
# <<< lemaker-lcd

On the minimal image all three lines start with # (LCD disabled), remove the # from the line of your panel. To disable the LCD, put # in front of all three lines. If more than one line is uncommented, only the last one is used. Save with Ctrl+O, exit with Ctrl+X, then sudo reboot.

Already running v0.1?

The easiest way is to flash one of the new images. If you want to keep your system, update the overlays and install the touch service and the lemaker-lcd command from the repository:

git clone https://github.com/cyryllo/fex_configuration.git
cd fex_configuration
for f in overlays/bananapro-lemaker-lcd*.dts; do sudo dtc -@ -q -I dts -O dtb -o /boot/overlay-user/$(basename $f .dts).dtbo $f; done
sudo install -m 0755 armbian-build/lemaker-touch-retry armbian-build/lemaker-lcd /usr/local/sbin/
sudo install -m 0644 armbian-build/lemaker-touch-retry.service /etc/systemd/system/
sudo systemctl enable lemaker-touch-retry.service
sudo lemaker-lcd 7        # your panel: 7, 5 or 35
sudo reboot

Reporting results

Please describe what you see on the screen (black / backlight only / picture OK), whether touch works and post the output of:

dmesg | grep -iE "sun4i|lvds|panel|edt|pwm|i2c-2"
journalctl -b -u lemaker-touch-retry
grep -A1 -i edt /proc/bus/input/devices

Note: an apt upgrade may install the official Armbian kernel without the touch driver. To keep touch working: sudo apt-mark hold linux-image-current-sunxi linux-dtb-current-sunxi.

Banana Pro + LeMaker LCD, Armbian trixie 6.18.58 (test images)

Choose a tag to compare

@cyryllo cyryllo released this 25 Oct 23:40

Armbian images for the LeMaker Banana Pro (Banana Pi Pro, Allwinner A20) with LeMaker LCD support on a mainline kernel.

Status: not yet tested on hardware. The overlays compile and apply correctly to the Banana Pro device tree from this kernel. Hardware tests on the 5" and 7" panels are coming, the 3.5" panel is untested (I don't have it). Test reports are welcome.

Images

File Panel enabled
..._lcd35_minimal.img.xz LeMaker 3.5" RGB 320x240 (BL035-RGB-002)
..._lcd5_minimal.img.xz LeMaker 5" RGB 800x480
..._lcd7_minimal.img.xz LeMaker 7" LVDS 1024x600

All images: Armbian 26.11.0-trunk (unofficial build), Debian 13 trixie minimal, kernel 6.18.58 (current), built with the Armbian build framework from the scripts in armbian-build/.

Changes compared to the official Armbian image:

  • FT5x06 touch driver (edt-ft5x06) enabled as a module
  • overlays for all three panels in /boot/overlay-user/, sources in /usr/local/share/lemaker-lcd/
  • the selected panel enabled in /boot/armbianEnv.txt (user_overlays=)

Each image contains all overlays, so you can switch panels by editing the user_overlays= line in /boot/armbianEnv.txt and rebooting.

Flashing

Use USBImager or balenaEtcher (both handle .xz directly), or:

xz -dc Armbian-..._lcd7_minimal.img.xz | sudo dd of=/dev/sdX bs=4M status=progress conv=fsync

Connect the panel before powering on. U-Boot messages appear only on HDMI, the LCD shows a picture once the kernel starts.

Check the download with sha256sum -c SHA256SUMS.

Reporting results

Please describe what you see on the screen (black / backlight only / picture OK) and post the output of:

dmesg | grep -iE "sun4i|lvds|panel|edt|pwm"
ls /sys/class/backlight/
lsmod | grep edt

Note: an apt upgrade may install the official Armbian kernel without the touch driver. To keep touch working: sudo apt-mark hold linux-image-current-sunxi linux-dtb-current-sunxi.