調整我的ubuntu顯示器分辨率(顯卡:SiS661FX)

from: xumeng_1987的日誌

 

查看驅動目錄發現ubuntu10.04已經自帶了Sis的驅動,

wendy@wendy:~/桌面$ ls /usr/lib/xorg/modules/drivers/sis*

/usr/lib/xorg/modules/drivers/sis_drv.so
/usr/lib/xorg/modules/drivers/sisusb_drv.so

 

我的 /etc/X11/xorg.conf
代碼:
section "Device"
Identifier   "Configured Video Device"
Driver       "sis"
#   BusID      "PCI:1:0:0"
Option      "EnableSiSCtrl"      "yes"
#   Option          "XvDefaultAdaptor"   "Blitter"
EndSection
Section "Monitor"
Identifier   "Configured Monitor"
Option      "DPMS"         "yes"
# 1280x1024 @ 60.00 Hz (GTF) hsync: 63.60 kHz; pclk: 108.88 MHz
Modeline "1280x1024_60.00"  108.88  1280 1360 1496 1712  1024 1025 1028 1060  -HSync +Vsync
EndSection
Section "Screen"
Identifier   "Default Screen"
    Monitor      "Configured Monitor"
    Device      "Configured Video Device"
    DefaultDepth   16
SubSection "Display"
Modes "1280x1024@60" 
EndSubSection
EndSection

================================================================================================

 

ubuntu9.10默認沒有了/etc/X11/xorg.conf這個文件了,沒有這個文件,系統可以正常啓動成功,但是,如果這個文件有錯,則系統可能不能正常啓動的。也就是說,現在這個文件已經成了用戶設定。如果不是必須要設定的,大可不必設定。明白了這個道理,我們只需手動新建這個文件,在裏面依自己的情形添加必須設定的內容即可。
我現在是分辯率不可設,那麼,只需要在裏面設定這方面的內容即可,其它的都可以不管。

打開終端,輸入:

==================================

cd /etc/X11
sudo touch xorg.conf
sudo gedit xorg.conf

==================================
上面的命令是先新建一個空的xorg.conf,然後打開這個文件進行編寫。


一、xorg.conf的一般編寫規則:

xorg.conf文件保存有X Window的各種信息,它由數個Section/EndSecion
的區塊組成,格式如下:
Section "Section名稱"
選項名稱   "選項值"
選項名稱   "選項值"
……
EndSection

也就是說,一個區塊以 Section "Section名稱"開頭,以 EndSection結尾,中間是選項。

二、顯示方面的設置主要包括三個區塊:
monitor  設置顯示器
device  設置顯卡
screen  設置顯示器與顯卡的結合,也就是最終的顯示

在顯示設置方面,這三個區塊似乎缺一不可。
下面提供一個範例:

======================================
Section "Device"
Identifier    "Configured Video Device"
EndSection

Section "Monitor"
Identifier    "Configured Monitor"
EndSection

Section "Screen"
Identifier    "Default Screen"
Monitor        "Configured Monitor"
Device        "Configured Video Device"
EndSection
=======================================
這個範例中,Section "Device"區塊中,Identifier指定了顯卡的唯一名稱,這個名稱可以隨便取,但一定要與Section "Screen"區塊中的device選項中的名稱相同。在Section "Monitor"區塊中,Identifier指定了顯示器的唯一名稱,這個名稱可以隨便取,但一定要與Section "Screen"區塊中的Monitor選項中所指定的名稱相同。Section "Screen"區塊中的Identifier選項,指定了這個顯卡與顯示器相結合的唯一名稱。這個名稱也可以隨便取的。這個名稱需要與Section "ServerLayout"  區塊中的名稱相同。這個Section "ServerLayout"  區塊我們一般不必編寫,這裏不討論。

從上面的分析來看,這個範例不過就是指定了三個名稱和這三個名稱之間的關聯而已。沒有實質的設置。但是,這樣卻給我們提供了一個設置的基本框架。
這個框架我們可以原文照抄。
然後如果我們需要在顯示器區塊中(Section "Monitor")中增加我們的選項,可以直接在裏面添加就是了。其它的兩個區塊也一樣。
由於主要的問題是系統不能正確地識別顯示器,所以主要的是我們編寫一下Section "Monitor"這個區塊即可。

三、編寫Section "Monitor"
查了很多的資料,經自己的反覆實踐,這裏關鍵的則是要正確地獲取顯示器的行頻和場頻參數,沒有這個參數,其它的設置都很難做到最好。
行頻
HorizSync  
場頻
VertRefresh 
我的顯示器是三星711N,網上有各種用命令獲取顯示器的行頻和場頻參數的辦法,但是,我都沒能獲得成功,最後還是在網上搜這個顯示器的詳細參數,最後得到:

行頻
HorizSync  30-81
場頻
VertRefresh 56-75

這兩個參數如果設置得不正確,據說可能燒壞顯示器,弄得怕怕的。沒有把握的話,還是把這兩個選項註釋掉吧,也就是不設。可以用另外的辦法進行適當的彌補。但是,反覆證明就是,其它的彌補方法都不如直接寫這個。

這個彌補的辦法主要是編寫Modeline選項。

終端中輸入命令:
gtf 1024 768 60
這個1024 768是你要設的分辯率,這個60是你要設的刷新率。
得到的命令結果如下:

$ gtf 1024 768 60

# 1024x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 64.11 MHz
Modeline "1024x768_60.00"  64.11  1024 1080 1184 1344  768 769 772 795  -HSync +Vsync

直接把命令結果中的Modeline這一行復制進Section "Monitor"這個區塊中即可。
你可能想試用多種分辯率,所以你可以用gtf命令獲取各種分辯率下的參數,然後把它們都複製進Section "Monitor"即可。

比如:

Modeline "1024x768_60.00"  64.11  1024 1080 1184 1344  768 769 772 795  -HSync +Vsync
Modeline "1024x768_70.00"  76.16  1024 1080 1192 1360  768 769 772 800  -HSync +Vsync
Modeline "1152x768_60.00"  71.74  1152 1208 1328 1504  768 769 772 795  -HSync +Vsync



依我的看法,在獲取到了正確的行頻HorizSync 和場頻VertRefresh之後,Modeline選項已沒有多少意義,可以不寫。

四、編寫Section "Screen"區塊
重啓電腦,成功進入桌面,分辯率和刷新率都正常可調,唯一不足的是,在進入桌面前,屏幕上有一個提示:
顯示非最佳分辨模式

出現這個的一個基本的原因是,我的顯示器的最佳分辯模式是1280x1024,但這樣高的分辯率,顯卡卻支持不佳。所以我不能用1280x1024這個分辯率。

這個提示很惱火。於是想到,編寫Section "Screen",或者可以去掉這個惱人的提示。於是編寫Section "Screen"模塊,這個討厭的提示終於去掉了。

=============================================
Section "Screen"
Identifier    "Default Screen"
Monitor        "Configured Monitor"
Device        "Configured Video Device"
SubSection "Display"
Modes “1152x864@60" 
EndSubSection
EndSection
==================================
這個Modes “1152x864@60"就是指定分辯率,這裏面可以指定多個分辯率,排在第一位的是首選.比如:
Modes “1152x864@60" "1024x768@60" 
一般指定一個即可。@60是指定刷新率,這個可以去掉,沒必要在這裏設定。

請注意,這個Modes “1152x864@60" 必須位於SubSection "Display"和EndSubSection之間。這裏面沒必要詳加解釋,你只需明白,這個SubSection "Display"和EndSubSection之間是Section "Screen"區塊中的一個子區塊。指定分辯率的Modes選項必須位於這個子區塊裏。如此即可。

五、最後形成的xorg.conf

=========================================
Section "Device"
Identifier    "Configured Video Device"
EndSection

Section "Monitor"
Identifier    "Configured Monitor"
Horizsync 30-81
Vertrefresh 56-75
EndSection

Section "Screen"
Identifier    "Default Screen"
Monitor        "Configured Monitor"
Device        "Configured Video Device"
SubSection "Display"
Modes "1024x768" "1152x864"
EndSubSection
EndSection
======================================

這個文件中,實質的設定只有三行而已,其它的都是格式。

========================
Horizsync 30-81
Vertrefresh 56-75
Modes "1024x768" "1152x864"
========================

問題完美解決。
特別強調一下,如果你不能確切地搞到顯示器的行頻HorizSync 和場頻VertRefresh,就千萬不要寫這兩個選項,以免損壞顯示器。而採用直接填寫Modeline選項的辦法加以解決。

六、如果你的xorg.conf編寫不正確,導致進不了桌面,請在開機的時候選擇recovery mode進入,以root身份登陸文本界面,輸入:

rm /etc/X11/xorg.conf

這個命令會刪除掉xorg.conf文件。

 

 

 

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