Comments (11)
I got this error "[Error] (4292956.517, +4292956517) lv_display_set_buffers: Asserted at expression: stride * h <= buf_size DIRECT mode requires screen sized buffer(s) lv_display.c:419"
from lv_port_linux.
I don't know how to set this due to the change of interface, but I found LV_LINUX_FBDEV_BUFFER_SIZE in lv_config.h and set it to my screen size (480*480) but this is invalid and I still get that error.
from lv_port_linux.
Until I found out about this
lv_display_t * lv_linux_fbdev_create(void)
{
static bool inited = false;
if(!inited) {
lv_tick_set_cb(tick_get_cb),
inited = true;
}
lv_linux_fb_t * dsc = lv_malloc_zeroed(sizeof(lv_linux_fb_t));
LV_ASSERT_MALLOC(dsc);
if(dsc == NULL) return NULL;
lv_display_t * disp = lv_display_create(800, 480);
if(disp == NULL) {
lv_free(dsc);
return NULL;
}
dsc->fbfd = -1;
lv_display_set_driver_data(disp, dsc);
lv_display_set_flush_cb(disp, flush_cb);
return disp;
}
Maybe you found the problem, lv_display_t * disp = lv_display_create(800, 480); When I modify it to lv_display_t * disp = lv_display_create(480, 480); The program is ready to run, and I found the same problem in the DRM code
from lv_port_linux.
As I continued reading the source code, I found this
if(LV_LINUX_FBDEV_RENDER_MODE == LV_DISPLAY_RENDER_MODE_PARTIAL) {
draw_buf_size *= LV_LINUX_FBDEV_BUFFER_SIZE;}
However, there is no LV_DISPLAY_RENDER_MODE_PARTIAL in lv_conf.h, and perhaps more details are needed to refine the use of the new version
from lv_port_linux.
Hi,
Can you send a code snippet to reproduce the issue with
- how you create the display
- the FBDEV related part of
lv_conf.h
from lv_port_linux.
Hi,
Can you send a code snippet to reproduce the issue with
- how you create the display
- the FBDEV related part of
lv_conf.h
I didn't make any changes to the project after I got it, I put it on my board after cross-compiling it according to the README, at this point I was already wondering why there was no screen configuration similar to v8.3, and then the error I mentioned occurred at runtime
from lv_port_linux.
Hi,
Can you send a code snippet to reproduce the issue with
- how you create the display
- the FBDEV related part of
lv_conf.h
I didn't make any changes to the project after I got it, I put it on my board after cross-compiling it according to the README, at this point I was already wondering why there was no screen configuration similar to v8.3, and then the error I mentioned occurred at runtime
lv_display_t * lv_linux_fbdev_create (void) It comes from lvgl/src/drivers/display/fb
from lv_port_linux.
Please print dsc->vinfo.bits_per_pixel
.
from lv_port_linux.
Please print
dsc->vinfo.bits_per_pixel
.
dsc->vinfo.bits_per_pixel:32
from lv_port_linux.
Please print
dsc->vinfo.bits_per_pixel
.
I'm not sure you understand what I mean, but I mean from the main.c example so far lv_linux_fbdev_create the (void) design may not be flexible enough, and when I want to change the screen size, I need to go into the source code to modify it, if there is an easier way, please let me know
from lv_port_linux.
what I mean, but I mean from the main.c example so far lv_linux_fbdev_create the (void) design may not be flexible enough, and when I want to change the screen size, I need to go into the source code to modify it, if there is an easier way, please let me know
Oh, I really misunderstood it and it's really set the the screen's resolution by default. What we can do is calling lv_display_set_resolution(display, hor_res, ver_res)
from main.c but in lv_linux_fbdev_create
we can add an LV_EVENT_RESOLUTION_CHANGED
event to the display where we can reallocate the buffers.
from lv_port_linux.
Related Issues (20)
- Revision needed - Embedded GUI Using Linux Frame Buffer Device with LVGL HOT 22
- how do i run this repo HOT 7
- Compilation fails with Clang 15 HOT 1
- Alpha Blending in Wayland HOT 4
- Using 3rd-party lib qr-code shows "undefined reference"-error HOT 6
- Run on Raspberry pi zero but get two same contents in one frame HOT 1
- when I add the code in my linux systerm and cross compile , errors HOT 2
- sos HOT 1
- how can I run this project on my ubuntu computer? HOT 2
- Makefile HOT 1
- unable to open evdev interface:: No such file or directory HOT 3
- evdev_read callback denies non-zero ABS_MT_TRACKING_ID in touchscreen. HOT 3
- Error during make HOT 5
- exclude binaries from source code ! HOT 1
- How do use touch in v9? HOT 4
- Documentation : cross compilation for arm HOT 41
- How to add nativeapp to Cmakelist? HOT 3
- How to implement a right-angled box through lv_obj HOT 1
- SDL2、Libdrm_LIBRARY HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from lv_port_linux.