arduino / arduino/ArduinoCore-mbed
Tearing Effect - Arduino Giga Display
- Dominant language
- C
- Stars
- 411
- Forks
- 225
- PR merge metrics
- No merged PRs in 30d
Description
Hey, I've had the Arduino Giga Display for a few days now.
I'm trying to get it to work with the LVGL example.
I have created a screen with two buttons. The screen is scrollable.
When I scroll the screen, there is a tearing effect.

I would like to eliminate the tearing effect.
I have already enlarged the buffer and added a double buffer.
lv_conf.h
`#define LV_MEM_SIZE (256U * 1024U)`
Arduino_H7_Video.cpp
```static lv_color_t * buf1;
static lv_color_t * buf2;
buf1 = (lv_color_t*)malloc((width() * height() / 4) * sizeof(lv_color_t));
buf2 = (lv_color_t*)malloc((width() * height() / 4) * sizeof(lv_color_t));
lv_disp_draw_buf_init(&draw_buf, buf1, buf2, width() * height() / 4);
```
I have also activated the DMA2D (aka Chrom Art) GPU.
lv_conf.h
```/*Use STM32's DMA2D (aka Chrom Art) GPU*/
#define LV_USE_GPU_STM32_DMA2D 1
#if LV_USE_GPU_STM32_DMA2D
/*Must be defined to include path of CMSIS header of target processor
e.g. "stm32f769xx.h" or "stm32f429xx.h"*/
#define LV_GPU_DMA2D_CMSIS_INCLUDE
#endif
```
What else can i do to eliminate the tearing effect?
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the LVGL example and inspect Arduino_H7_Video.cpp alongside the buffer settings in lv_conf.h. Reproduce the tearing while scrolling the screen, then verify that the display renders without visible tearing after the relevant buffering or display-transfer change.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- embedded-iot
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100