Skip to content
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

LVGUI: Drop FFI bindings, in favor of native bindings #417

Merged
merged 3 commits into from Sep 29, 2021

Conversation

samueldr
Copy link
Member

@samueldr samueldr commented Sep 25, 2021

This is quite a big change, which should be a no-op in this PR.

Why this no-op? Because in another WIP feature branch for ▒▒▒▒▒▒▒▒ I found out that there was weirdness happening with the LVGUI app, and could not track it down to anything. I already knew some of the FFI binding was flawed on the basis of lack of "precision" in types, but this untraceable weirdness really put a stop on my development.

What this will change is it hopefully will provide better native-side traces about what is going on. Rather than having vague "yup, it's in the FFI", I should be able to put instrumentation or just use gdb to get a better overview about what is happening.

Anyway, this is opened as a draft since there's still these things to do:

  • Test on aarch64-linux on a real device
  • Test on armv7-linux on a real device
  • Fix textarea handling of chars (e.g. for passphrase)

Just in case there's some more weirdness, but I did test:

  • With the "simulator" tooling.
  • With the hello uefi-x86_64 VM.

@samueldr samueldr marked this pull request as draft September 25, 2021 02:41
We're replacing it with *actual bindings*, rather than FFI-based
bindings.

While currently this should be a no-op for the end-user (with the other
relevant changes in the following commits), this was made with the hopes
that it will help either entirely fix, or help track down the root cause
of an issue in a WIP feature in another branch.
Most of the changes are `s/LVGL::FFI/LVGUI::Native/`, but there are some
other notable changes.

Some correctness issues with nil usage where "" should have been used.

String handling is better, and does not require tacking on, for unknown
reason, a null at the end of the string.
@samueldr samueldr marked this pull request as ready for review September 29, 2021 01:25
@samueldr samueldr merged commit 5b627d6 into NixOS:master Sep 29, 2021
@samueldr samueldr deleted the feature/lvgui-native-bindings branch September 29, 2021 03:23
rev = "ba381a2749848ac69e08e9e59fe8a14054bcb24e";
sha256 = "0989m73kcrybgadszk1ffh4cbcfrmi0f79lbg87wrn5bxwaqbawr";
};
src = /Users/samuel/Projects/mobile-nixos/projects/lvgui;

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This local path looks like a forgotten debug test, right?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh no

Copy link
Member Author

@samueldr samueldr Sep 29, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well... it worked on my machine :/.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants