-
Notifications
You must be signed in to change notification settings - Fork 224
Benchmark demo #102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Benchmark demo #102
Conversation
These files can be generated like this: ``` wayland-scanner client-header $SYSROOT/usr/share/wayland-protocols/stable/xdg-shell/xdg-shell.xml \ wayland_xdg_shell.h wayland-scanner private-code $SYSROOT/usr/share/wayland-protocols/stable/xdg-shell/xdg-shell.xml \ wayland_xdg_shell.c ``` Where SYSROOT is a path to debootstraped device's rootfs directory Taken from LVGL Wayland Driver documentation
Required ubuntu packages are: - gcc-arm-linux-gnueabihf - g++-arm-linux-gnueabihf To crosscompile the project: ``` cmake -DCMAKE_TOOLCHAIN_FILE=./user_cross_compile_setup.cmake -DCMAKE_SYSROOT=$SYSROOT -B build -S . make -C build -j ``` Where SYSROOT is the path to debootstraped device's rootfs
Benchmark shows on average on simple screens around 30 FPS With a lot of redrawings it can drop to even 9 FPS Unfortunetally I couldn't find a way to enable DMA support for stm32. It seems lvgl support IMX drawing engine through.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
2 issues found across 5 files
Prompt for AI agents (all 2 issues)
Understand the root cause of the following 2 issues and fix them.
<file name="src/main.c">
<violation number="1" location="src/main.c:90">
Options 'f' and 'm' are declared in getopt string but not handled in switch, so -f/-m are silently ignored.</violation>
</file>
<file name="user_cross_compile_setup.cmake">
<violation number="1" location="user_cross_compile_setup.cmake:12">
Setting ONLY without defining CMAKE_SYSROOT/CMAKE_FIND_ROOT_PATH can break find_library; use FIRST or define a root path.</violation>
</file>
Since this is your first cubic review, here's how it works:
- cubic automatically reviews your code and comments on bugs and improvements
- Teach cubic by replying to its comments. cubic learns from your replies and gets better over time
- Ask questions if you need clarification on any suggestion
React with 👍 or 👎 to teach cubic. Mention @cubic-dev-ai
to give feedback, ask questions, or re-run the review.
|
||
/* Parse the command-line options. */ | ||
while ((opt = getopt (argc, argv, "b:fmW:H:BVh")) != -1) { | ||
while ((opt = getopt (argc, argv, "b:fmW:H:BVFh")) != -1) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Options 'f' and 'm' are declared in getopt string but not handled in switch, so -f/-m are silently ignored.
Prompt for AI agents
Address the following comment on src/main.c at line 90:
<comment>Options 'f' and 'm' are declared in getopt string but not handled in switch, so -f/-m are silently ignored.</comment>
<file context>
@@ -86,12 +87,15 @@ static void configure_simulator(int argc, char **argv)
/* Parse the command-line options. */
- while ((opt = getopt (argc, argv, "b:fmW:H:BVh")) != -1) {
+ while ((opt = getopt (argc, argv, "b:fmW:H:BVFh")) != -1) {
switch (opt) {
case 'h':
</file context>
while ((opt = getopt (argc, argv, "b:fmW:H:BVFh")) != -1) { | |
while ((opt = getopt (argc, argv, "b:W:H:BVFh")) != -1) { |
set(CMAKE_CXX_COMPILER /usr/bin/arm-linux-gnueabihf-g++) | ||
|
||
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) # Don't search for executables in sysroot | ||
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) # Only search for libraries in sysroot |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Setting ONLY without defining CMAKE_SYSROOT/CMAKE_FIND_ROOT_PATH can break find_library; use FIRST or define a root path.
Prompt for AI agents
Address the following comment on user_cross_compile_setup.cmake at line 12:
<comment>Setting ONLY without defining CMAKE_SYSROOT/CMAKE_FIND_ROOT_PATH can break find_library; use FIRST or define a root path.</comment>
<file context>
@@ -5,11 +5,13 @@
+set(CMAKE_CXX_COMPILER /usr/bin/arm-linux-gnueabihf-g++)
+
+set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) # Don't search for executables in sysroot
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) # Only search for libraries in sysroot
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) # Only search for includes in sysroot
</file context>
Read commit messages :)
Summary by cubic
Switches the simulator to the Wayland backend and runs the LVGL benchmark demo with perf/CPU monitors enabled. Adds a fullscreen flag, vendors xdg-shell protocol files, and sets up ARMhf cross-compilation.
New Features
Migration