OpenGL と XRender はどちらも、描画中に特定の幾何学的変換を適用できる描画 API です。
OpenGL は、専用のグラフィックス プロセッシング ユニット (GPU) によって実行される描画操作を対象としており、3D に見える画像を非常に簡単に生成するための多くの機能 (深度バッファー、深度テスト、4×4 均一変換行列) を提供します。ただし、OpenGL を使用して 2D のようなグラフィックスを作成することもできます。
XRender は X11 の拡張機能であり、X11 のコア描画機能では実行できないレンダリング方法 (アンチエイリアシング、アルファ ブレンディング) をサポートします。ただし、XRender-API は 2D に見えるグラフィック用に最適化されています (深度バッファー/テストなし、3×3 変換マトリックス)。
XRender は OpenGL と完全に直交しているわけではないことに注意してください。特に、OpenGL でアンチエイリアシングが必要な場合は、XRender のいくつかの関数を使用して有効にする必要があります。
<ブロック引用>各オプションの使用例は?
XRender のオプションは、適切な OpenGL サポート (安定したドライバーの欠如) がないシステムをサポートするためにありますが、XRender 操作の許容可能なサポートです。また、XRender は OpenGL よりも (プログラマーの観点から) セットアップが少し簡単です。
一般に、OpenGL は、プログラマーの観点から XRender よりも柔軟です。それぞれのどれを選択する必要があるかを尋ねている場合:OpenGL から始めて、すべてが適切に機能する場合は、それを使用してください。 XRender オプションは、OpenGL が適切に動作しない場合のフォールバックです (ただし、最近のドライバーでは、XRender は OpenGL と大部分を共有しているか、実際には OpenGL を使用して実装されているため、実質的な違いはありません)。
私が XRender を使用するのは、KWin with OpenGL が正当な理由もなく CPU を回転させるのが好きだからです。
また、wine/Proton で実行されている OBS とゲームに奇妙な問題がいくつかあります。
nVidia カードで XRender に切り替えることを強くお勧めします!