0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

KiCad 与 Wayland 支持声明

KiCad 来源:KiCad 作者:KiCad 2025-06-23 16:34 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

KiCad 开发团队经常收到关于我们对 Wayland 支持情况的询问。鉴于FedoraUbuntu都计划在不久的将来从其主要桌面环境中放弃对 X11 的支持,我们希望就 KiCad 对 Wayland 的支持现状,为用户提供清晰、透明的指引。

wKgZPGhVHTaAaWeWAAxKfM5c8eU920.png

当前状态:功能可用,但体验降级

KiCad 可以在 Wayland 系统上运行,但存在严重的限制和已知问题,这些问题会极大地降低用户体验。虽然您可以在 Wayland 上使用 KiCad 设计 PCB,但会遇到许多我们无法在应用程序层面修复的问题。

以下问题是 Wayland 协议本身、或其在桌面合成器 (compositor)、窗口管理器或其他显示堆栈层中的实现所存在的已知问题,这些问题超出了我们团队的解决能力范围:

窗口管理问题

  • 窗口位置与恢复:Wayland 目前不允许应用程序控制窗口位置。这意味着当您打开 KiCad 时,它无法记住您上次放置窗口的地方。

  • 停靠面板定位:停靠的面板和工具栏无法被妥善管理或恢复其位置。

  • 多窗口协调:同时管理多个 KiCad 窗口时存在问题。

  • 窗口拖动限制:在不同区域之间拖动标签页和面板的功能已损坏或不可靠。

输入与交互问题

  • 光标/指针瞬移 (Warping):这项对许多 CAD 操作至关重要的功能,在某些 Wayland 实现中仅为“有条件可用”,具体取决于其是否支持可选的协议扩展。

  • 焦点管理:不可预测的窗口焦点行为,可能会打断工作流程。

  • 输入设备处理:使用特殊输入设备和快捷键时会遇到各种问题。

性能与稳定性问题

  • OpenGL 调用节流:当窗口被遮挡时,某些合成器会限制 (throttle) OpenGL 调用,导致程序冻结,而不是仅仅通知客户端窗口状态已改变。

  • CPU/GPU 占用率高:出现资源消耗飙升的情况,这在 X11 下不会发生,通常是为解决上述 OpenGL 调用节流问题而采取的一种“绕路”方法。

  • 图形渲染异常:出现渲染瑕疵和显示错乱。

  • 应用程序冻结与崩溃:存在 Wayland 环境特有的不稳定性问题。

  • 剪贴板功能:应用程序之间的复制/粘贴操作不可靠。

对话框与 UI 限制

  • 模态对话框行为:对话框的定位、焦点和交互存在问题。

  • 外部工具集成:启动和管理外部应用程序时存在问题。

为什么这些问题迟迟无法解决?

这些问题的存在,是因为 Wayland 的设计理念本身就有意地省略了一些桌面应用程序(包括 X11、Windows 和 macOS 平台)依赖了几十年的基础功能,例如定位窗口或瞬移鼠标光标的能力。这不是疏忽,而是其设计哲学的一部分。

生态碎片化也让情况雪上加霜。GNOME 对协议的解释是一种方式,KDE 是另一种,而其他小众的合成器又有自己的方式。作为应用开发者,我们无法依赖一个统一、一致的 Wayland 协议及其实验性扩展的实现。Linux 本身就只占 KiCad 用户群的一小部分,如果再因窗口管理器而进一步碎片化,将会带来难以承受的维护负担。

最令人沮丧的是,这些问题我们自己无法修复。问题的根源在于 Wayland 协议、窗口管理器和合成器。这些都不是我们作为应用程序开发者能够通过编写代码或打补丁来规避的。

我们不是唯一面临这些挑战的应用程序。我们希望 Wayland 生态系统能够逐渐成熟,并发展出一种更平衡、更一致的方法,让应用程序能够高效地运行。但目前,我们还没到那一步。

我们的方针与策略

KiCad 团队已经做出了战略性决定:

  • 避免针对特定窗口管理器的“绕路”方案,因为这需要为不同的桌面环境维护独立的代码路径。

  • 在可能的情况下,继续构建和测试与 Wayland 的兼容性,但不会为此投入核心开发资源。

  • 将我们有限的开发时间,集中在能让所有用户受益的功能和改进上

  • 维护关于 Wayland 限制的清晰文档,以便用户建立合理的预期。

针对 Wayland 用户的错误报告政策

我们不会调查或支持与 Wayland 特定问题相关的错误报告。这包括以下问题:

  • 窗口的定位、大小调整或焦点问题。

  • 在 X11 上不会发生,仅在 Wayland 上出现的应用程序冻结或崩溃。

  • Wayland 环境下特有的高 CPU/GPU 占用率。

  • Wayland 环境下特有的输入设备问题。

  • 图形渲染异常或显示问题。

  • 剪贴板功能问题。

  • 任何其他无法在 X11 系统上复现的问题。

关于 KiCad 内部功能(不涉及窗口管理)的错误报告,我们依然欢迎并会正常调查。

给用户的建议

专业用途

如果您将 KiCad 用于专业工作或需要一个可靠、功能完整的体验,我们强烈建议您:

  • 使用基于 X11 的桌面环境,例如:

    • XFCE (使用 X11 模式)

    • KDE Plasma (使用 X11 模式)

    • MATE

  • 选择其他仍维护 X11 支持的传统桌面环境。

  • 如果您的发行版默认仅提供 Wayland,请安装兼容 X11 的显示管理器(如 LightDM 或 KDM),而不是 GDM。

  • 选择仍然维护 X11 支持的 Linux 发行版,一些发行版正在转向“仅 Wayland”的配置,可能无法满足您的需求。

日常/非专业用途

如果您愿意接受这些限制和偶尔的挫败感,KiCad 可以在 Wayland 上运行。但是,请做好以下心理准备:

  • 无法恢复您偏好的窗口布局。

  • 偶尔会崩溃或冻结。

  • 因界面限制导致生产力下降。

  • 需要想办法绕过各种 UI 怪癖。

展望未来

我们认识到 Linux 桌面生态系统正在演进,我们无意阻止这一进程。然而,我们坚信用户生产力第一。我们的用户需要的是设计电路板,而不是与实验性的桌面技术作斗争。对于专业工作而言,稳定性和可靠性至关重要,我们有限的开发资源应该集中在核心功能上,而不是去绕过协议的限制。

我们将继续关注 Wayland 的发展,并欢迎上游项目提供的修复。我们已在 FOSDEM 等会议上与桌面环境的开发者进行了交流,并就我们的需求提供了详细反馈。虽然已经取得了一些进展(例如指针瞬移协议终于在开发中),但许多根本性问题仍未解决。

为解决方案做出贡献

如果您是一名有兴趣改善 KiCad 在 Wayland 上支持情况的开发者,可以通过以下几种方式提供帮助:

  • 为上游项目做贡献:帮助修复 Wayland 协议、窗口管理器或 wxWidgets 中的问题。

  • 赞助开发:同时依赖 Wayland 和 KiCad 的公司可以资助特定的功能改进。

  • 测试并提供反馈:帮助我们确定哪些问题对您的工作流程最为关键。

我们资助了一部分 wxWidgets 的开发工作以帮助改善 Wayland 的兼容性,但许多问题需要 Wayland 生态系统中更广泛的变革。我们鼓励那些能够让所有应用程序(而不仅仅是 KiCad)受益的贡献。

总结

我们努力保持务实。我们支持能用的技术,我们记录下不能用的问题,然后将开发精力集中在能为用户带来最大利益的地方。随着 Wayland 的改进,我们会调整我们的立场,但我们不会在 KiCad 的可靠性和功能性上妥协。

就目前而言,如果您需要在 Linux 上使用 KiCad,请使用 X11。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • KiCAD
    +关注

    关注

    5

    文章

    313

    浏览量

    10229
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    KiCad 项目动态与 KiCad 10 版本亮点

    “  KiCad 核心开发者 Seth Hillbrand 在 KiCon Asia 2025 上介绍了 KiCad 项目近况以及 KiCad 10 的功能亮点。 ”   原版的演讲视频在这里: 听
    的头像 发表于 11-24 11:20 1397次阅读
    <b class='flag-5'>KiCad</b> 项目动态与 <b class='flag-5'>KiCad</b> 10 版本亮点

    KiCad 终于支持平铺的原理图结构了

    “  KiCad 10 将支持平铺(Flat)的原理图结构! 想尝鲜的小伙伴可以下载 9.99 nightly 版本测试。 ”   如果您是从其他 EDA 工具转到 KiCad,可能遇到的第一个困惑
    的头像 发表于 10-23 12:36 2186次阅读
    <b class='flag-5'>KiCad</b> 终于<b class='flag-5'>支持</b>平铺的原理图结构了

    KiCad 9.0.5 正式发布!

    “   KiCad 9.0.5 正式发布!支持更多工具和 AI 助手 的华秋发行版也即将发布 9.0.5 版本。 ” KiCad 9.0.5 版正式发布。9.0.5 稳定版本包含自上一版本以来的关键
    的头像 发表于 10-05 08:15 714次阅读
    <b class='flag-5'>KiCad</b> 9.0.5 正式发布!

    KiCad 9.0.4 正式发布

    “   KiCad 9.0.4 正式发布!支持更多工具和 AI 助手 的华秋发行版也即将发布 9.0.4 版本。 ” KiCad 9.0.4 版正式发布。9.0.4 稳定版本包含自上一版本以来的关键
    的头像 发表于 08-19 11:14 3527次阅读
    <b class='flag-5'>KiCad</b> 9.0.4 正式发布

    kicadStepUp:KiCad 与 FreeCAD 之间的机电协同

    “   使用 kicadStepUpMod 工具,可以在 FreeCad 内导入 KiCad 的封装或带 3D 模型的 PCB,进行干涉检查、调整器件位置、板型并同步回 KiCad。 ”   简介
    的头像 发表于 07-29 11:54 896次阅读
    kicadStepUp:<b class='flag-5'>KiCad</b> 与 FreeCAD 之间的机电协同

    KiCad支持导入 Altium 工程(Project)

    “  9.0.3 的小版本更新中增加一个非常实用的功能:直接导入 Altium 的工程,省去了分别导入原理图和 PCB 的麻烦。  ”   Altium 导入器 从  8.0 开始,KiCad
    的头像 发表于 07-21 11:15 2585次阅读
    <b class='flag-5'>KiCad</b> 已<b class='flag-5'>支持</b>导入 Altium 工程(Project)

    KiCad 9.0.3 正式发布!

    “   KiCad 9.0.3 正式发布!支持更多工具和 Copilot 的华秋发行版也即将发布 9.0.3 版本 ” KiCad 9.0.3 版正式发布。9.0.3 稳定版本包含自上一版
    的头像 发表于 07-09 11:13 3667次阅读
    <b class='flag-5'>KiCad</b> 9.0.3 正式发布!

    华秋DFM支持KiCad PCB了

    “  新版的华秋 DFM 已支持打开源生的 KiCad PCB 文件。现在要进行裸板或 SMT 的 DFM 检查更方便了! ”   低调的看图神器 作为一个不怎么正经的电子工程师,我的电脑里常年安装
    的头像 发表于 05-23 11:16 1460次阅读
    华秋DFM<b class='flag-5'>支持</b><b class='flag-5'>KiCad</b> PCB了

    KiCad 9.0.2 正式发布!

    “   KiCad 9.0.2 正式发布! ” KiCad 9.0.2 版正式发布。9.0.2 稳定版本包含自上一版本以来的关键错误修复和其他小改进。 自 9.0.0 版本以来所有已修复问题的列表
    的头像 发表于 05-09 11:14 1314次阅读
    <b class='flag-5'>KiCad</b> 9.0.2 正式发布!

    KiCad 与 Altium Designer 图纸互转详解

    “  KiCad 和 Altium Designer是两款主流的 PCB EDA 工具。AD 和 KiCad 的原理图、PCB 文件是否可以互转呢?答案是肯定的,但如果需要支持最新版本的文件格式,也
    的头像 发表于 04-28 18:13 1.1w次阅读
    <b class='flag-5'>KiCad</b> 与 Altium Designer 图纸互转详解

    KiCad 教程:集成电路测试 LoadBoard 设计指南

    “  这是一本高质量的 KiCad 入门手册,从设计 IC 测试载板的角度,系统地介绍了如何使用 KiCad 建库、设计原理图、到 PCB Layout。本书不只是 KiCad 的功能介绍,还加
    的头像 发表于 04-28 18:08 1154次阅读
    <b class='flag-5'>KiCad</b> 教程:集成电路测试 LoadBoard 设计指南

    在 Windows 上编译 KiCad

    “ Ethan 同学为我们分享了在 Windows 编译 KiCad 的准备工作、操作步骤及闭坑指南。以下是核心的操作视频及 PPT,完整的直播视频后续分享给大家! ” 流程概要 准备工作 编译器篇
    的头像 发表于 03-28 11:23 836次阅读
    在 Windows 上编译 <b class='flag-5'>KiCad</b>

    KiCad直播活动(三):在 Windows上编译KiCad 手把手教您编译/构建 KiCad 源码

    亲爱的 KiCad 粉们: 本周继续 KiCad 的直播活动,我们将在 3 月27 日周四晚 19:30 为您带来 “在 Windows 上编译 KiCad” 的专题!邀请了 KiCad
    的头像 发表于 03-24 11:14 1388次阅读
    <b class='flag-5'>KiCad</b>直播活动(三):在 Windows上编译<b class='flag-5'>KiCad</b> 手把手教您编译/构建 <b class='flag-5'>KiCad</b> 源码

    KiCad 直播系列活动预告(一):KiCad 9 新功能揭秘

    KiCad 直播系列     亲爱的 KiCad 粉们: 我们很高兴地宣布,从下周起,我们将推出一系列关于 KiCad 的精彩直播活动!KiCad 作为一款功能强大的开源电子设计自动化
    的头像 发表于 03-01 11:22 1031次阅读
    <b class='flag-5'>KiCad</b> 直播系列活动预告(一):<b class='flag-5'>KiCad</b> 9 新功能揭秘

    KiCad 9.0.0 正式发布

    /kicad/windows/stable/kicad-9.0.0-x86_64.exe 我们衷心感谢过去一年为 KiCad 作出贡献的每一位成员。无论您的贡献是编写代码、提交错误报告、改进库文件与文档,还是提供资金
    的头像 发表于 02-21 11:12 2696次阅读
    <b class='flag-5'>KiCad</b> 9.0.0 正式发布