OpenGL Canvas not redrawn under Wayland (Issue #25848)

125 views
Skip to first unread message

0mhu

unread,
Oct 1, 2025, 9:20:14 AMOct 1
to wx-...@googlegroups.com, Subscribed
0mhu created an issue (wxWidgets/wxWidgets#25848)

Description

Bug description:

Unfortunately, I'm not able to provide a very good bug description because I'm not able to track down what exactly the problem is. Sorry about that...

I use KiCAD v9.0.4 and experience the following issue:
https://gitlab.com/kicad/code/kicad/-/issues/21089

Kicad uses a https://docs.wxpython.org/wx.ScrolledCanvas.html#wx-scrolledcanvas ScrolledCanvas (I think) to draw a footprint preview using openGL. This openGL rendering howerver does not work. See this screencast: https://gitlab.com/-/project/15502567/uploads/730f2e99e5548710f830485c835322e6/Screencast_From_2025-06-07_15-03-19.mp4

I traced it in Kicad's code down to the point where I see that the pain evewnt of the widget is called as expected and the openGL calls to draw the surface are executed. However nothing happens unless one of hte two things:

  1. The Window is resized
  2. Another GUI element like the dropdown of the zoom selection (see video) covers the canvas and somehow triggers a correct redraw.

KiCAD's development team suggested to report the issue to Mutter. However, the issue persists both on Gnome (using Mutter) and KDE which uses a differnt Wayland compositor. Therefore, I guess it's not a compositor problem.

Can you help me track that down? I'm on these bugs for months and can't find support anywhere.
I don't know, if it's wxWidgets, GDK or anything else and can't spot anything obviously wrong in Kicad either.

Expected vs observed behaviour:

OpenGL view should be correctly rendered

To Reproduce:

Open Kicad under a wayland session and go to the schematic editor -> Assign Footprints -> Select Footprint -> Open Footprint Preview.

Platform and version information

  • wxWidgets version you use: 3.2.8.1
  • wxWidgets port you use: wxGTK
  • OS and its version: Arch, but happens on Ubuntu as well
    • GTK version: 3.24.51
    • Which GDK backend is used: Wayland
    • Desktop environment : Gnome and KDE
    • Current theme: Theme independent.


Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848@github.com>

VZ

unread,
Oct 1, 2025, 9:24:48 AMOct 1
to wx-...@googlegroups.com, Subscribed
vadz left a comment (wxWidgets/wxWidgets#25848)

OpenGL definitely works under Wayland in general, so I suspect this issue is specific to the video card you use. Can you try building wxWidgets 3.3.1 and one of its OpenGL samples, e.g. samples/opengl/cube? Does it work correctly for you?

Also, does this issue happen on other machines?


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3356306574@github.com>

0mhu

unread,
Oct 1, 2025, 9:29:29 AMOct 1
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

Thanks for the answer,

The issue persists on all my systems: An AMD Ryzen with iGPU, a Ryzen with dedicated AMD GPU, an Intel 6th generation with iGPU and on all other PCs of my friends.
One of my systems:

Platform: Arch Linux, 64 bit, Little endian, wxGTK, Wayland, gnome, wayland
OpenGL: Intel, Mesa Intel(R) HD Graphics 530 (SKL GT2), 4.6 (Compatibility Profile) Mesa 25.1.1-arch1.1
Build Info:
    Date: May 21 2025 09:11:42
    wxWidgets: 3.2.8 (wchar_t,wx containers) GTK+ 3.24
    Boost: 1.88.0
    OCC: 7.8.1
    Curl: 8.13.0
    ngspice: 44.2
    Compiler: GCC 15.1.1 with C++ ABI 1020

The problem is: OpenGL in general works. Kicad also uses the same class at different points in the software where it does work. Just this one dialog does not work. I personally don't get it. Under X11 everything works fine. But Arch dropped X for wayland.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3356331380@github.com>

VZ

unread,
Oct 1, 2025, 9:34:39 AMOct 1
to wx-...@googlegroups.com, Subscribed
vadz left a comment (wxWidgets/wxWidgets#25848)

I am afraid we're going to need some way of reproducing the problem in order to be able to debug and potentially fix it. If it works for the other OpenGL windows but not this one, there must be some salient difference between them, but unfortunately I have no idea what could it be...


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3356363707@github.com>

0mhu

unread,
Oct 1, 2025, 9:42:44 AMOct 1
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

Is there anythign I can debug?
I'm not too much into the whole GUI chain and can't really debug that myself. I was just able to see that the redraw event is actually executing and that the glClear() and subsequent drawing commands etc. execute.

Is there a way to pinpoint it to some component? As I said. This is more or less a depserate try to get support for that becasue like all other wayland related issues, I cannot file bug reports because I can't point to specific errors.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3356396425@github.com>

RobertRoeb

unread,
Oct 1, 2025, 1:26:01 PMOct 1
to wx-...@googlegroups.com, Subscribed
RobertRoeb left a comment (wxWidgets/wxWidgets#25848)

Is only this OpenGl window in a ScrolledCanvas?


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3357376350@github.com>

0mhu

unread,
Oct 1, 2025, 3:11:17 PMOct 1
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

Is only this OpenGl window in a ScrolledCanvas?

No. It's a generic class EDA_DRAW_PANEL_GAL derived from wxScrolledCanvas. Kicad seems to use this in some places. See the code here https://gitlab.com/kicad/code/kicad/-/blob/master/common/draw_panel_gal.cpp?ref_type=heads#L67

There is a Repaint function / a Paint callback inside that class
https://gitlab.com/kicad/code/kicad/-/blob/master/common/draw_panel_gal.cpp?ref_type=heads#L194

This get called. I verified that. Subsequently this function executes this line:
https://gitlab.com/kicad/code/kicad/-/blob/master/common/draw_panel_gal.cpp?ref_type=heads#L304

which then leads to the view elements and their opengl drawing commands.
Despite executing this whenever the GUI should render, there is no visible output unless the window is resized or a GUI element which overlays a dropdown over the canvas is activated.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3357775255@github.com>

VZ

unread,
Oct 2, 2025, 5:23:05 PMOct 2
to wx-...@googlegroups.com, Subscribed
vadz left a comment (wxWidgets/wxWidgets#25848)

Sorry, I just have no idea about what could be causing this and no practical way to debug it. If you can reproduce this by cherry picking parts of KiCad code into cube OpenGL sample until it stops working, I'd at least try to debug it (no guarantee of success, of course), but without this I simply don't know.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3363123619@github.com>

0mhu

unread,
Oct 3, 2025, 3:17:30 PMOct 3
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

Sorry, I just have no idea about what could be causing this and no practical way to debug it. If you can reproduce this by cherry picking parts of KiCad code into cube OpenGL sample until it stops working, I'd at least try to debug it (no guarantee of success, of course), but without this I simply don't know.

Thanks @vadz for your help. I totally understand that you cannot help with that random issue.
I spent ~20 hours Debugging kicad, wxwidgets, mesa etc. and couldn't find anything that's not really working. There are weird things going on.. If the drawing is updated without the window in focus, it works...
I'm giving up. I still have no clue, if it's

  • Wayland
  • GDK
  • wxwidgets
  • kicad
  • mesa
  • something else?

Maybe it's time to go back to windows after 15 years of Linux.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3366916254@github.com>

dsa-t

unread,
Oct 3, 2025, 7:33:31 PMOct 3
to wx-...@googlegroups.com, Subscribed
dsa-t left a comment (wxWidgets/wxWidgets#25848)

I wonder if this could be related to #25496

(Unfortunately I won't be able to help with the repro case for a while)


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3367545294@github.com>

VZ

unread,
Oct 4, 2025, 5:30:04 PMOct 4
to wx-...@googlegroups.com, Subscribed
vadz left a comment (wxWidgets/wxWidgets#25848)

If the drawing is updated without the window in focus, it works...

This is a horrible hack, but in this case would giving focus to some other window, calling Refresh() and then putting focus back work?

Maybe it's time to go back to windows after 15 years of Linux.

Can't you just use Xwayland and run KiCad under it? This is not great, but not nearly as bad as going back to Windows...


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3368550778@github.com>

0mhu

unread,
Oct 4, 2025, 8:10:30 PMOct 4
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

This is a horrible hack, but in this case would giving focus to some other window, calling Refresh() and then putting focus back work?

I will try that...

Can't you just use Xwayland and run KiCad under it? This is not great, but not nearly as bad as going back to Windows...

This doesn't work either... Once you lose focus on a window, the mouse capture does not work anymore and the cursor in kicad only moves if you click to a position. So changing to another application a single time breaks everything.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3368619523@github.com>

dsa-t

unread,
Oct 4, 2025, 8:14:46 PMOct 4
to wx-...@googlegroups.com, Subscribed
dsa-t left a comment (wxWidgets/wxWidgets#25848)

By "use Xwayland" it was meant you run kicad like this:

GDK_BACKEND=x11 kicad


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3368621993@github.com>

0mhu

unread,
Oct 4, 2025, 8:30:16 PMOct 4
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

@dsa-t I know. That doesn't work. The schematic editor works fine as long as it doesn't lose focus. Once I tab to another window and go back to kicad, the cursor in kicad doesn't work anymore. Zooming with mousewheel also impossible.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3368630273@github.com>

dsa-t

unread,
Oct 4, 2025, 8:35:36 PMOct 4
to wx-...@googlegroups.com, Subscribed
dsa-t left a comment (wxWidgets/wxWidgets#25848)

Once I tab to another window and go back to kicad, the cursor in kicad doesn't work anymore. Zooming with mousewheel is then also impossible.

That's weird. I don't remember seeing this on my Manjaro+KDE+Wayland system (that was like months ago)


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3368633303@github.com>

dsa-t

unread,
Oct 4, 2025, 8:49:26 PMOct 4
to wx-...@googlegroups.com, Subscribed
dsa-t left a comment (wxWidgets/wxWidgets#25848)

Does that also happen with the wxWidgets pyramid sample with GDK_BACKEND=x11?


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3368641192@github.com>

0mhu

unread,
Oct 16, 2025, 2:52:40 PMOct 16
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

Does that also happen with the wxWidgets pyramid sample with GDK_BACKEND=x11?

No. Not as far as I can see. But at the moment I'm unable to reproduce this on my machine. Maybe some update fixed that.
However, I have to run

GSK_RENDERER=gl GDK_BACKEND=x11 kicad

Because with vulkan, the windows do not resize and instead are just padded with a black margin. As far as I found out this is due to my AMD GPU.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3412406204@github.com>

dsa-t

unread,
Oct 16, 2025, 3:10:55 PMOct 16
to wx-...@googlegroups.com, Subscribed
dsa-t left a comment (wxWidgets/wxWidgets#25848)

GSK_RENDERER seems to be a GTK4 variable. wx uses GTK3. I suppose it shouldn't have any effect?


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3412485910@github.com>

0mhu

unread,
Oct 19, 2025, 3:32:13 PMOct 19
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

GSK_RENDERER seems to be a GTK4 variable. wx uses GTK3. I suppose it shouldn't have any effect?

but it does. If I leave it, the rendering defaults to vulkan and is broken.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3419900407@github.com>

VZ

unread,
Oct 19, 2025, 5:50:42 PMOct 19
to wx-...@googlegroups.com, Subscribed
vadz left a comment (wxWidgets/wxWidgets#25848)

I just don't understand how is this possible, GSK_RENDERER is not used anywhere by GTK3, which uses Cairo. Could it somehow affect the compositor itself (but then you'd probably need to define it when launching it and not when launching the sample)? Which compositor do you use BTW?


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3419984980@github.com>

0mhu

unread,
Nov 1, 2025, 9:06:04 AM (10 days ago) Nov 1
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

Which compositor do you use BTW?

I'm using gnome, so mutter as compositor. But I have tried out KDE, which uses something else. Still the same results.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3476360766@github.com>

0mhu

unread,
Nov 2, 2025, 4:09:32 AM (9 days ago) Nov 2
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

OpenGL definitely works under Wayland in general, so I suspect this issue is specific to the video card you use. Can you try building wxWidgets 3.3.1 and one of its OpenGL samples, e.g. samples/opengl/cube? Does it work correctly for you?

I found the time to do that. The cube and pyramid work just fine.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3477712023@github.com>

VZ

unread,
Nov 2, 2025, 8:54:45 AM (9 days ago) Nov 2
to wx-...@googlegroups.com, Subscribed
vadz left a comment (wxWidgets/wxWidgets#25848)

It should be possible to find the salient difference between what KiCad does and what the samples do, e.g. by grafting KiCad code into the sample and then removing the differences between it and the original code until the problem is fixed. But doing it requires being able to reproduce the problem in the first place and, IIUC, nobody else could do it so far, so the only person who can do it is you...


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3477980455@github.com>

dsa-t

unread,
Nov 2, 2025, 9:10:16 AM (9 days ago) Nov 2
to wx-...@googlegroups.com, Subscribed
dsa-t left a comment (wxWidgets/wxWidgets#25848)

May this be related to AUI usage as well? (https://bugs.launchpad.net/ubuntu/+source/gtk4/+bug/2130248)


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3477991753@github.com>

VZ

unread,
Nov 2, 2025, 9:19:10 AM (9 days ago) Nov 2
to wx-...@googlegroups.com, Subscribed
vadz left a comment (wxWidgets/wxWidgets#25848)

If so, it could be fixed by 2e2e285 (Don't do anything in wxGTK wxWindow::Update() under Wayland, 2025-02-26) as wxAUI does plenty of calls to Update(). Is it possible to retest KiCad built against 3.3 to see if it still shows this problem?


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3477999956@github.com>

0mhu

unread,
Nov 3, 2025, 8:15:24 AM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

Is it possible to retest KiCad built against 3.3 to see if it still shows this problem?

Last time I tried, i wasn't able to compile Kicad against 3.3. Too many errors. But I will have a look at it. Maybe I can backport this fix to 3.2 and try it out.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3480467141@github.com>

dsa-t

unread,
Nov 3, 2025, 8:16:53 AM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
dsa-t left a comment (wxWidgets/wxWidgets#25848)

KiCad master builds with wx 3.3 (at least on Windows)


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3480472310@github.com>

0mhu

unread,
Nov 3, 2025, 2:17:52 PM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

KiCad master builds with wx 3.3 (at least on Windows)

I now tried it again and remember what the problem was / is: kicad needs wxpython. wxpython needs to be built against the 3.3 version of wxwidgets. But I cannot built wxpython, because wx-config is missing.

"/usr/bin/python" /usr/bin/waf --wx_config=wx-config --gtk3 --python="/usr/bin/python" --out=build/waf/3.13/gtk3 configure build
Setting top to : /home/mhu/projects/ext/python-wxpython/src/wxPython-4.2.3
Setting out to : /home/mhu/projects/ext/python-wxpython/src/wxPython-4.2.3/build/waf/3.13/gtk3
Checking for 'gcc' (C compiler) : /usr/bin/gcc
Checking for 'g++' (C++ compiler) : /usr/bin/g++
Checking for program 'python' : /usr/bin/python
Checking for python version >= 3.7.0 : 3.13.7
python-config : /usr/bin/python-config
Asking python-config for pyext '--cflags --libs --ldflags' flags : yes
Testing pyext configuration : yes
Command 'wx-config --cflags' failed with exit code 127.
/bin/sh: line 1: wx-config: command not found


Building wxwidgets 3.2 builds the wx-config executable. But for 3.3 it's gone and I cannot find it.
This is how I build wxwidgets (taken from the arch package repo):

cmake -B build-base -S wxWidgets
-DCMAKE_INSTALL_PREFIX=/usr
-DCMAKE_BUILD_TYPE=None
-DwxUSE_GUI=OFF
-DwxUSE_REGEX=sys
-DwxUSE_ZLIB=sys
-DwxUSE_EXPAT=sys
-DwxUSE_LIBJPEG=sys
-DwxUSE_LIBPNG=sys
-DwxUSE_LIBTIFF=sys
-DwxUSE_LIBLZMA=sys
-DwxUSE_NANOSVG=sys
-DwxUSE_LIBMSPACK=ON
-DwxUSE_PRIVATE_FONTS=ON
cmake --build build-base

cmake -B build-gtk3 -S wxWidgets
-DCMAKE_INSTALL_PREFIX=/usr
-DCMAKE_BUILD_TYPE=None
-DwxBUILD_TOOLKIT=gtk3
-DwxUSE_OPENGL=ON
-DwxUSE_REGEX=sys
-DwxUSE_ZLIB=sys
-DwxUSE_EXPAT=sys
-DwxUSE_LIBJPEG=sys
-DwxUSE_LIBPNG=sys
-DwxUSE_LIBTIFF=sys
-DwxUSE_LIBLZMA=sys
-DwxUSE_NANOSVG=sys
-DwxUSE_LIBMSPACK=ON
-DwxUSE_PRIVATE_FONTS=ON
-DwxUSE_GTKPRINT=ON
cmake --build build-gtk3


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3482114179@github.com>

0mhu

unread,
Nov 3, 2025, 2:47:34 PM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

@dsa-t , I can't get it to build.

Kicad:

ImportError: libwx_gtk3u_core-3.2.so.0: cannot open shared object file: No such file or directory
CMake Error at cmake/FindwxPython.cmake:56 (message):
  wxPython/Phoenix does not appear to be installed on the system
Call Stack (most recent call first):
  CMakeLists.txt:1018 (find_package)


wxpython is compiled against wxwidgets v3.2.

If I try to build wxpython against version 3.3, I get a lot of errors like:

../../../../sip/cpp/sip_corewxBitmap.cpp:400:15: error: ‘class wxBitmap’ has no member named ‘SetWidth’; did you mean ‘GetWidth’?
  400 |         self->SetWidth(size->x);
      |               ^~~~~~~~
      |               GetWidth
../../../../sip/cpp/sip_corewxBitmap.cpp:401:15: error: ‘class wxBitmap’ has no member named ‘SetHeight’; did you mean ‘GetHeight’?
  401 |         self->SetHeight(size->y);
      |               ^~~~~~~~~
      |               GetHeight
../../../../sip/cpp/sip_corewxBitmap.cpp: In function ‘PyObject* meth_wxBitmap_SetDepth(PyObject*, PyObject*, PyObject*)’:
../../../../sip/cpp/sip_corewxBitmap.cpp:1599:21: error: ‘class wxBitmap’ has no member named ‘SetDepth’; did you mean ‘GetDepth’?
 1599 |             sipCpp->SetDepth(depth);
      |                     ^~~~~~~~
      |                     GetDepth
../../../../sip/cpp/sip_corewxBitmap.cpp: In function ‘PyObject* meth_wxBitmap_SetHeight(PyObject*, PyObject*, PyObject*)’:
../../../../sip/cpp/sip_corewxBitmap.cpp:1639:21: error: ‘class wxBitmap’ has no member named ‘SetHeight’; did you mean ‘GetHeight’?
 1639 |             sipCpp->SetHeight(height);
      |                     ^~~~~~~~~
      |                     GetHeight
../../../../sip/cpp/sip_corewxBitmap.cpp: In function ‘PyObject* meth_wxBitmap_SetWidth(PyObject*, PyObject*, PyObject*)’:
../../../../sip/cpp/sip_corewxBitmap.cpp:1796:21: error: ‘class wxBitmap’ has no member named ‘SetWidth’; did you mean ‘GetWidth’?
 1796 |             sipCpp->SetWidth(width);
      |                     ^~~~~~~~
      |                     GetWidth

I don't know, how you do it, but I can't manage to compile it against version 3.3.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3482234345@github.com>

dsa-t

unread,
Nov 3, 2025, 2:52:37 PM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
dsa-t left a comment (wxWidgets/wxWidgets#25848)

You may have to patch it: https://gitlab.com/kicad/packaging/kicad-vcpkg-registry/-/blob/b31e1a80d213ec39594c96807f86993196d31176/ports/wxpython-33/wx3.3-compat-fixes.patch


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3482264740@github.com>

0mhu

unread,
Nov 3, 2025, 3:00:17 PM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

This doesn't work. I can apply the patch. But it does not compile. The patch does not touch any of the broken C++ files.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3482312253@github.com>

dsa-t

unread,
Nov 3, 2025, 3:03:56 PM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
dsa-t left a comment (wxWidgets/wxWidgets#25848)

It does ignore SetDepth, SetWidth, SetHeight, probably you need to regenerate the cpp classes:

image.png (view on web)

Also there's https://gitlab.com/kicad/packaging/kicad-vcpkg-registry/-/blob/b31e1a80d213ec39594c96807f86993196d31176/ports/wxpython-33/add-enumclass-support.patch


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3482337776@github.com>

0mhu

unread,
Nov 3, 2025, 3:33:02 PM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

@dsa-t , unfortunately, I cannot manage to get this thing to build, even with your patches.

Accoding to the readme python build.py dox etg --nodoc sip build should do the trick.

Will build using: "/usr/bin/python"
3.13.7 (main, Aug 15 2025, 12:34:02) [GCC 15.2.1 20250813]
Python's architecture is 64bit
cfg.VERSION: 4.2.3

Running command: dox
Checking for /home/mhu/projects/ext/python-wxpython/src/wxPython-4.2.3/bin/doxygen-1.9.1-linux...
bash ./regen.sh xml


Finished command: dox (0m9.15s)
Running command: etg
"/usr/bin/python" etg/_stc.py --sip --nodoc
Unable to find xml file for ITEM: wxTextSearch
Tried: /home/mhu/projects/ext/python-wxpython/src/wxPython-4.2.3/ext/wxWidgets/docs/doxygen/out/xml/classwx_text_search.xml
       /home/mhu/projects/ext/python-wxpython/src/wxPython-4.2.3/ext/wxWidgets/docs/doxygen/out/xml/structwx_text_search.xml
       /home/mhu/projects/ext/python-wxpython/src/wxPython-4.2.3/ext/wxWidgets/docs/doxygen/out/xml/wxTextSearch
Traceback (most recent call last):
  File "/home/mhu/projects/ext/python-wxpython/src/wxPython-4.2.3/etg/_stc.py", line 278, in <module>
    run()
    ~~~^^
  File "/home/mhu/projects/ext/python-wxpython/src/wxPython-4.2.3/etg/_stc.py", line 158, in run
    mod = textctrl.parseAndTweakModule()
  File "/home/mhu/projects/ext/python-wxpython/src/wxPython-4.2.3/etg/textctrl.py", line 34, in parseAndTweakModule
    etgtools.parseDoxyXML(module, ITEMS)
    ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^
  File "/home/mhu/projects/ext/python-wxpython/src/wxPython-4.2.3/etgtools/__init__.py", line 82, in parseDoxyXML
    raise DoxyXMLError(msg)
etgtools.DoxyXMLError: Unable to find xml file for ITEM: wxTextSearch
Command '"/usr/bin/python" etg/_stc.py --sip --nodoc' failed with exit code 1.
Finished command: etg (0.147s)


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3482480820@github.com>

dsa-t

unread,
Nov 3, 2025, 3:44:03 PM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
dsa-t left a comment (wxWidgets/wxWidgets#25848)

You may need to follow closely what portfile.cmake does.

Also note there's some Windows defines in CMakeLists.txt


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3482520387@github.com>

dsa-t

unread,
Nov 3, 2025, 3:48:30 PM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
dsa-t left a comment (wxWidgets/wxWidgets#25848)

(or you may try running vcpkg on Linux too)


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3482541582@github.com>

0mhu

unread,
Nov 3, 2025, 3:50:06 PM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

I'm sorry, but I can't get it running:


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3482546103@github.com>

dsa-t

unread,
Nov 3, 2025, 3:54:34 PM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
dsa-t left a comment (wxWidgets/wxWidgets#25848)

Did you copy wxWidgets sources with ref v3.3.0 to ext/wxWidgets/?


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3482560208@github.com>

0mhu

unread,
Nov 3, 2025, 4:01:38 PM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

Did you copy wxWidgets sources with ref v3.3.0 to ext/wxWidgets/?

I cleaned everything and tried again:
Now I get:

Running command: etg
"/usr/bin/python" etg/_xml.py --sip --nodoc
Traceback (most recent call last):
  File "/home/mhu/projects/ext/python-wxpython/src/wxPython-4.2.3/etg/_xml.py", line 117, in <module>
    run()
    ~~~^^
  File "/home/mhu/projects/ext/python-wxpython/src/wxPython-4.2.3/etg/_xml.py", line 103, in run
    m = c.find('byte_offset')
  File "/home/mhu/projects/ext/python-wxpython/src/wxPython-4.2.3/etgtools/extractors.py", line 129, in find
    raise ExtractorError("Unable to find item named '%s' within %s named '%s'" %
                         (head, self.__class__.__name__, self.name))
etgtools.extractors.ExtractorError: Unable to find item named 'byte_offset' within ClassDef named 'wxXmlParseError'
Command '"/usr/bin/python" etg/_xml.py --sip --nodoc' failed with exit code 1.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3482583738@github.com>

dsa-t

unread,
Nov 3, 2025, 4:09:13 PM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
dsa-t left a comment (wxWidgets/wxWidgets#25848)

byte_offset was indeed present in v3.3.0 interface header: https://github.com/wxWidgets/wxWidgets/blob/v3.3.0/interface/wx/xml/xml.h#L571

You may need to remove the related lines:

image.png (view on web)

also see: #25531


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3482608754@github.com>

0mhu

unread,
Nov 3, 2025, 4:14:25 PM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

You may need to remove the related lines:
I did.

The next thing is

Unable to find xml file for ITEM: wxVScrolledWindow
Tried: /home/mhu/projects/ext/python-wxpython/src/wxPython-4.2.3/ext/wxWidgets/docs/doxygen/out/xml/classwx_v_scrolled_window.xml
       /home/mhu/projects/ext/python-wxpython/src/wxPython-4.2.3/ext/wxWidgets/docs/doxygen/out/xml/structwx_v_scrolled_window.xml
       /home/mhu/projects/ext/python-wxpython/src/wxPython-4.2.3/ext/wxWidgets/docs/doxygen/out/xml/wxVScrolledWindow

I will rebuilt wxwidgets with 3.3.0. I'm currently on 3.3.1. Maybe that gets rid of most of that stuff.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3482631526@github.com>

dsa-t

unread,
Nov 3, 2025, 4:20:57 PM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
dsa-t left a comment (wxWidgets/wxWidgets#25848)

wxVScrolledWindow

may need to patch these up: https://github.com/wxWidgets/Phoenix/blob/fedec8e16c85417ff2beb6c2fc7cf5ef4a2d407e/etg/vscroll.py#L25


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3482651098@github.com>

0mhu

unread,
Nov 3, 2025, 4:21:16 PM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

I managed to get a lot further. But there are still errors in the generated sip files:

Running command: sip
sip-build --no-compile
These bindings will be built: _core.
Generating the _core bindings...
sip-build: /home/mhu/projects/ext/python-wxpython/src/wxPython-4.2.3/sip/gen/geometry.sip: line 373: column 5: 'wxRect2DDouble::Inflate' has overloaded functions with the same Python signature
/home/mhu/projects/ext/python-wxpython/src/wxPython-4.2.3/sip/gen/geometry.sip: line 399: column 5: 'wxRect2DDouble::Deflate' has overloaded functions with the same Python signature
Command 'sip-build --no-compile' failed with exit code 1.
Finished command: sip (0m4.914s)
./build.py etg --nodoc sip  28.02s user 3.42s system 99% cpu 31.550 total


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3482651923@github.com>

VZ

unread,
Nov 3, 2025, 4:27:07 PM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
vadz left a comment (wxWidgets/wxWidgets#25848)

Sorry to butt in but maybe it would be easier for you to just patch wx 3.2 you were using before: the commit in question just makes Update() do nothing when using Wayland, so should be trivially backportable (you may just comment/ifdef out the entire body of this function to make it always do nothing).


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3482671065@github.com>

0mhu

unread,
Nov 3, 2025, 4:28:14 PM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

Sorry to butt in but maybe it would be easier for you to just patch wx 3.2

Yeah. Makes sense... I've manually patched the sip file and give it a last try. If that doesn't work, I will patch v3.2


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3482674216@github.com>

0mhu

unread,
Nov 3, 2025, 4:47:46 PM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

Sorry to butt in but maybe it would be easier for you to just patch wx 3.2 you were using before: the commit in question just makes Update() do nothing when using Wayland, so should be trivially backportable (you may just comment/ifdef out the entire body of this function to make it always do nothing).

I cherry-picked the commit.
On the first run of Kicad, the broken window was rapidly taking focus all the time and glitching with the other windows. However, I cannot reproduce that anymore... Now, it simply behaves the same way it did before. The opengl context does not render until the window is resized, or a dropdown overlays the gl Area.


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3482727585@github.com>

0mhu

unread,
Nov 3, 2025, 5:05:38 PM (8 days ago) Nov 3
to wx-...@googlegroups.com, Subscribed
0mhu left a comment (wxWidgets/wxWidgets#25848)

I was able to recreate the focus issues. See below youtube video. I'm not switching the focus manually.

https://www.youtube.com/watch?v=NDCtmQgbixk


Reply to this email directly, view it on GitHub, or unsubscribe.

You are receiving this because you are subscribed to this thread.Message ID: <wxWidgets/wxWidgets/issues/25848/3482775716@github.com>

Reply all
Reply to author
Forward
0 new messages