Linuxディスプレイシステムはさまざまな技術を使用しています。、プロトコル、拡張、アプリケーション、サーバー(デーモン)、ドライバー、および概念ウィンドウシステムの実装例:
Xorg、Wayland、X11、OpenGL、RandR、XrandR、画面解像度、DPI、ディスプレイサーバーなど
完全な写真がないと、膨大な量の情報が圧倒的または混乱する可能性があります。 Linuxはシステムの各側面に複数のドキュメントを表示しますが、世界中で正確にどのように機能しますか?
ベストアンサー1
Linuxディスプレイ
さまざまな技術、プロトコル、拡張、アプリケーション、サーバー(デーモン)、ドライバー、コンセプトを使用して、Xorg、Wayland、X11、OpenGL、RandR、XrandR、画面解像度、DPI、ディスプレイサーバーなどを完全に理解するのは難しいかもしれませんが、目的を果たし、同時にすべて一緒に機能するわけではありません。
X-プロトコル
Xウィンドウシステム、X11(Xバージョン11)は、Unixシリーズオペレーティングシステムで一般的に使用されるビットマップ表示用のウィンドウシステムです。 Xはディスプレイデバイス上でウィンドウを移動し、マウスやキーボードと対話するGUI環境のための基本的なフレームワークを提供します。 Xはユーザーインターフェイスを必要とせず、これは別のプログラムによって処理されます。その結果、Xベースの環境の視覚的なスタイルは非常に多様であり、さまざまなプログラムはまったく異なるインターフェースを提供できます。 Xは1984年、MIT(マサチューセッツ工科大学)のAthenaプロジェクトで始まりました。 Xプロトコルは1987年9月からバージョン11(したがって「X11」という名前)になりました。 X.Org財団はXプロジェクトをリードしており、現在参照実装であるX.Org Serverは、MITライセンスおよび同様のライセンスに基づいて無料のオープンソースソフトウェアとして提供されています。
Xの実装
ほとんどのLinuxディストリビューションではX.Orgサーバーこれは、X.Org Foundationが管理するX Window System(X11)ディスプレイサーバーの無料のオープンソース実装です。 Xorg/Xは、スケーリングやレンダリングなど、提供されている多くの機能をネイティブにサポートしていないため、到来の牙使用拡大する例えばX補正、ランドR(RandRは以下で管理します。xrandr
たとえば、ファン、解像度、またはズームを設定できます。GLX(OpenGL拡張),それを作るまたは人工これにより、ウィンドウ階層のサブツリー全体がオフスクリーンバッファとしてレンダリングされます。その後、アプリケーションはそのバッファの内容を取得し、オフスクリーンバッファを自動的に親ウィンドウにマージできます。またはという外部プログラムによってマージされました。構成マネージャー他の人と同じように、独自の合成を作成してみてください。ウィンドウマネージャCompiz、Enlightenment、KWin、Marco、Metacity、Muffin、Mutter、Xfwmなどのタスクを実行します.他の人のために」非合成ウィンドウマネージャでは、スタンドアロン複合マネージャを使用できます。たとえば、次のようになります。ピカン、Xcompmgrまたはウナギ。Xorgサポート拡張リストできるもの:xdpyinfo -display :0 -queryExtensions | awk '/^number of extensions:/,/^default screen number/'
。
一方、ウェイランドXorg / X11のより簡単な代替案として、開発とメンテナンスが容易になるように意図されていますが、2020年現在、Gnome以外のWaylandのデスクトップサポートはまだ完全に準備されていません(例:KDE KwinとWaylandのサポート)ディストリビューションの観点から、Fedoraは以下を使用します。基本的にWayland。 WaylandとXorgを参照してください。同時に作業可能、これは使用される構成によって異なります。XウェイランドWaylandプロトコルで実行されるXサーバーを実装するためのX.Orgサーバーコードベースへの一連のパッチ。このパッチは、Waylandへの移行中にX11アプリケーションとの互換性のためにWayland開発者によって開発および維持され、2014年にX.Org Serverバージョン1.16で主流化されました。ユーザーがWeston内でXアプリケーションを実行すると、XWaylandを呼び出して要求を処理します。
フルレンジ
ㅏサーバーの表示あるいは、Windowsサーバーは、クライアントと残りのオペレーティングシステム、ハードウェア、および相互の入力と出力を調整することが主な作業であるプログラム(XorgまたはWaylandなど)です。ディスプレイサーバーは、ネットワーク透過またはネットワーク専用の通信プロトコルであるディスプレイサーバープロトコルを介してクライアントと通信します。たとえば、X11とWaylandはディスプレイサーバー通信プロトコルです。
図のようにウィンドウマネージャデスクトップ環境のもう1つの重要な要素は、グラフィカルユーザーインターフェースのウィンドウシステムでウィンドウの配置と外観を制御するために使用されるシステムソフトウェアです。ほとんどのウィンドウマネージャはデスクトップ環境を提供するように設計されています。これは基本的なグラフィックシステムと連携してグラフィックハードウェア、ポインティングデバイス、キーボードに必要な機能サポートを提供し、通常はウィジェットツールキットを使用して作成および作成されます。 KDEはカイウェンウィンドウマネージャ(2020年現在のWaylandのサポートが制限されている)として、Gnome 2も同様に以下を使用します。慰安庁Gnome 3で使用愚かウィンドウマネージャとして。
ウィンドウマネージャのもう一つの重要な側面はシンセサイザーまたは合成ウィンドウマネージャは、アプリケーションの各ウィンドウにオフスクリーンバッファを提供するウィンドウマネージャです。ウィンドウマネージャは、ウィンドウバッファを画面を表す画像に合成し、その結果をディスプレイメモリに書き込む。コンポジションウィンドウマネージャは、バッファウィンドウに対して追加の処理を実行し、混合、フェージング、サイズ変更、回転、コピー、曲げ、ねじり、混合、ぼかし、アプリケーションリダイレクトとウィンドウを複数に変換するなどの2Dおよび3Dアニメーション効果を適用できるディスプレイの1つです。そして仮想デスクトップ。コンピュータグラフィックス技術を使用すると、シャドウ、リアルタイムプレビュー、複雑なアニメーションなどの視覚効果をリアルタイムでレンダリングできます。画面が出るから二重バッファリング、アップデート中は点滅しません。最も一般的に使用される合成ウィンドウマネージャには、Linux、BSD、Hurd、OpenSolaris-Compiz、KWin、Xfwm、Enlightenment、Mutterが含まれます。それぞれはKDEのような独自の実装を持っています。KWinのシンセサイザーアニメーションの速度、引き裂き防止(vsync)、ウィンドウのサムネイル、サイズ変更方法など、多くの機能/設定があり、使用できます。OpenGLv2/OpenGLv3またはXレンダリングとしてレンダリングバックエンドXorgと。 (XRレンダリング/レンダリング混同しないでくださいXランドR/ランドR)。
OpenGL(オープングラフィックライブラリ)2Dおよび3Dベクトルグラフィックをレンダリングするためのクロス言語、クロスプラットフォームAPI(アプリケーションプログラミングインターフェイス)。このAPIは通常、ハードウェアアクセラレーションレンダリングのためにGPU(グラフィックス処理デバイス)と対話するために使用されます。 OpenGLは、Xorg、Wayland、またはそれらを実装するすべてのアプリケーションで使用できるレンダリングライブラリです。 OpenGLのインストールがチェックに合格しましたglxinfo | grep OpenGL
。
監視装置解決するコンピュータモニタまたはディスプレイデバイスの表示モードまたは表示モードは、表示できる各次元のさまざまなピクセル数を表します。通常、幅×高さで表され、単位はピクセルです。たとえば、1024×768は、幅が1024ピクセル、高さが768ピクセルであることを意味します。xrandr
使用することができる次へ追加またはレンダリング/シミュレーション新しいディスプレイ解像度。
これディープPIインチあたりのドット数を示します。スペース印刷/表示指標、特に1インチ(2.54cm)の範囲内で整列できる個々の点の数。コンピュータ画面にはドットはありませんが、ピクセルがあり、密接に関連する概念はインチあたりのピクセル数(PPI)なので、DPIはPPIの概念を通じて達成されます。デフォルト96
のDPI測定値は垂直および水平で96x96です。またX DPI(インチあたりのドット数)設定は、テキストのサイズ変更にのみ適用されますか?QAは非常に有益です。
ノート
いくつかのKDE GUIツール: systemsettings5
>ディスプレイkcmshell5 xserver
とkinfocenter
。