skia-python v87.9rc1 and v138.0rc1 is out (Re: preliminary plan & schedule for the next stable skia-python release (in a month's time))
Hin-Tak Leung
htl10 at users.sourceforge.net
Wed Jun 4 22:33:26 UTC 2025
m138 includes a lot of changes in the CI build machinery, OpenGL, shader effects, and API coverage closer to other Skia bindings (Skia4Delphi and SkiaSharp). We now offers arm64 window wheels for windows 11. On Linux, we now offer OpenGL initializaion with EGL as an option (in addition to the GLX default). IMPORTANT: The presence of libEGL.so (part of mesa-libEGL / libglvnd-egl) is now a requirement on Linux.
arm64 windows requires Numpy 2.3.0rc1 . (I submitted the arm64 windows CI build pull)
There are examples of using OpenGL with skia-python in GLFW, SDL2, SDL3, WX, GTK3, GTK4, QT5, QT6 at https://github.com/HinTak/skia-python-examples/ . As noted earlier, OpenGL with skia-python under GTK4 (even in X11) requires the EGL init code. There is a QT6 regression bug filed https://bugreports.qt.io/browse/QTBUG-137158 .
Longer details at https://github.com/kyamagu/skia-python/blob/main/relnotes/README.m138.md
v87.9rc1 is out with just the arm64 windows addtion, and the EGL enhancement (backported from skia m122/m23-ish ...) on top of the previous v87 release.
As I wrote a while ago, when numpy 2.3.0 proper comes out, the last of v87 will be out, and depending on when, a skia-python v138.1 / v139/v140 will be the next release. There are still some upgrade incompatibility between v87 and v13x, YMMV.
Latest M138 tests: 2199 passed, 104 skipped, 18 xfailed, 26 warnings
M87: 2173 passed, 27 skipped, 8 xfailed
M87 went +2 from two new EGL/GLX tests from 2171.
About 100 new tests have been added and another ~70 old one skipped (i.e. where the incompatibility is) between m87 and m138.
My private repo has 2229 / 98 / 20 / 37 . I think the extras are with extra test files.
On Thursday 24 April 2025 at 04:04:31 BST, Hin-Tak Leung <htl10 at users.sourceforge.net> wrote:
Hi,
The current idea is to just call the skia-python release which adds windows on ARM64 support (either v138 in about 5 weeks' time, or v140 in 3 months' time) the next stable. There will be one more v87 release, v87.9, just before that, with some aarch64 linux updates, with or without ARM64 windows support. The main reason is that it is increasingly hard trying to build the 4-year-old upstream m87 on modern compilers / platforms / newer python versions. It has been quite painful just continuing aarch64 linux builds, and it is not clear at this point whether m87 on ARM64 windows is feasible. Upstream Google never supported skia m87 on ARM64 linux or ARM windows, and upstream m87 was end-of-life over 4 years ago anyway. The numbering is about a month apart, so 138 - 87 is 51, or a bit more than 4 years (4x12=48). Typically, Google supports about 6 versions / 6 months. The numbering of Skia is identical with Chrome's - Chrome 136.x.y.z is built with Skia m136, etc.
The skia-python m1xx series is currentlly v136.b13 , the 13th "beta" - it is called "beta" largely, because it is not 100% ( I think it is about 93%, with a small rarely used / obscure / withdrawn %) compatible / upgradable from m87 . Originally it was thought we'd continue for another year to about v15x and ~20th "beta" to get closer to smoother compatibility / upgradability with few surprises. Adding new platform seems to be a good clean exscue for breaking some backward compatibility / upgradability.
Anyway, there are some significant new functionalilty - SVG support (and OT-SVG), COLRv1, runtime shader effects. etc.
There are two new examples "SkSL_ShaderMulti+SDL2.py" and "SkSL_Mouse+SDL2.py" landed in
https://github.com/HinTak/skia-python-examples/ , which tries to re-implements most of the animations on https://shaders.skia.org/ - have a go a running the former - it is quite pretty, honest. There will be some update in v138 / v140 to improve running sksl snipplets, unmodied from https://shaders.skia.org , in skia-python. (with v136, there are some sksl adjustments / hacks which I hope to remove).
I'd say, people give it some thought in upgrading to v1xx if they are still using v87. File issues - preferably with patches for fixes :-) - if there are important things missing. If you use skia-python for anything corporate / official / serious, please also consider commissioning / sponsoring me to finish off that last few (7?) %.
FWIW, I think WebkitGTK switching from Cairo to Skia in 2.46 about 6 months ago(?) is poor towards the eco-system. Anyway.
Thanks for reading so far.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cairographics.org/archives/cairo/attachments/20250604/7911020e/attachment.htm>
More information about the cairo
mailing list