flathub / org.kicad.KiCad

https://flathub.org/apps/details/org.kicad.KiCad
GNU Lesser General Public License v2.1
2 stars 4 forks source link

Wayland support? #299

Open TheAifam5 opened 3 months ago

TheAifam5 commented 3 months ago

KiCad supports Wayland, any reason why is not enabled here yet?

jmaibaum commented 3 months ago

Hi, thanks for your question. Please let me start with the TL;DR:

KiCad officially only supports the X11 backend.

(Quote from the section "Graphical Windowing Backend" at https://www.kicad.org/help/system-requirements )

This flatpak distribution follows this approach.

On a more technical level, yes, you are right, KiCad can be compiled for Wayland natively. Yet, there is at least one thing which still breaks quite horribly then: dockable windows (KiCad uses wxAUI for this). And, at least a few months ago, when another user proposed to switch this flatpak to Wayland native, there was a serious issue with overflowing windows on displays with fractional scaling, see my comment on the PR for a screenshot None of these issues are KiCad's faults, but require work on other projects:

  1. Wayland still missing certain protocols (most notably for dockable windows). There is work ongoing here for several years now, it's a massive effort. If you are interested, look at the discussion of the most recent proposal (which is the 3rd or 4th proposal, all of which were discussed at similar lengths): https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/264
  2. wxWidgets having to implement the protocol (once Wayland stakeholders have settled on one) in an officially released version.

KiCad Devs are tracking remaining Wayland issues here: https://gitlab.com/groups/kicad/code/-/epics/46

As it stands now, I would think that official Wayland support is still at least a year away, but I might be wrong. It all depends on Wayland + wx Devs though, not necessarily KiCad Devs.

I intend keeping this issue open for informational purposes until we can switch this flatpak over to Wayland native.