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

dont work in windows 10 arm #628

Closed
OElabs-official opened this issue Aug 18, 2021 · 13 comments
Closed

dont work in windows 10 arm #628

OElabs-official opened this issue Aug 18, 2021 · 13 comments
Labels
native-glium Relates to running egui_glium on native

Comments

@OElabs-official
Copy link

tested with snapdragon 850 && 810 CPU (galaxy book 2 / Lumia 950 XL)
gui force closed.

@emilk emilk added the native-glium Relates to running egui_glium on native label Aug 21, 2021
@TobTobXX
Copy link
Contributor

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

@emilk
Copy link
Owner

emilk commented Oct 17, 2021

@OElabs-official does the glium examples work? does the glow examples work?

@OElabs-official
Copy link
Author

@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

@emilk
Copy link
Owner

emilk commented Oct 18, 2021

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.

@OElabs-official
Copy link
Author

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.
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 ? .

@AlexApps99
Copy link
Contributor

AlexApps99 commented Oct 19, 2021

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.

@emilk
Copy link
Owner

emilk commented Oct 19, 2021

@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
Copy link
Author

OElabs-official commented Oct 20, 2021

@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?

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

@OElabs-official
Copy link
Author

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.

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'

@AlexApps99
Copy link
Contributor

What is glow-main/examples/howto?
None of the examples we provide link to SDL2, are you sure that even has egui in it?

@AlexApps99
Copy link
Contributor

AlexApps99 commented Oct 21, 2021

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.

@AlexApps99
Copy link
Contributor

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.

@emilk
Copy link
Owner

emilk commented Dec 29, 2023

The glium backend is gone, and egui no longer use an sRGB framebuffer, so I'm closing this

@emilk emilk closed this as completed Dec 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
native-glium Relates to running egui_glium on native
Projects
None yet
Development

No branches or pull requests

4 participants