關於X11的重要配置文件xorg.conf

由於工作的需要,開發的時候搭建的linux系統終端在關於屏幕分辨率的自適應問題上面非常的頭疼。其實很重要的就是寫好xorg.conf文件,這個文件沒有配置好,顯示就會非常的奇怪。

這個配置文件最主要的作用是在於啓動X11的時候以適當的分辨率去適應屏幕,而關於啓動服務後的屏幕變化的自適應就關聯到窗口管理器了,這邊我就不記載了。

下面列上我用的xorg.conf的配置文件


Section "Device"
Identifier "Configured Video Device"
EndSection

Section "Monitor"
Identifier "Configured Monitor"
Horizsync 30-81
Vertrefresh 56-75
Modeline "1440x900"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync
Modeline "1920x1080"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
Option          "PreferredMode" "1440x900"
EndSection

Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
SubSection "Display"
Modes "1920x1080" "1440x900" "1366x768" "1280x768"
EndSubSection
EndSection

就這麼一段就好了。當然相應的一些X11的驅動模塊你是要放到他默認的路徑下的。這個配置文件簡化了。

我這邊其實想主要說明關於分辨率的。

先說說Modes "1920x1080" "1440x900" "1366x768" "1280x768"這一項吧,這邊我列出了幾個可供X11服務選擇的分辨率,X11會默認啓動第一個分辨率,如果第一個分辨率不存在或者過高那麼啓用第二個,依次類推。

那麼什麼時候會不存在或者過高呢。其實顯示器都有適應的最高的分辨率,這裏可以用ddcprobe命令來查看,這個命令我沒有研究過,我看過代碼應該是獲取顯示器寄存器內的適應的Timing時序的,代碼中有一段獲取的內嵌彙編,額我看不大懂。不說這個了。另外可以用xrandr命令來查看當前的顯示分辨率以及支持的分辨率,xranr列出的分辨率都可以寫在Modes這一行。X11會自動加載並顯示那個分辨率(按順序查找)。

那麼xranr中沒有的可以加入麼,我試過是可以的,有些高的分辨率也可以加入。列如要顯示1440x900的分辨率,而xranr中沒有顯示,我也是可以加入並且讓它顯示的。可以使用命令cvt 1440 900 60 這個60是頻率,這個配置的範圍也在這個文件中Horizsync 30-81 Vertrefresh 56-75。

cvt 1440 900 60後會獲取到一列數據如Modeline "1440x900"  106.50  1440 1528 1672 1904  900 903 909 934 -hsync +vsync。然後將這一行信息加入到xorg.conf的monitor字段中,這樣顯示器就能顯示我們添加的分辨率了,當然如果顯示器支持不了這麼高的分辨率的話,應該會提示輸入的序列錯誤的,也就無法顯示畫面了。對於這個顯示器到底能支持多少的分辨率我也不大清楚,之前的ddcprobe命令應該可以看到,不過我還沒弄懂希望網友也可以幫個忙啊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章