-
-
Notifications
You must be signed in to change notification settings - Fork 1k
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
OpenGL ES 3: Fail to start on aarch64: [glfw error 65543] #2790
Comments
Is this crash new? Did previous versions of kitty work? |
This is installing on a new system. I normally use kitty on an x86 machine with OpenGL, not aarch64 and OpenGL ES 3 |
I'm not sure if OpenGL ES is supported but if it's not, I would imagine, that it wouldn't be too difficult to support considering that OpenGL ES 3.0 is similar to OpenGL 3.3, which is supported. |
Much thanks, my experience with OpenGL is limited. Alacritty has a similar issue FYI, so there might be some important information in that issue alacritty/alacritty#2773 |
@Luflosi that check cannot be moved up, since glad requires a current OpenGL context to load. As for the actual issue, it might be possible to support OpenGL ES 3, but it would require someone with the hardware to contribute code and test things. To start with you will want to set the glfw context creation hint to use opengl ES. https://www.glfw.org/docs/3.3/window_guide.html#window_hints_ctx |
I spent some time trying to implement support in Luflosi@b692da6 but I got stuck trying to replace |
Maybe it did work correctly but I got stuck after that. Keep in mind that I don't really know OpenGL, which doesn't exactly make this easier... |
I am definitely interested in trying this out more. I will test out that commit and build on it if I can and report back! |
I don't have any special hardware. I ran kitty in an LXC container on my server since I'm using macOS as my desktop OS, which only supports the non-ES version of OpenGL. When I execute the unmodified kitty with |
Thanks for looking into it, @Luflosi. I would like to use Kitty on my Raspberry Pi 4 which supports OpenGL ES 3.1. I have tried your branch and got the following error:
The function gets called in It looks like |
I also got a Raspberry Pi 4 a couple days ago. I might try to get kitty to run on it but don't hold your breath. |
I was quickly into testing your commit, but realized I need to include the 20.1 version of mesa with the debug flag in my nix derivation, and since that mesa for me is an overlay, well.. i'm still learning nix. will report back in another week or 2 when I figure out how to do that properly... |
I'm just here with a similar issue on Raspberry Pi 4, with 64 bit raspbian, I'll post the error I got here shortly. Have not tried 32 bit just yet. A version of the GLX components was too low to allow kitty to run. I realize 64 bit raspbian is experimental, but I will gather info on the 64 bit enabled, 32 bit userland version as well and report back with glxinfo shortly. |
I didn't get the specific error, but the opengl version is less than version 3.3, so kitty won't work on the 64 bit raspbian (raspberry pi OS with 64 bit userland experimental) |
@sigkill please read all comments in this issue, they should explain some things. |
a solution for this issue would be really helpful to finally utilize kitty on minimalist raspi4 arm64 wayland setups. right now now kitty doesn't start because of the already reported OpenGL initialisation obstacles, but the very well support GLES 3.1 capabilites of raspberry pi 4 resp. V3D/mesa and on many similar devices should be sufficient for an application like this.
|
Workaround: $ LIBGL_ALWAYS_SOFTWARE=1 kitty |
Any status on this, its been a while since anything regarding this was changed. It shoudnt be to hard to add opengl es support, though I dont have the experience to do so. |
There is another workaround for the PineBook Pro (and other boards with the same SOC) You can enable experimental support for OpenGL 3.3 on the GPU. Just add this line: It's working for me, and it's fast. The only thing that's missing is that there is no highlighting when I select text on the terminal. |
I have a wired issue on the rapi4 where I can not start kitty on its own or trough lxterminal. But I can start it trough alacritty... I have the OpenGl mismatch too since I also use arrch64 of the Rasbian Build Questions why the f** does it work when I start it inside of alacritty. |
I am also very interested on this, as it's the final obstacle to run this on the Pi4 on Wayland... |
You can run with software rendering, the performance is pretty good |
@dominikhaid — I see this exact problem on my RPi4 running the current aarch64 release. The desktop icon fails to bring up kitty (though can't see any error even if the desktop-icon enables to run via a terminal). But with lxterminal the error is clear: lxterminal:
alacritty:
Alacritty enables V4.5 — using In summary alacritty auto-falls-back to the software path, whereas kitty doesn't. |
Sure you can. You can set env vars in .desktop files, or alternately make a launcher script that sets the env var and then runs kitty |
Thanks, I'll try a launcher script. |
Just in case, I also tried to see if OpenGL over Vulkan could work, but no luck (it supports only up to 2.1 as well):
|
Hi, I ran into this issue as well. May I ask do we know the exact cause and how to fix yet? 😭 . I'm running aarch64 nixos linux VM on an M1 mac. |
@sandangel — did you try setting |
That works but it seems like a hack. So I just wonder if we have found the root cause yet or not. Is it because of a bug in Kitty or a bug in the system? |
Kitty requires a minimal level of OpenGL support which at least the Raspberry Pi 4 does not support, there is no bug here as far as I understand it (read this issue for more details). For an M1 mac I really doubt you're going to have any hardware rendering or compliant OpenGL for years (without open-source devs having to reverse engineer things), blame Apple for either not releasing open-source drivers and forcing their own proprietary GPU system. Now perhaps some sort of OpenGL > Vulkan > Metal shim and some magic to expose that in a VM, but good luck with that... |
@iandol Shouldn't Zink (OpenGL on Vulkan) work on the Pi4 using latest MESA? (Without relying to software GL, I mean...) |
@vanfanel - I tried using the default MESA and Zink+Kitty didn't work, and don't have time to compile the latest MESA (I wish we had something like the PPA's from Ubuntu for that). I don't quite understand how, if the GPU itself doesn't support an Open GL feature, how Vulkan can somehow make it work; either the hardware supports it or it doesn't? |
@iandol My understanding (totally hypothetical) is that Zink could potentially "expose" an OpenGL version higher than the "native" supported version, since Vulkan is a different API. |
Well, let's hope you're right! 🤞 |
I'm running a Fedora Linux VM in M1 Mac, which has OpenGL support via virio-ramfb-gl. Running glxinfo also showing Accelerated: yes |
I tried the wezterm prebuilt binary, it also has the same issue with missing libegl error. However, when I build wezterm from source, I was able to run it under Sway (not Gnome) for Wayland and Gnome Xorg. So I think the problem here is not the system, but kitty failed to find the libegl. I think if I build kitty from source it could work. But I will go with wezterm for now. |
second time ive had this issue in a year or so, is the |
Oh, software rendering is an utter disaster performance wise, the CPU use of kitty is through the roof, makes it unusable on RPi4... |
kitty was just causing a bunch of problems, also being somewhat bloated, and using stupendus amounts of RAM, even with --single-instance enabled. (kovidgoyal/kitty#2790 being one of many)
This is not even working for me. It's just segfaulting |
Describe the bug
Fails to start
To Reproduce
$ kitty
Expected behavior
Startup
Screenshots
Environment details
OS: NixOS 20.03 aarch64
on Pinebook Pro
RK-3399 and Mali-T860
Panfrost on Mesa 20.1, experimental OpenGL ES 3.0 support
Output of kitty --debug-config
Additional context
Is OpenGL ES 3.0 not enough to support kitty? If this isnt a bug, should there not be errors here?
The text was updated successfully, but these errors were encountered: