Mac Pro、ATI Radeon Graphicsカードを搭載したOS X El Capitan 10.11.4、およびXQuartz v 2.7.9の実行
私のマシンでqdecとfreeviewを完璧に実行できます。問題は、Ubuntu 12.04(Nvidia GeForce GTX 650)マシンにSSHで接続してこれらのプログラムを使用するときに発生します(以前は正常に動作していましたが、構成の一部が変更されたかどうか疑問に思っています)
Ubuntuマシンにsshを実行すると、次のエラーが表示されます。
[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
を試みましたが、これは同じエラーを返します。
UbuntuマシンへのSSH後もexport LIBGL_ALWAYS_INDIRECT=1
ですが、それでも同じエラーが発生します。
公式の質問:これらのエラーは何を意味し、どのように修正を試みることができますか?
これはXQuartzの問題のようです。どうやら彼らはひどく人員不足であり、プロジェクトを生命維持するのにかろうじて十分な時間がない。この問題に直面している場合は、バグレポートの誰かに有効だったため、XQuartz 2.7.8に戻します。
Amias Channerが提案したように、他のオプションとしてVNCを使用することもできます。
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のサポートを完全に削除するだけの解決策があると思います。
NV-GLXは、NVIDIA OpenGLアクセラレーションを探していることを示唆しています
これは、ubuntuマシンがデスクトップの3Dアクセラレーションを見つけようとしていることを意味します。
これらのアプリケーションのリモート表示ssh X転送では機能しないようです。
加速が発生した後、RDPやVNCなどを使用して画像を表示する必要があります。
これに基づいて link ローカルのMac OS Xで次のことを試しましたか?
defaults write org.macosforge.xquartz.X11 enable_iglx -bool true
XQuartzはデフォルトで間接GLXをサポートしていないようです。