Closed OElabs-official closed 10 months ago
I can confirm that it works (almost perfectly) on a Pinephone on Linux. So ARM can work.
Specs:
4 x ARM Cortex A53 cores @ 1.152 GHz ARM Mali 400 MP2 GPU
@OElabs-official does the glium examples work? does the glow examples work?
no, tested glium toturial-01, works on host (win 10 x64 lstc (cargo run tested Ok),but force closed on target "cargo build --release --target=aarch64-pc-windows-msvc" >>
thread 'main' panicked at 'called Result::unwrap()
on an Err
value: GlutinCreationError(NoAvailablePixelFormat)', src\main.rs:8:60
note: run with RUST_BACKTRACE=1
environment variable to display a backtrace
Please open a issue on the glium
repo then. It would be great if the glow
examples work (please test!), because that is likely the future backend of eframe.
Please open a issue on the
glium
repo then. It would be great if theglow
examples work (please test!), because that is likely the future backend of eframe. sorry , I tested glow but cannt build it in windows or linux host, windows host reported "sdl2" error and I cannt fix it, linux cannt build it because it seems no msvc tools to do that on linux ? .
That's quite crytic, was there anything else to the errors than that? egui_glow
, like egui_glium
, uses winit
and glutin
for windowing and context. There shouldn't be any SDL2 errors, and if there are, you need to provide more details about it.
As for MSVC on Linux, you are right that there is practically no way to use Microsoft's tooling (MSVC) on Linux. You can, however, use MinGW ( x86_64-pc-windows-gnu
) on Linux, but personally I recommend just building on Windows for a Windows target, as MinGW binaries can't link with MSVC libraries.
@OElabs-official please check out latest master
of egui and then go to egui_demo_app/Cargo.toml
and change lines 13-14 to read:
# eframe = { version = "0.14.0", path = "../eframe" }
eframe = { version = "0.14.0", path = "../eframe", default-features = false, features = ["default_fonts", "egui_glow"] }
(flip which line is commented)
Then run (cd egui_demo_app && cargo run --release)
- does that work for you?
@OElabs-official please check out latest
master
of egui and then go toegui_demo_app/Cargo.toml
and change lines 13-14 to read:# eframe = { version = "0.14.0", path = "../eframe" } eframe = { version = "0.14.0", path = "../eframe", default-features = false, features = ["default_fonts", "egui_glow"] }
(flip which line is commented)
Then run
(cd egui_demo_app && cargo run --release)
- does that work for you?
err while >> --release
error: unused import: glutin::platform::windows::WindowBuilderExtWindows
--> egui_glow\src\epi_backend.rs:4:5
|
4 | use glutin::platform::windows::WindowBuilderExtWindows;
so i deleted this line; works fine on host <x86-64,win 10>;
but same problem on target
Err >> NoAvailablePixelFormat
egui_glow\src\epi_backend.rs:48:14
That's quite crytic, was there anything else to the errors than that?
egui_glow
, likeegui_glium
, useswinit
andglutin
for windowing and context. There shouldn't be any SDL2 errors, and if there are, you need to provide more details about it.As for MSVC on Linux, you are right that there is practically no way to use Microsoft's tooling (MSVC) on Linux. You can, however, use MinGW (
x86_64-pc-windows-gnu
) on Linux, but personally I recommend just building on Windows for a Windows target, as MinGW binaries can't link with MSVC libraries.
Compiling howto v0.1.0 (D:\code-x\download\glow-main\examples\howto)
error: linking with link.exe
failed: exit code: 1181
|
= note: "C:\Program Files\Microsoft Visual Studio\2022\Preview\VC\Tools\MSVC\14.30.30704\bin\HostX64\arm64\link.exe" "/NOLOGO" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\howto.howto.31676fc3-cgu.0.rcgu.o" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\howto.howto.31676fc3-cgu.1.rcgu.o" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\howto.howto.31676fc3-cgu.10.rcgu.o" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\howto.howto.31676fc3-cgu.11.rcgu.o" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\howto.howto.31676fc3-cgu.12.rcgu.o" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\howto.howto.31676fc3-cgu.13.rcgu.o" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\howto.howto.31676fc3-cgu.14.rcgu.o" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\howto.howto.31676fc3-cgu.15.rcgu.o" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\howto.howto.31676fc3-cgu.2.rcgu.o" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\howto.howto.31676fc3-cgu.3.rcgu.o" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\howto.howto.31676fc3-cgu.4.rcgu.o" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\howto.howto.31676fc3-cgu.5.rcgu.o" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\howto.howto.31676fc3-cgu.6.rcgu.o" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\howto.howto.31676fc3-cgu.7.rcgu.o" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\howto.howto.31676fc3-cgu.8.rcgu.o" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\howto.howto.31676fc3-cgu.9.rcgu.o" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\howto.2go375xfnqsfo67w.rcgu.o" "/LIBPATH:D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps" "/LIBPATH:D:\code-x\download\glow-main\target\release\deps" "/LIBPATH:C:\Users\lstsw\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\aarch64-pc-windows-msvc\lib" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\libsdl2-0a65ea06ca7aa7f8.rlib" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\libsdl2_sys-60ff34fa3cf8f092.rlib" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\libbitflags-68397fb82e4c2d50.rlib" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\liblazy_static-fa0a8204b1363ea6.rlib" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\liblibc-b04ac38ad0655cf4.rlib" "D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\libglow-bb8fe772e2a9dd4e.rlib" "C:\Users\lstsw\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\aarch64-pc-windows-msvc\lib\libstd-422722d7e4de43ac.rlib" "C:\Users\lstsw\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\aarch64-pc-windows-msvc\lib\libpanic_unwind-5f96c0cd1a06d736.rlib" "C:\Users\lstsw\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\aarch64-pc-windows-msvc\lib\libstd_detect-0d20309aeb3e3f9e.rlib" "C:\Users\lstsw\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\aarch64-pc-windows-msvc\lib\librustc_demangle-a45db52b7eb24207.rlib" "C:\Users\lstsw\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\aarch64-pc-windows-msvc\lib\libhashbrown-d435d008c09dd87d.rlib" "C:\Users\lstsw\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\aarch64-pc-windows-msvc\lib\librustc_std_workspace_alloc-2d9cba5253c2620e.rlib" "C:\Users\lstsw\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\aarch64-pc-windows-msvc\lib\libunwind-0f9413315ea00ab9.rlib" "C:\Users\lstsw\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\aarch64-pc-windows-msvc\lib\libcfg_if-d670846406c82876.rlib" "C:\Users\lstsw\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\aarch64-pc-windows-msvc\lib\liblibc-8a66fc70e09558d8.rlib" "C:\Users\lstsw\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\aarch64-pc-windows-msvc\lib\liballoc-e5d1b39ef5bf3e1d.rlib" "C:\Users\lstsw\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\aarch64-pc-windows-msvc\lib\librustc_std_workspace_core-a2ac385b016ee46c.rlib" "C:\Users\lstsw\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\aarch64-pc-windows-msvc\lib\libcore-3412b2e61c504230.rlib" "C:\Users\lstsw\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\aarch64-pc-windows-msvc\lib\libcompiler_builtins-a8cdda17f6347e22.rlib" "SDL2.lib" "kernel32.lib" "ws2_32.lib" "advapi32.lib" "userenv.lib" "kernel32.lib" "msvcrt.lib" "/NXCOMPAT" "/LIBPATH:C:\Users\lstsw\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\aarch64-pc-windows-msvc\lib" "/OUT:D:\code-x\download\glow-main\target\aarch64-pc-windows-msvc\release\deps\howto.exe" "/OPT:REF,ICF" "/DEBUG" "/NATVIS:C:\Users\lstsw\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\intrinsic.natvis" "/NATVIS:C:\Users\lstsw\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\liballoc.natvis" "/NATVIS:C:\Users\lstsw\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\libcore.natvis" "/NATVIS:C:\Users\lstsw\.rustup\toolchains\stable-x86_64-pc-windows-msvc\lib\rustlib\etc\libstd.natvis"
= note: LINK : fatal error LNK1181: cannot open input file 'SDL2.lib'
What is glow-main/examples/howto
?
None of the examples we provide link to SDL2, are you sure that even has egui in it?
For NoAvailablePixelFormat
, see glutin/ISSUES.md
.
Essentially, your graphics drivers do not support the OpenGL configuration that egui requires (probably to do with the sRGB framebuffer).
The only way to fix that, is to try update them.
What is
glow-main/examples/howto
? None of the examples we provide link to SDL2, are you sure that even has egui in it?
Sorry for my confusion, I managed to find the example of glow
you were using.
Essentially, the problem is that the example is trying to link to SDL2, as it uses SDL2 for windowing/context, instead of what egui uses, which is glutin. Your system does not have SDL2 installed. See here on how to install it.
I need to emphasize that this will not help you get egui working, as egui does not use SDL2, and either way, the problem with intializing OpenGL context would persist for any context library, so don't bother installing SDL2 and getting the example working unless you really want to.
The only fix for this is to make a version of egui that does not use an sRGB framebuffer, or for your drivers to support it.
The glium backend is gone, and egui no longer use an sRGB framebuffer, so I'm closing this
tested with snapdragon 850 && 810 CPU (galaxy book 2 / Lumia 950 XL) gui force closed.