I have a working demo of LVGL 8.1 running on my M5Core2.
To succeed one have to carefully read the 8.0.0 changes in the changelog:
Especially this: "lv_disp_drv_t, lv_indev_drv_t, lv_fs_drv_t needs to be static"
So you have to move these structures outside the setup function as static.
static lv_disp_drv_t disp_drv;
static lv_indev_drv_t indev_drv;