There is no relationship between the two, as of today.
They are developed and maintained by different people with different goals.
One important difference is that lv_port_esp32 drives are meant to be used by C code, therefore they are configured on compile time.
lv_micropython drivers, on the other hand, are configured on runtime. So if you need to change the SPI pins or some display configuration you don’t need to rebuild the firmware, only provide different parameters to the driver when initializing it.
Having said that, it should be pretty simple to pick up a driver from lv_port_esp32 as-is and compile it into lv_micropython. You would have to configure it when building the firmware though, and rebuild the firmware every time you need to change it.
- ESP32 port:
- ILI9341 and ILI9488 through the ili9XXX.py driver.
rtouch, that’s a resistive touch driver with minimal external components that uses 2 ADC channels directly connected to the touch panel
- STM32 port: STM32F7DISC
- unix/windows port has SDL driver
- unix port has Frame Buffer and evdev drivers
These drivers are added upon need by whoever needs them.
If you add some driver you are welcome to open a pull request.
All drivers are under lv_binding_micropython/driver, so browsing this directory usually gives a pretty good picture of what is supported.
Yes I’ve heard this suggestion before.
So far we didn’t offer a prebuilt firmware for each port.
In many cases users need their own modification on their lv_micropython fork. In some cases users need to use LVGL with micropython fork other than lv_micropython (for example, CircuitPython) so I’ve seen little value for putting the effort into providing firmware releases.
However, having CI workflows in place could make firmware releases easier to maintain, so we may consider this in the future after having proper CI in place for esp32.