Skip to content

Flutter-pi on Raspberry Pi 4B with 3.5" SPI TFT (fbdev) – how to make it work? #505

@nikolaihen

Description

@nikolaihen

Hi, I’m new to Linux and embedded systems and I’m trying to run a Flutter app on a Raspberry Pi 4B (4GB RAM) using this 3.5" SPI display:
https://www.lcdwiki.com/3.5inch_RPi_Display

I have successfully installed the LCD35-show drivers from:
https://github.com/goodtft/LCD-show

However, as far as I understand, the display currently uses fbdev (framebuffer) and not KMS/DRM, which prevents flutter-pi from working out-of-the-box.


System Info

OS: Linux raspberrypi 6.12.47+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.47-1+rpt1 (2025-09-16) aarch64 GNU/Linux
Flutter (host Windows machine): 3.35.1
Flutter-pi build command (host Windows machine): flutterpi_tool build --arch=arm64 --cpu=pi4 --release

Symptoms / Errors

  • Running flutter-pi --release ~/app outputs:
window.c: Could not find a preferred output mode!
flutter-pi.c: Couldn't create KMS window.
  • In raspi-config:
    • I have no "GL Driver" under "Advanced Options"
      • But have added dtoverlay=vc4-fkms-v3d to /boot/config.txt
    • I have no "GPU Memory" under "Performance Options"

Current /boot/config.txt

dtoverlay=vc4-fkms-v3d
max_framebuffers=2
disable_fw_kms_setup=1
arm_64bit=1
disable_overscan=1
arm_boost=1
hdmi_force_hotplug=1
dtparam=i2c_arm=on
dtparam=spi=on
enable_uart=1
dtoverlay=tft35a:rotate=90
hdmi_group=2
hdmi_mode=1
hdmi_mode=87
hdmi_cvt 480 320 60 6 0 0 0
hdmi_drive=2

Devices / Drivers

$ ls /dev/dri/
by-path  card0  card1  renderD128
$ ls /dev/fb*
/dev/fb0
  • Display is currently using fbdev via /dev/fb0 (fb_ili9486 driver)
    • frame buffer, 480x320, 300 KiB video memory, 32 KiB buffer memory, fps=31, spi0.0 at 16 MHz
  • DRM driver for ILI9486 exists on my system:
    /lib/modules/6.12.47+rpt-rpi-v8/kernel/drivers/gpu/drm/tiny/ili9486.ko.xz
  • I’m unsure how to properly load/use this DRM driver instead of fbdev.

What I want

  • Run flutter-pi on this SPI display, even if performance isn’t perfect.
  • Clarification on whether:
    1. I can make flutter-pi work with fbdev (any existing workaround/patch?), or
    2. I should attempt using the ILI9486 DRM driver, and how to do that properly.

Any guidance from people who have run flutter-pi on a similar TFT or SPI framebuffer would be hugely appreciated.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions