Re: [Kicad-developers] Linux support for wxGLCanvas and Wayland/EGL
Hi Ian, I'm fine with adding glew to the third party directory. I'm assuming that the plan would be to use cmake to determine if EGL support was required and build glew accordingly. Cheers, Wayne On 9/28/20 6:42 PM, Ian McInerney wrote: > The upcoming wxWidgets 3.1.5 release has added a new backend supporting > Wayland/EGL to the wxGLCanvas that we use for displaying the OpenGL > drawing canvas. This backend appears to be the new default backend for > wxGTK unless it is explicitly disabled on the wxWidgets configure step > (you pass --disable-glcanvasegl to the configure script). It is also not > currently possible to change this backend at runtime. This means that we > will be forced to use whatever the distro-defaults are for the canvas > backend once wx 3.1/3.2 is being used in the wild. > > I was just working with it some, and our main bottleneck for supporting > it natively is currently the GLEW dependency we have in our rendering > code. GLEW requires a compile-time selection of either X11 or EGL > backends, and all distributions seem to only ship a library built for > the X11 backend. > > I have done some experimenting, and building a version of GLEW that is > meant for EGL is fairly simple and uses a single C file and the public > headers. It can be compiled into a static library that we then link into > our code, so we don't actually need to bundle a shared library. My > thinking currently is that we provide these GLEW files in the > thirdparty directory, and only use them if a specific compile-time > option to use EGL is provided. That will mean that linux packaging will > still use distro-provided GLEW libraries when using the X11 backend, and > if the distro can supply an EGL-capable GLEW version we can try to use > that (I am not sure how the distros will manage this though). > > -Ian > > ___ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
Re: [Kicad-developers] Linux support for wxGLCanvas and Wayland/EGL
It's definitely good to have a backup. That last wx packaging fiasco with the halfway switch from gtk2 to gtk3 was not pleasant. -S On Mon, Sep 28, 2020 at 3:43 PM Ian McInerney wrote: > The upcoming wxWidgets 3.1.5 release has added a new backend supporting > Wayland/EGL to the wxGLCanvas that we use for displaying the OpenGL drawing > canvas. This backend appears to be the new default backend for wxGTK unless > it is explicitly disabled on the wxWidgets configure step (you > pass --disable-glcanvasegl to the configure script). It is also not > currently possible to change this backend at runtime. This means that we > will be forced to use whatever the distro-defaults are for the canvas > backend once wx 3.1/3.2 is being used in the wild. > > I was just working with it some, and our main bottleneck for supporting it > natively is currently the GLEW dependency we have in our rendering code. > GLEW requires a compile-time selection of either X11 or EGL backends, and > all distributions seem to only ship a library built for the X11 backend. > > I have done some experimenting, and building a version of GLEW that is > meant for EGL is fairly simple and uses a single C file and the public > headers. It can be compiled into a static library that we then link into > our code, so we don't actually need to bundle a shared library. My thinking > currently is that we provide these GLEW files in the thirdparty directory, > and only use them if a specific compile-time option to use EGL is provided. > That will mean that linux packaging will still use distro-provided GLEW > libraries when using the X11 backend, and if the distro can supply an > EGL-capable GLEW version we can try to use that (I am not sure how the > distros will manage this though). > > -Ian > ___ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > -- [image: KiCad Services Corporation Logo] Seth Hillbrand *Lead Developer* +1-530-302-5483 <+12126039372> Davis, CA www.kipro-pcb.comi...@kipro-pcb.com ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
[Kicad-developers] Linux support for wxGLCanvas and Wayland/EGL
The upcoming wxWidgets 3.1.5 release has added a new backend supporting Wayland/EGL to the wxGLCanvas that we use for displaying the OpenGL drawing canvas. This backend appears to be the new default backend for wxGTK unless it is explicitly disabled on the wxWidgets configure step (you pass --disable-glcanvasegl to the configure script). It is also not currently possible to change this backend at runtime. This means that we will be forced to use whatever the distro-defaults are for the canvas backend once wx 3.1/3.2 is being used in the wild. I was just working with it some, and our main bottleneck for supporting it natively is currently the GLEW dependency we have in our rendering code. GLEW requires a compile-time selection of either X11 or EGL backends, and all distributions seem to only ship a library built for the X11 backend. I have done some experimenting, and building a version of GLEW that is meant for EGL is fairly simple and uses a single C file and the public headers. It can be compiled into a static library that we then link into our code, so we don't actually need to bundle a shared library. My thinking currently is that we provide these GLEW files in the thirdparty directory, and only use them if a specific compile-time option to use EGL is provided. That will mean that linux packaging will still use distro-provided GLEW libraries when using the X11 backend, and if the distro can supply an EGL-capable GLEW version we can try to use that (I am not sure how the distros will manage this though). -Ian ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp