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

Use libui for gralloc on devices without legacy gralloc HAL #509

Merged
merged 4 commits into from Jan 20, 2023

Conversation

NotKit
Copy link
Contributor

@NotKit NotKit commented Apr 30, 2022

On some Android 11 devices that shipped with gralloc 4 (for example, device with MediaTek SoCs) there is no gralloc HAL library anymore that can be loaded through libhybris.

This PR tries to implement similar thing to what libhwc2_compat_layer does via libui as that has abstraction over multiple gralloc versions and communicates with gralloc allocator service via HIDL, while still loading the mapper library inside the process.

@NotKit NotKit force-pushed the libui_gralloc branch 2 times, most recently from c859e24 to fa8233c Compare May 8, 2022 16:50
@mlehtima
Copy link
Contributor

mlehtima commented May 9, 2022

This seems to fail to build on some older android bases. On android 5 base I got "ui.c:21:10: fatal error: android/rect.h: No such file or directory"

@NotKit NotKit force-pushed the libui_gralloc branch 3 times, most recently from 56807d2 to 3bb4334 Compare May 11, 2022 20:40
@NotKit
Copy link
Contributor Author

NotKit commented May 11, 2022

Should be fixed now, tested to still compile for motorola-titan with Android 5.1.

@mlehtima
Copy link
Contributor

mlehtima commented Jan 7, 2023

When building this I get

gralloc.c:156:13: warning: implicit declaration of function 'hybris_ui_initialize'; did you mean 'hybris_gralloc_initialize'? [-Wimplicit-function-declaration]
             hybris_ui_initialize();
             ^~~~~~~~~~~~~~~~~~~~
             hybris_gralloc_initialize
gralloc.c:157:17: warning: implicit declaration of function 'hybris_ui_check_for_symbol' [-Wimplicit-function-declaration]
             if (hybris_ui_check_for_symbol("graphic_buffer_allocator_allocate")) {
                 ^~~~~~~~~~~~~~~~~~~~~~~~~~

Probably needs some ui.h header similar to hybris/include/hybris/gralloc/gralloc.h to silence the warnings.

@krnlyng
Copy link
Member

krnlyng commented Jan 20, 2023

Can you fix those? Thanks

erfanoabdi and others added 4 commits January 20, 2023 16:19
…traction

This is expected to help in cases where device does not have a gralloc1
HAL that can be dlopened by libhybris (noticed on devices shipped with
Android 11).
Depends on 39521d86 and needed on devices without loadable gralloc HAL
@mlehtima mlehtima merged commit 351f923 into libhybris:master Jan 20, 2023
FakeShell added a commit to AlpHybris/libhybris that referenced this pull request Apr 4, 2023
This reverts commit 351f923, reversing
changes made to dc0ee34.
FakeShell added a commit to AlpHybris/libhybris that referenced this pull request Apr 8, 2023
FakeShell added a commit to AlpHybris/libhybris that referenced this pull request Apr 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants