回答:
私の知る限り、バージョン1.7以降、xorg デフォルトは96 dpiです。設定ファイルで指定DisplaySizeしない限り、何も計算しませんXorg。また、xdpyinfo出力に依存しないでください。
私のラップトップはIntel SandyBridgeで動作します。Xorg.0.logArchlinuxの新規インストールに関する私の抜粋:
(==) intel(0): DPI set to (96, 96)
ランニング
xdpyinfo | grep -E 'dimensions|resolution'
戻り値:
dimensions: 1600x900 pixels (423x238 millimeters)
resolution: 96x96 dots per inch
これは真実とはほど遠い。私が知っている私の画面サイズであることを344x193とても明らかミリメートルxdpyinfoピクセル解像度(に基づいて物理的なサイズを計算1600x900)とデフォルト96 DPI。追加した場合
........
DisplaySize 344 193
........
で/etc/X11/xorg.conf.d/monitor.conf再起動すると、Xorg.0.log正しくレポートされます:
(**) intel(0): Display dimensions: (344, 193) mm
(**) intel(0): DPI set to (118, 118)
ただし、xdpyinfo | grep -E 'dimensions|resolution'常に次を返します:
dimensions: 1600x900 pixels (423x238 millimeters)
resolution: 96x96 dots per inch
それでも、Gnomeを使用しているため、視覚的な変更はありません。96 DPIまた、でハードコーディングされていgnome-settings-daemonます。後者にパッチを適用した後、ネイティブを楽しむことができます118 DPI。しかし、xdpyinfoそれでもすべてが返されます。
dimensions: 1600x900 pixels (423x238 millimeters)
resolution: 96x96 dots per inch
XサーバーはDPIをどのように計算しますか?
XサーバーのDPIは、次の方法で決定されます。
-dpiコマンドラインオプションは、最も高い優先度を持っています。DisplaySize、X構成ファイルの設定を使用して、画面の解像度を考慮してDPIを導出します。DisplaySize、DDCからのモニターサイズの値を使用して、画面の解像度に基づいてDPIが導出されます。ディスプレイにあるピクセル数はわかっているかもしれませんが、それで十分ですか?
いいえ、仮想画面のサイズ(ピクセル単位)だけでなく、(通常)物理的な表示サイズ(ミリメートル単位)も認識します。ターミナルウィンドウで次のコマンドを実行すると、ディスプレイのサイズを確認できます。
~ $ xdpyinfo | grep dimension
dimensions: 1366x768 pixels (361x203 millimeters)
Xサーバーが行う計算は次のとおりです。
次のコマンドを使用して、Xサーバーが計算したDPIを確認できます。
~ $ xdpyinfo | grep resolution
resolution: 96x96 dots per inch
よさそうですね。
さらに読むために:
xdpyinfoからのミリメートルと加算されないこともわかりましたxrandr --query。