從 Mac 到 Ubuntu 的 SSH:X 轉送無法正常運作?

從 Mac 到 Ubuntu 的 SSH:X 轉送無法正常運作?

運行配備 ATI Radeon 顯示卡的 Mac Pro、OS X El Capitan 10.11.4 和 XQuartz v 2.7.9

我可以在我的機器上完美運行 qdec 和 freeview。當我嘗試透過 SSH 連接到 Ubuntu 12.04 (Nvidia GeForce GTX 650) 機器並使用這些程式時,問題就出現了(它曾經工作正常,但我想知道我們的配置中的某些內容現在是否發生了變化)

ssh 進入 Ubuntu 機器後出現以下錯誤。

[myuser@ubuntu-machine:~] freeview
Xlib: extension "NV-GLX" missing on display "localhost:10.0". 
X Error: BadValue (integer parameter out of range for operation) 2
Extension:    150 (Uknown extension)
Minor opcode: 3 (Unknown request)
Resource id:  0x0
Abort         (core dumped)

[myuser@ubuntu-machine:~] qdec
Xlib: extension "NV-GLX" missing on display "localhost:10.0".
X Error of failed request:  BadValue (integer parameter out of range for operation)
Major opcode of failed request:  150 (GLX)
Minor opcode of failed request:  3 (X_GLXCreateContext)
Value in failed request:  0x0
Serial number of failed request:  1504
Current serial number in output stream:  1505

根據我有限的知識,這似乎可能是 X / SSH 和顯示卡的問題,但我不確定如何從這裡繼續。如果有人對如何克服這個問題有任何想法,我將非常感激!

Ubuntu機器本身也有顯示器,可以在本地正常運行qdec和freeview,沒有任何問題。該問題似乎是透過 SSH 發生的。 Ubuntu 機器上的一些程式可以透過這種方式正常運作(但它們在後台終端大聲抱怨 X)

Mac 最近更新了 XQuartz,但我不完全確定這個問題是否在更新之前發生。

我們嘗試過ssh -y,但這會回傳相同的錯誤。

我們也export LIBGL_ALWAYS_INDIRECT=1透過 SSH 進入 Ubuntu 機器,但仍然遇到相同的錯誤。

官方提問:這些錯誤是什麼意思,我該如何嘗試修復?

答案1

這似乎是 XQuartz 的問題。顯然他們人手嚴重不足,而且幾乎沒有足夠的時間來維持該專案的生命。如果您也遇到此問題,請嘗試恢復至 XQuartz 2.7.8,因為這對錯誤報告中的某人有效。

您的其他選擇可能是使用 VNC,正如 Amias Channer 所建議的那樣。

https://bugs.freedesktop.org/show_bug.cgi?id=93953#c6

根據 XQuartz 的首席開發人員的說法:

鑑於問題出在間接渲染上,這要么是 XQuartz 中 xorg-server 的更改,要么是遠端系統上 libGL 或 X11 堆疊的更改。我的預感是遠端 libGL 發生了變化,而 XQuartz 的 IGLX 支援中的某些內容可能發生了變化。如果您可以嘗試執行舊版本的 XQuartz,請看看它是否適用於舊版本的 XQuartz,這可能表示可以進行更改以使其再次運行。儘管正如我所提到的,IGLX 總體上需要生命支持,而不僅僅是在 XQuartz 中。

和:

是的,正如我在錯誤報告中提到的,這樣的事情很快就得到修復的可能性不大,因為從事該專案的人並不多。我每個月可能有 2-3 個小時左右的時間,這大約足以進行安全修復、進行一些測試並發送更新。在我們的直接渲染路徑中新增對 OpenGL Core 的支援比我可以註冊的工作量要多。您要求的是將其添加到間接渲染路徑中,而這種情況更不可能發生。 Xorg 正在積極棄用 AIGLX,甚至將其從預設配置中刪除,因此我懷疑解決方案是完全刪除對 AIGLX 的支援。

答案2

NV-GLX 表示正在尋找 NVIDIA OpenGL 加速

這意味著 ubuntu 機器正在嘗試為其桌面尋找 3D 加速。

對於這些應用程式來說,透過遠端顯示 ssh X 轉發似乎無法正常運作。

您需要使用 RDP 或 VNC 之類的工具來顯示加速後的影像。

答案3

基於此關聯您是否在本機 Mac OS X 上嘗試過以下操作?

defaults write org.macosforge.xquartz.X11 enable_iglx -bool true

看來XQuartz預設不支援間接GLX。

相關內容