“KiCad 開發(fā)團(tuán)隊(duì)經(jīng)常收到關(guān)于我們對 Wayland 支持情況的詢問。鑒于Fedora和Ubuntu都計(jì)劃在不久的將來從其主要桌面環(huán)境中放棄對 X11 的支持,我們希望就 KiCad 對 Wayland 的支持現(xiàn)狀,為用戶提供清晰、透明的指引。”

當(dāng)前狀態(tài):功能可用,但體驗(yàn)降級
KiCad 可以在 Wayland 系統(tǒng)上運(yùn)行,但存在嚴(yán)重的限制和已知問題,這些問題會(huì)極大地降低用戶體驗(yàn)。雖然您可以在 Wayland 上使用 KiCad 設(shè)計(jì) PCB,但會(huì)遇到許多我們無法在應(yīng)用程序?qū)用嫘迯?fù)的問題。
以下問題是 Wayland 協(xié)議本身、或其在桌面合成器 (compositor)、窗口管理器或其他顯示堆棧層中的實(shí)現(xiàn)所存在的已知問題,這些問題超出了我們團(tuán)隊(duì)的解決能力范圍:
窗口管理問題
-
窗口位置與恢復(fù):Wayland 目前不允許應(yīng)用程序控制窗口位置。這意味著當(dāng)您打開 KiCad 時(shí),它無法記住您上次放置窗口的地方。
-
停靠面板定位:停靠的面板和工具欄無法被妥善管理或恢復(fù)其位置。
-
多窗口協(xié)調(diào):同時(shí)管理多個(gè) KiCad 窗口時(shí)存在問題。
-
窗口拖動(dòng)限制:在不同區(qū)域之間拖動(dòng)標(biāo)簽頁和面板的功能已損壞或不可靠。
輸入與交互問題
-
光標(biāo)/指針?biāo)惨?(Warping):這項(xiàng)對許多 CAD 操作至關(guān)重要的功能,在某些 Wayland 實(shí)現(xiàn)中僅為“有條件可用”,具體取決于其是否支持可選的協(xié)議擴(kuò)展。
-
焦點(diǎn)管理:不可預(yù)測的窗口焦點(diǎn)行為,可能會(huì)打斷工作流程。
-
輸入設(shè)備處理:使用特殊輸入設(shè)備和快捷鍵時(shí)會(huì)遇到各種問題。
性能與穩(wěn)定性問題
-
OpenGL 調(diào)用節(jié)流:當(dāng)窗口被遮擋時(shí),某些合成器會(huì)限制 (throttle) OpenGL 調(diào)用,導(dǎo)致程序凍結(jié),而不是僅僅通知客戶端窗口狀態(tài)已改變。
-
CPU/GPU 占用率高:出現(xiàn)資源消耗飆升的情況,這在 X11 下不會(huì)發(fā)生,通常是為解決上述 OpenGL 調(diào)用節(jié)流問題而采取的一種“繞路”方法。
-
圖形渲染異常:出現(xiàn)渲染瑕疵和顯示錯(cuò)亂。
-
應(yīng)用程序凍結(jié)與崩潰:存在 Wayland 環(huán)境特有的不穩(wěn)定性問題。
-
剪貼板功能:應(yīng)用程序之間的復(fù)制/粘貼操作不可靠。
對話框與 UI 限制
-
模態(tài)對話框行為:對話框的定位、焦點(diǎn)和交互存在問題。
-
外部工具集成:啟動(dòng)和管理外部應(yīng)用程序時(shí)存在問題。
為什么這些問題遲遲無法解決?
這些問題的存在,是因?yàn)?Wayland 的設(shè)計(jì)理念本身就有意地省略了一些桌面應(yīng)用程序(包括 X11、Windows 和 macOS 平臺(tái))依賴了幾十年的基礎(chǔ)功能,例如定位窗口或瞬移鼠標(biāo)光標(biāo)的能力。這不是疏忽,而是其設(shè)計(jì)哲學(xué)的一部分。
生態(tài)碎片化也讓情況雪上加霜。GNOME 對協(xié)議的解釋是一種方式,KDE 是另一種,而其他小眾的合成器又有自己的方式。作為應(yīng)用開發(fā)者,我們無法依賴一個(gè)統(tǒng)一、一致的 Wayland 協(xié)議及其實(shí)驗(yàn)性擴(kuò)展的實(shí)現(xiàn)。Linux 本身就只占 KiCad 用戶群的一小部分,如果再因窗口管理器而進(jìn)一步碎片化,將會(huì)帶來難以承受的維護(hù)負(fù)擔(dān)。
最令人沮喪的是,這些問題我們自己無法修復(fù)。問題的根源在于 Wayland 協(xié)議、窗口管理器和合成器。這些都不是我們作為應(yīng)用程序開發(fā)者能夠通過編寫代碼或打補(bǔ)丁來規(guī)避的。
我們不是唯一面臨這些挑戰(zhàn)的應(yīng)用程序。我們希望 Wayland 生態(tài)系統(tǒng)能夠逐漸成熟,并發(fā)展出一種更平衡、更一致的方法,讓應(yīng)用程序能夠高效地運(yùn)行。但目前,我們還沒到那一步。
我們的方針與策略
KiCad 團(tuán)隊(duì)已經(jīng)做出了戰(zhàn)略性決定:
-
避免針對特定窗口管理器的“繞路”方案,因?yàn)檫@需要為不同的桌面環(huán)境維護(hù)獨(dú)立的代碼路徑。
-
在可能的情況下,繼續(xù)構(gòu)建和測試與 Wayland 的兼容性,但不會(huì)為此投入核心開發(fā)資源。
-
將我們有限的開發(fā)時(shí)間,集中在能讓所有用戶受益的功能和改進(jìn)上。
-
維護(hù)關(guān)于 Wayland 限制的清晰文檔,以便用戶建立合理的預(yù)期。
針對 Wayland 用戶的錯(cuò)誤報(bào)告政策
我們不會(huì)調(diào)查或支持與 Wayland 特定問題相關(guān)的錯(cuò)誤報(bào)告。這包括以下問題:
-
窗口的定位、大小調(diào)整或焦點(diǎn)問題。
-
在 X11 上不會(huì)發(fā)生,僅在 Wayland 上出現(xiàn)的應(yīng)用程序凍結(jié)或崩潰。
-
Wayland 環(huán)境下特有的高 CPU/GPU 占用率。
-
Wayland 環(huán)境下特有的輸入設(shè)備問題。
-
圖形渲染異常或顯示問題。
-
剪貼板功能問題。
-
任何其他無法在 X11 系統(tǒng)上復(fù)現(xiàn)的問題。
關(guān)于 KiCad 內(nèi)部功能(不涉及窗口管理)的錯(cuò)誤報(bào)告,我們依然歡迎并會(huì)正常調(diào)查。
給用戶的建議
專業(yè)用途
如果您將 KiCad 用于專業(yè)工作或需要一個(gè)可靠、功能完整的體驗(yàn),我們強(qiáng)烈建議您:
-
使用基于 X11 的桌面環(huán)境,例如:
-
XFCE (使用 X11 模式)
-
KDE Plasma (使用 X11 模式)
-
MATE
-
-
選擇其他仍維護(hù) X11 支持的傳統(tǒng)桌面環(huán)境。
-
如果您的發(fā)行版默認(rèn)僅提供 Wayland,請安裝兼容 X11 的顯示管理器(如 LightDM 或 KDM),而不是 GDM。
-
選擇仍然維護(hù) X11 支持的 Linux 發(fā)行版,一些發(fā)行版正在轉(zhuǎn)向“僅 Wayland”的配置,可能無法滿足您的需求。
日常/非專業(yè)用途
如果您愿意接受這些限制和偶爾的挫敗感,KiCad 可以在 Wayland 上運(yùn)行。但是,請做好以下心理準(zhǔn)備:
-
無法恢復(fù)您偏好的窗口布局。
-
偶爾會(huì)崩潰或凍結(jié)。
-
因界面限制導(dǎo)致生產(chǎn)力下降。
-
需要想辦法繞過各種 UI 怪癖。
展望未來
我們認(rèn)識(shí)到 Linux 桌面生態(tài)系統(tǒng)正在演進(jìn),我們無意阻止這一進(jìn)程。然而,我們堅(jiān)信用戶生產(chǎn)力第一。我們的用戶需要的是設(shè)計(jì)電路板,而不是與實(shí)驗(yàn)性的桌面技術(shù)作斗爭。對于專業(yè)工作而言,穩(wěn)定性和可靠性至關(guān)重要,我們有限的開發(fā)資源應(yīng)該集中在核心功能上,而不是去繞過協(xié)議的限制。
我們將繼續(xù)關(guān)注 Wayland 的發(fā)展,并歡迎上游項(xiàng)目提供的修復(fù)。我們已在 FOSDEM 等會(huì)議上與桌面環(huán)境的開發(fā)者進(jìn)行了交流,并就我們的需求提供了詳細(xì)反饋。雖然已經(jīng)取得了一些進(jìn)展(例如指針?biāo)惨茀f(xié)議終于在開發(fā)中),但許多根本性問題仍未解決。
為解決方案做出貢獻(xiàn)
如果您是一名有興趣改善 KiCad 在 Wayland 上支持情況的開發(fā)者,可以通過以下幾種方式提供幫助:
-
為上游項(xiàng)目做貢獻(xiàn):幫助修復(fù) Wayland 協(xié)議、窗口管理器或 wxWidgets 中的問題。
-
贊助開發(fā):同時(shí)依賴 Wayland 和 KiCad 的公司可以資助特定的功能改進(jìn)。
-
測試并提供反饋:幫助我們確定哪些問題對您的工作流程最為關(guān)鍵。
我們資助了一部分 wxWidgets 的開發(fā)工作以幫助改善 Wayland 的兼容性,但許多問題需要 Wayland 生態(tài)系統(tǒng)中更廣泛的變革。我們鼓勵(lì)那些能夠讓所有應(yīng)用程序(而不僅僅是 KiCad)受益的貢獻(xiàn)。
總結(jié)
我們努力保持務(wù)實(shí)。我們支持能用的技術(shù),我們記錄下不能用的問題,然后將開發(fā)精力集中在能為用戶帶來最大利益的地方。隨著 Wayland 的改進(jìn),我們會(huì)調(diào)整我們的立場,但我們不會(huì)在 KiCad 的可靠性和功能性上妥協(xié)。
就目前而言,如果您需要在 Linux 上使用 KiCad,請使用 X11。
-
KiCAD
+關(guān)注
關(guān)注
5文章
261瀏覽量
9527
發(fā)布評論請先 登錄
KiCad 9.0.3 正式發(fā)布!

華秋DFM支持KiCad PCB了

KiCad 與 Altium Designer 圖紙互轉(zhuǎn)詳解

KiCad 教程:集成電路測試 LoadBoard 設(shè)計(jì)指南

在 Windows 上編譯 KiCad

KiCad直播活動(dòng)(三):在 Windows上編譯KiCad 手把手教您編譯/構(gòu)建 KiCad 源碼

KiCad 直播系列活動(dòng)預(yù)告(一):KiCad 9 新功能揭秘

KiCad 9.0.0 正式發(fā)布

KiCad 8.0.8 正式發(fā)布
華秋電子贊助 KiCad EDA 成為白金贊助商

KiCad系統(tǒng)配置要求

KiCad EDA版本說明

KiCad發(fā)現(xiàn)之旅(一)原理圖編輯

評論