macroquad icon indicating copy to clipboard operation
macroquad copied to clipboard

Broken on Linux Mint

Open Wandalen opened this issue 3 years ago • 7 comments

On Linux I have:

symbol lookup error: target/debug/sophya-rust-challenge: undefined symbol: glGetQueryObjectui64v

That didn't help:

sudo apt install pkg-config libx11-dev libxi-dev libgl1-mesa-dev libasound2-dev

My Linux

uname --all
Linux kos-mint 5.4.0-89-generic #100-Ubuntu SMP Fri Sep 24 14:50:10 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Any suggestion?

Wandalen avatar Jan 20 '22 05:01 Wandalen

I found similar issue: https://github.com/isl-org/Open3D/issues/4492#issuecomment-1001775307

It looks like it might be a broken GPU driver or incompatible GPU adapter. Could you provide more details about the GPU(s) in your system and the version of drivers installed?

not-fl3 avatar Jan 20 '22 13:01 not-fl3

Hello! Sure. How?

OpenGL renderer string: AMD RAVEN (DRM 3.40.0, 5.4.0-96-generic, LLVM 10.0.1)                                                                                                                                                           
OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.1.6                                                                                                                                                                      
OpenGL core profile shading language version string: 4.60

Is that enough?

I commented out function glGetQueryObjectui64v and it works without it. I suspect it is not a safe assumption that glGetQueryObjectui64v is implemented for all GPUs. Loading glGetQueryObjectui64v dynamically ( instead of statical binding ) would fix the problem.

Note: I have a modern, but internal AMD GPU on the laptop. Works fast and I didn't encounter any problem with Vulkan.

Wandalen avatar Jan 21 '22 06:01 Wandalen

Same problem here with a AMD Radeon 6600XT.

@Wandalen How or where did you comment out function glGetQueryObjectui64v. Can you describe how to do it?

Thank you

raldecoa avatar Jan 28 '22 11:01 raldecoa

Hello @raldecoa, sure! Have a look. There are few lines. And after that I patched my application adding this lines to Cargo.tom file:

[patch.crates-io]
miniquad = { git = 'https://github.com/Wandalen/miniquad', branch = 'master' }

Wandalen avatar Jan 28 '22 12:01 Wandalen

That's an interesting problem! glGetQueryObjectui64v is a part of a standard and should be available since GL3.2: https://www.khronos.org/registry/OpenGL-Refpages/gl4/html/glGetQueryObject.xhtml

In good news - all GL functions are going to be nicely dynamically loaded very very soon, in a new miniquad version I am working on, and therefore adding a workaround just for a bunch of cards will be way easier.

not-fl3 avatar Jan 28 '22 16:01 not-fl3

Only that is not enough for fixing this problem. Do you want me to open a PR for the rest of a solution of the problem?

Wandalen avatar Jan 28 '22 16:01 Wandalen

Thank you, @Wandalen.

I arrived here because I'm getting the same error trying to import any version open3D after 0.10

I believe it may be related to the use of AMD graphic proprietary drivers.

raldecoa avatar Jan 28 '22 16:01 raldecoa