Tried to compile a newer version of i3
, but it requires OpenGL 3.3 – the A06 image only comes with 3.1 support. Any ideas?
Is there something with the old version of i3
preventing you from using it? That’s the easiest route if it is acceptable to you.
The Mali T864 is limited to OpenGL 3.1 and OpenGL ES 3.1 according to the Mesa/Panfrost docs. Panfrost — The Mesa 3D Graphics Library latest documentation
It is possible there are features that i3
picked up in OpenGL 3.3 that could be done in ES 3.1, as ES 3.1 != GL 3.1 in terms of feature set and is more advanced in some ways and less in others. But actually porting i3
to ES is likely a significant amount of work (but I suspect would be welcomed by all ARM uses, not only A-06/Mali)
my bad, i meant picom
, the new backends require 3.3. damn.
i suppose i could attempt a port, although i haven’t done much opengl work
Ah that makes much more sense. I haven’t touched i3
in a long time.
There are a lot of compositors for X. I used to use xcompmgr on low end desktops a very long time ago, mostly with WindowMaker as my WM. If you’re not overly particular about what desktop effects are available xrender based backend does enough to get transparent windows and drop shadows to work.
A picom port to GLES would likely be very useful. Looking at the man page it appears to use Xrender by default which should work fine and doesn’t require OpenGL support. picom/man/picom.1.asciidoc at next · yshui/picom · GitHub There is also a ‘glx’ back-end which only requires OpenGL 2.0
So I’m a little confused where your 3.3 requirement comes from.
Architecturally the Mali GPU is going to perform better under Wayland. A wlroots based WM like Sway would get you close to the experience of i3+picom.
I’m currently using xrender, glx offers better blur effects, hence my desire to switch. My source for the requirement is the picom wiki: Backends · yshui/picom Wiki · GitHub. Also that it doesn’t work on the uConsole with 3.1.
I haven’t looked into sway in a long time, mostly because I use nvidia with proprietary modules (blasphemy, I know) on desktop, which sway doesn’t support.
Oof ok. those guys didn’t update their manpage/asciidoc.
Effort would be to
- convert all shaders from 3.30 to 1.40. i.e.
#version 140
see every one of those GLSL macros in picom/src/backend/gl/shaders.c at next · yshui/picom · GitHub and rewrite them. Some of these are already very close, such as they use the deprecatedgl_Position
even though they claim to be GLSL 330 - change the init code to request a 3.1 context (change
GLX_CONTEXT_MINOR_VERSION_ARB, 3,
to 1), see picom/src/backend/gl/glx.c at next · yshui/picom · GitHub
Maybe a few hours of work if that’s all that’s needed. But potentially a fools’ errand that isn’t ever going to work. Impossible to know without trying
140? do you mean 310?
edit: nevermind
Update! I’ve gotten picom
to render 1 frame with the GLX backend successfully. Bad news though: it only renders the one, and then the display freezes until picom
exits. There isn’t any debug info available either with MESA_DEBUG=flush
. I’ll try a different MESA_DEBUG
value.
Update 2: I disabled vsync
and it is now successfully rendering, although quite slowly. My blur-size
is 32, so that is somewhat to be expected. I’ll check my gpu frequency too.
We’re somewhat out here, though even without blur it’s still quite laggy. Maybe due to logging?