computermouth / c1k3

MIT License
21 stars 0 forks source link

Fails to build on Kubuntu #1

Open hinell opened 1 year ago

hinell commented 1 year ago
SDL failed to create a window!
SDL_Error: Could not create GLES window surface

Steps to reproduce

Apply this small patch: patch.diff.txt

System

Ubuntu 23.04
gcc version 12.2.0 
GNU ld (GNU Binutils for Ubuntu) 2.40
libgles2/lunar 1.6.0-1
computermouth commented 1 year ago

I fired up a virtual machine with Kubuntu, and was unable to reproduce your results.

I did have some issues with the mouse

It's possible some or all of this could be attributed to the virtualization layer though. Could you tell me more about your setup? Are you on i386, amd64, or perhaps arm or something?

Also, are you using a proprietary graphics driver? You can use glxinfo to get more information about which graphics driver is in use.

hinell commented 1 year ago
x86-64, no virtualization used.
Kubuntu 23.04
Linux 6.2.0-25-generic x86_64 GNU/Linux
Operating System: Kubuntu 23.04
KDE Plasma Version: 5.27.4
KDE Frameworks Version: 5.104.0
Qt Version: 5.15.8
Kernel Version: 6.2.0-25-generic (64-bit)
Graphics Platform: X11
Graphics Processor: NVIDIA GeForce GT 1030/PCIe/SSE2
Manufacturer: Gigabyte Technology Co., Ltd.

glxinfo output:

OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce GT 1030/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 525.125.06
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6.0 NVIDIA 525.125.06
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 525.125.06
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
computermouth commented 1 year ago

Hmm, judging by this 4.6.0 NVIDIA 525.125.06, I'd say it's the proprietary driver.

I don't have any Nvidia hardware to test against. I wonder if you'd be willing to try the nouveau driver, or perhaps live-boot a distro which does not include the proprietary driver, and test again.

hinell commented 1 year ago

Let's see if I have time for that. Afaik, libgles2 should work with proprietary drivers as well.

computermouth commented 1 year ago

Agreed that it should. You could also try something like es2gears or $ gcc experiments/sdl2gles2tri.c -lSDL2 -lGLESv2 && ./experiments/a.out to test other programs which utilize gles2