2つの異なる端末で2つのアプリケーションを実行しています。アプリケーションAがttyAで実行され、アプリケーションBがttyBで実行されているとします。 ttyA から ttyB に切り替えると、次のメッセージが表示されます。
x-daemon[544]: (II) AIGLX: Suspending AIGLX clients for VT switch
。
したがって、ttyAのアプリケーションA(Xorgアプリケーションとして見える)は更新されなくなりました。これにより、アプリケーションAのバッファが交換されなくなったため、メモリのリークの種類によってシステムが停止しました。
Q: X サーバーがアクティブな tty にない場合、X を更新し続けることはできますか?
Xorgを始めました-novtswitch
が、成功しませんでした。
ベストアンサー1
XorgはGPUを制御します。他のttyがディスプレイを制御している場合、XorgはGPUをオフにする必要があります。 GPUハードウェアアクセラレーションを使用するアプリケーション(ログに記載されているAIGLXクライアント)は、GPUを他のttyまたは複数のXサーバー間で共有できないため、中断されます。
ハードウェアアクセラレーションなしでXorgを実行できます。以下を比較してみてください。Linuxでハードウェアアクセラレーションを無効にする方法は?
個々のアプリケーションの1つの可能性は信頼できないCookieです。
信頼できないCookieを使用して、アプリケーションがGPUにアクセスできないように無効にできます。例: xauth -f $HOME/mycookie が作成されました。信頼できないXAUTHORITY = $ HOME / mycookie glxgears glxgearsはGPUアクセス権がないため起動しません。信頼できない代わりに信頼できるを使用すると、GPU アクセスが許可され、glxgears が動作します。