現在市面上的大多數顯示卡配有兩個視頻輸出(雙VGA或者雙DVI或者VGA + DVI),在Windows XP下借助驅動程序我們很容易配置雙顯,獲得雙倍的顯示面積。那麼,對於一些Linux愛好者來說是不是雙顯在Linux下同樣可用呢?筆者在VNIDIA的顯卡上經過一番摸索,答案是肯定的。下面以為Linux發行版:Fedora Core 3(以下簡稱FC3)為例,給出配置過程。
相關硬件:顯示卡:GeFore4 MX440 8X 雙VGA輸出;顯示器:TCL15英寸CRT,EMC15英寸CRT
相關軟件:Linux發行版:Fedora Core 3;NVIDIA驅動程序為7167
注:所有在Linux中的操作均要求使用root用戶。
第一步,確定兩台顯示接在顯卡上的順序,告訴你一個簡便易行的辦法:在Windows XP中打開“顯示 屬性”,打開“設置”選項卡,單擊“識別(I)”按鈕,這時你就會看見1、2,剩下的就不用我說了吧。在我的機器上TCL的為1號,EMC的為2號,1號在左側,2號在右側。如圖-1。
圖 1
第二步,到http://www.nvidia.com/object/linux.html選擇合適的驅動下載。注意:Linux IA32表示我們適用於一般的32位Intel PC機,比如:P2、P3、P4、賽揚等;Linux IA64表示適用於Intel安騰CPU的計算機;Linux AMD64/EMT64表示適用於支持AMD64或者EMT64技術的64CPU的計算機,比如:Athlon64 3000+或者PENTIUM 4 630等。筆者的CPU是Intel Pentium 4 2.4C,所以選擇Linux IA32。
第三步,由於NVIDA的Linux版驅動程序是編譯安裝的,所以要求Linux中安裝GCC編譯器和正在使用的內核的源代碼文件。如果在安裝FC3時選擇了安裝“開發工具”,那麼就已經包含了;如果沒有則可以通過FC3中的添加/刪除進行安裝。如圖-2。
圖 2
第四步,確保在字符終端中登陸,因為NVIDIA的顯卡驅動程序安裝時X服務器不能運行。如果默認是啟動圖形界面登陸,登陸FC3,用文本編輯器(比如:gedit或者vi)打開/etc/inittab這個文件,找到“id:5:initdefault:”,將其中的5(就是兩個冒號中間的那個)改為3(將3改回5即可默認從圖形界面登陸),保存,重新啟動計算機,在進入登陸界面就是字符終端了。如圖-3。
圖 3
第五步,使用如下命令備份Xorg的配置文件(備份的文件名為xorg.conf.bak),“cd /etc/X11”、“cp ./xorg.conf ./xorg.conf.bak”。注意區分大小寫。
第六步,登陸後進入下載的驅動程序所在的目錄,如果這個目錄所在的硬盤分區並不是一個ext2或者ext3分區,比如FAT32或者NTFS,請把驅動程序拷貝到一個ext2或者ext3的分區上去,再進入所在目錄,使用“sh ./文件名”的格式運行安裝程序,比如:sh ./NVIDIA-Linux-x86-1.0-7167-pkg1.run,之後是一個綠色為主的界面,詢問是否接受協議,是否訪問ftp服務器查看最新的版本,之後開始安裝(這段時間較長),安裝完畢自動退出到字符終端。這時用startx啟動圖形界面,兩個顯示器已經可以同時正常顯示相同的內容了。推薦以下的工作啟動用statrx啟動到圖形界面下用gedit來來作。
第七步,用文本編輯器打開Xorg的配置文件(路徑為:/etc/X11/xorg.cong),找到“Section "Monitor"”,由於沒有進行過雙顯的配置,所以只有一個,並且為1號顯示器的配置。將它的“Identifier”項的原始值(為了簡便,以後對“某某項的原始值”簡稱為“某某項”)改為“MonitorTCL”,然後將這個顯示器的配置信息整個復制一份,並修改“Identifier”為“MonitorEMC”,作為2號顯示器的配置信息。如果兩個顯示器的性能不同,只需修改相關項即可。
第八步,找到“Section "Device"”,將“Deiver”項改為“nvidia”(注意大小寫);添加新項“BusID”,設置值為“PCI:1:0:0”,這個值是一個字符串值,要用英文的雙引號標注;添加新項“Screen”,設置值為0,這是一個整數值,不用雙引號標注;將“Identifier”項改為“AGP1”,作為1號顯示器連接的適配器;將這個適配器的配置信息整個復制一份,並修改“Identifier”項為“AGP2”,作為2號顯示器連接的適配器。
第九步,找到“Section "Screen"”,將“Device”項改為“AGP1”,將“Monitor”項改為“MonitorTCL”,將“Identifier”項改為“ScreenEMC”,作為在TCL顯示器上的顯示屏幕;將這個顯示屏幕的配置信息整個復制一份,並修改“Identifier”項為“ScreenEMC”,作為在EMC顯示器上的顯示屏幕。
第十步,找到“Secion "ServerLayout”,找到“Screen”項,這時只有一個,並且看起來大概這樣:“0 "Screen0" 0 0”,將它改為:“0 "ScreenTCL" 0 0”,加入一個新的“Screen”項,並設置值為:“1 "ScreenEMC" RighOf "ScreenTCL"”。如果你想讓程序的窗口可以象在Widnows XP中那樣在兩個顯示器間自由的穿梭,添加兩個新“Option”項,分別設置值為:“"Xinerama" "on"”,“Clone" "off"。無論是否加入這兩個參數,Gnome的工具欄都可以在兩個顯示器的任意邊上(只是加入的情況下需要自己從第一拖動到第二個上);Realplay 10在全屏播放時只在一個顯示器上,不會被拉長。注意,修改的具體值不包括中文雙引號,但是包括英文雙引號!
OK,到此為止,你可以嘗試著輸入“startx”命令,如果看到NVIDIA的Logo一閃而過,這說明你NVIDIA的驅動程序安裝成功!如果能進入桌面,就可以嘗試在Linux下的雙顯示器體驗了!如圖-3。如果啟動失敗,依次使用:“cd /etc/X11”、“cp ./xorg.conf.bak ./xorg.conf”命令恢復原始配置文件,然後從第六步重新開始。
圖 4
最後,說一下在第十步中加入和不加入兩個“Option”的區別:不加入,兩個顯示器的桌面是相互獨立的,也就是說程序的窗口不能在兩個顯示器之間來回穿梭;加入,兩個顯示器的桌面合而為一,程序的窗口可以在兩個顯示器之間來回穿梭,桌面背景橫跨連個顯示器,如果你的桌面背景選擇拉伸模式,圖片會被拉伸成“超寬”。所以,我用Gimp將連個兩張圖合成一個,^_^。還有,如果兩個桌面(也就是“Screen”)的分辨率不一致,據說可能引起Gnome或者KDE的不穩定,這個我沒試,就留給廣大讀者去探索了。