ruffle-rs / ruffle

A Flash Player emulator written in Rust
https://ruffle.rs
Other
15.07k stars 777 forks source link

No longer runs on the Raspberry pi 4 #13890

Open coreybruce opened 8 months ago

coreybruce commented 8 months ago

Describe the bug

I compiled the latest version of ruffle from the git repo and I am unable to run ruffle as it thinks I don't have hardware acceleration

./ruffle_desktop
Error: Ruffle requires hardware acceleration, but no compatible graphics device was found supporting Vulkan, DirectX 12, DirectX 11, Metal or Web GPU

Expected behavior

Works as I have use previous compiled and used Ruffle on my pi 4 with no issues

Affected platform

Desktop app

Operating system

Manjaro Arm64

Browser

No response

Additional information

No response

Fancy2209 commented 8 months ago

Wasn't ruffle -g gl supported on Linux?

coreybruce commented 8 months ago

Wasn't ruffle -g gl supported on Linux?

Yes OpenGL is supported on Linux, with the current source code it now thinks there isn't any on the pi 4 when it has opengl 3.1 ES

torokati44 commented 8 months ago

Try running it as: ./ruffle_desktop -g gl

coreybruce commented 8 months ago

Try running it as: ./ruffle_desktop -g gl

Yeah it works if you do that so it's definitely a bug if it assumes that there is no hardware acceleration by default and you have to force the gl option

coreybruce commented 8 months ago

I assume the default is vulkan which doesn't work on the pi 4 when it should be opengl, this would be fine on the pi 5 but not the pi 4 and older

coreybruce commented 5 months ago

New defaults on 2024-01-22 causes the same issue again, also noticed a few cargo warnings but I also saw that on x64

Cargo command log

panicked at /home/corey/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-core-0.19.0/src/instance.rs:521:39:
called `Option::unwrap()` on a `None` value

Please report this to us so that we can fix it. Thank you!
Pressing Yes will open a browser window.

cargo run --release --package=ruffle_desktop
warning: /home/corey/stuff/projects/ruffle/swf/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/web/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/video/software/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/video/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/desktop/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/ruffle_gc_arena/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/render/canvas/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/tests/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/tests/framework/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/core/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/exporter/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/tests/input-format/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/tests/socket-format/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/render/naga-agal/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/render/naga-pixelbender/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/core/macros/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/web/packages/extension/safari/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/wstr/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/web/common/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/render/webgl/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/tests/mocket/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/render/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/scanner/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/core/build_playerglobal/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
warning: /home/corey/stuff/projects/ruffle/render/wgpu/Cargo.toml: unused manifest key `lints` (may be supported in a future version)

this Cargo does not support nightly features, but if you
switch to nightly channel you can pass
`-Zlints` to enable this feature.
    Finished release [optimized] target(s) in 0.83s
     Running `target/release/ruffle_desktop`
thread 'main' panicked at /home/corey/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-core-0.19.0/src/instance.rs:521:39:
called `Option::unwrap()` on a `None` value
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Aborted (core dumped)

Ruffle_desktoplog:

[corey@corey-pi4 release]$ ./ruffle_desktop
thread 'main' panicked at /home/corey/.cargo/registry/src/index.crates.io-6f17d22bba15001f/wgpu-core-0.19.0/src/instance.rs:521:39:
called `Option::unwrap()` on a `None` value
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Aborted (core dumped)

It's setting itself to none instead of the renderer that is supported on the hardware which is gl for the pi 4, obviously setting -g gl allows it to run but it should be defaulting like it should be.