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

GL failing to run on halium mobile linux #6984

Open
luigi311 opened this issue Jan 24, 2025 · 1 comment
Open

GL failing to run on halium mobile linux #6984

luigi311 opened this issue Jan 24, 2025 · 1 comment
Labels
api: gles Issues with GLES or WebGL area: correctness We're behaving incorrectly help required We need community help to make this happen. type: bug Something isn't working

Comments

@luigi311
Copy link

luigi311 commented Jan 24, 2025

Description
I am unable to run wgpu on a halium linux device. I am testing with a FuriLabs FLX1 which has a mediatek dimensity 900 and has support for opengl es but it seems to fail to run in WGPU. It is able to run glxgears perfectly but WGPU fails to run. I have also tested iced examples and they only run when i force WGPU to use an invalid render, WGPU_BACKEND=blah, causing iced to software render instead.

Repro steps

  1. cargo run --bin wgpu-examples shadow
  2. dead

Expected vs observed behavior
I expect the examples to render using the GL/GLES backend but instead it fails with a

wgpu_examples::framework] Initializing wgpu...
line 2: 80477 Segmentation fault      (core dumped)

error which used to be the following on the v22 branch and is what appears in iced

khronos-egl-6.0.0/src/lib.rs:1184:42L called `Option::unwrap()`

On the v22 branch wgpu_info also progressed further and displayed the following

[2025-01-24T05:10:28Z INFO  wgpu_core::instance] Adapter Gl AdapterInfo { name: "Mali-G68 MC4", vendor: 5045, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "OpenGL ES 3.2 v1.r32p1-01eac0.b8cf1793b1173c0bb23abcfef1974de4", backend: Gl }
[2025-01-24T05:10:28Z TRACE wgpu_core::storage] User is inserting AdapterId(0,1,gl)
[2025-01-24T05:10:28Z TRACE wgpu_core::instance] Adapter::drop Id(0,1,gl)
[2025-01-24T05:10:28Z TRACE wgpu_core::storage] User is removing AdapterId(0,1,gl)
[2025-01-24T05:10:28Z TRACE wgpu_core::global] Global::drop
Adapter 0:
                 Backend: Gl
                    Name: Mali-G68 MC4
                VendorID: 0x13B5
                DeviceID: 0x0
                    Type: IntegratedGpu
                  Driver: <empty>
              DriverInfo: OpenGL ES 3.2 v1.r32p1-01eac0.b8cf1793b1173c0bb23abcfef1974de4
        WebGPU Compliant: false

and on v24 it displays

thread 'main' panicked at /home/furios/.cargo/registry/src/index.crates.io-6f17d22bba15001f/env_logger-0.11.6/src/fmt/mod.rs:185:18:
already borrowed: BorrowMutError

Extra materials
Attached are wgpu_info and shadows ran with RUST_LOG=trace. What seems weird to me is it says Driver: for the gl device but everything else seems valid such as the opengl es version.

Platform
Device: FuriLabs FLX1
Kernel: 4.19
Kernel Type: Downstream Halium based utilizing android drivers
WGPU Version: 24.0.1 compiled natively from branch v24 f6a4834
OS: Furios (Debian derivative)
Display: Wayland
Opengl ES Version: 3.2

wgpu_example.txt
wgpu_info.txt
glxinfo.txt

@luigi311 luigi311 changed the title GL: Driver: <Empty> and failing to run on halium mobile linux GL failing to run on halium mobile linux Jan 24, 2025
@cwfitzgerald cwfitzgerald added type: bug Something isn't working help required We need community help to make this happen. area: correctness We're behaving incorrectly api: gles Issues with GLES or WebGL labels Jan 24, 2025
@luigi311
Copy link
Author

luigi311 commented Jan 24, 2025

After discussing with the FuriLabs folks they mentioned it could potentially be caused by this ticket on the libhybris side that is causing issues with TLS in GL but aren't completely sure if the two are related.
libhybris/libhybris#559

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: gles Issues with GLES or WebGL area: correctness We're behaving incorrectly help required We need community help to make this happen. type: bug Something isn't working
Projects
Status: Todo
Development

No branches or pull requests

2 participants