在Linux環境下玩PlayStation模擬器(轉)

BSDLite發表於2007-08-11
在Linux環境下玩PlayStation模擬器(轉)[@more@]daweicheng

前言
安裝/配置顯示卡驅動
安裝/配置音效卡驅動
驅動遊戲手柄
安裝並配置Epsxe
製作PlayStation光碟映象
遊戲截圖及相關資源的連結

前言

從1990年至今,Linux經過了15年的發展。如今,她已在伺服器領域佔據了一席之地。憑藉著開源社群的努力,Linux系統在多媒體方面也有了長足的進步。
本文將介紹如何在Linux環境下驅動顯示卡/音效卡/手柄,並配置和執行PlayStation(以下簡稱PS)模擬器。文章的目的在於介紹Linux下的多媒體環境的配置,並以Epsxe(目前最好的PS模擬器)作為一個例項應用。希望能夠起到拋磚引玉的作用。



作者的主要硬體配置:
CPU:AthlonXP 2000+
主機板:Epox 8RDA3I
顯示卡:基於Nvidia GeForce FX 5200 Ultra顯示晶片
音效卡:主機板整合,基於Realtek Alc 655晶片
手柄:PS手柄+Gametec USB轉接盒/PS轉列印口連線線



作者的主要軟體配置:
Red Hat Linux 9.0
Fedora Core 4
自定義安裝(包括核心原始碼,make,gcc等編譯工具,Xwindow環境)





安裝/配置顯示卡驅動



這裡我將介紹Nvidia/ATI顯示卡驅動的安裝。裝好驅動後,顯示卡將使用OpenGL加速(未安裝官方驅動前,系統以MesaGL驅動顯示卡,效果和速度都遠不及OpenGL)。
首先,介紹Nvidia驅動的安裝和配置。
1) 下載驅動程式。到>download drivers-> Linux, FreeBSD, and Solaris Drivers頁面,然後根據自己的平臺選擇驅動程式。我選的是Linux IA32(適合32位cpu),下載NVIDIA-Linux-x86-*-pkg1.run(*表示版本號)的驅動檔案。
2) 安裝驅動程式。Linux系統執行級別為3下(如果你啟動了Xwindow,請用root執行init 3進入執行該模式),
進入下載檔案的目錄,root身份執行:
sh NVIDIA-Linux-x86-*-pkg1.run
然後按方向鍵和回車確認是否安裝驅動,在驅動安裝好後,我們開始修改Xwindow的配置檔案。
3) 配置驅動程式。
關於Xwindow的配置檔案:
在Red Hat Linux 9.0中,X Server程式使用了XFree86,配置檔案為/etc/X11/XF86Config
在後期的版本中,如Fedora Core 2之後,X Server程式使用的是X.org X server,配置檔案為/etc/X11/xorg.conf
請根據自己的情況選擇需要修改的Xwindow配置檔案。
這裡,你有2個方法修改配置檔案:
<1> 使用nvidia-xconfig 命令
<2> 手動編輯Xwindow配置檔案
其中第一個方法提供了互動式的介面,簡單選擇yes/no就可以了。
這裡我們介紹第二種方法:
首先,備份Xwindow配置檔案,然後用文字編輯器(如vi)修改配置檔案:
把欄位Driver "nv"(這裡也可能是Driver "vesa"或Driver "fbdev")
改為Driver "nvidia"
然後在欄位:
Load "dri"
Load "GLCore"
前面加上#號,把這兩行註釋掉
最後,在Module section段,確保有這麼一行(如果沒有,請加上):
Load "glx"
然後執行startx或init 5進入Xwindow,你會看見Nvidia的Logo,然後進入登陸介面。
至此,Nvidia的驅動已安裝完成。在Xwindow下,Nvidia提供了一個圖形化的顯示卡設定工具,執行nvidia-settings,你就可以自定義驅動選項。為了能夠在機器重啟後裝載修改後的設定,可以在/etc/X11/xinit/xinitrc中加入一行(注意後面的引數是小寫的L):
nvidia-settings –l
在下面的地址中,有非常詳細的nvidia-settings用法:




下面我們介紹ATI顯示卡驅動的安裝和配置。
1) 下載驅動程式。在>drivers & software->Linux Display Drivers and Software,根據自己的平臺和顯示卡型號選擇驅動,如果是x86 CPU,鐳系列顯示卡,選擇RADEON->ATI Proprietary Linux x86 Display Drivers for XFREE86 / X.Org Version *->ATI Driver Installer,下載ati-driver-installer-*-i386.run
2) 安裝驅動程式。執行
sh ati-driver-installer-*-i386.run
然後選擇自動或手動安裝,手動安裝可根據自己卡的情況選擇具體選項。
4) 配置驅動程式。這一步需要在執行級別3下進行。如果Xwindow已執行,請用root身份執行init 3切換到執行級3下,然後執行/usr/X11R6/bin/fglrxconfig。該程式提供了互動式的介面,在選擇了鍵盤/滑鼠/重新整理率/解析度等引數後,選擇寫入Xwindow配置檔案中(建議先備份Xwindow配置檔案,關於配置檔案的位置,請看Nvidia驅動安裝第3步驟的“關於Xwindow的配置檔案”段)。
這樣,驅動程式安裝配置完成。切換到Xwindow環境下(執行級5,root身份執行init 5即可),執行fglrxinfo(或glxinfo)可以檢視驅動是否成功安裝。



安裝/配置音效卡驅動



(1) Red Hat Linux 9.0
Red Hat Linux 9.0中可以識別我的音效卡,使用的驅動是OSS/free(效果一般)。如果系統提供的OSS/free不能識別你的音效卡,則可以考慮Alsa驅動
Alsa是一個非常優秀的音效卡驅動程式,並且對絕大多數音效卡都提供了較好的支援。
下面,介紹如何安裝和配置Alsa驅動。
首先,root身份關閉kudzu程式(用於檢測新硬體的程式):
service kudzu stop
chkconfig –level 35 kudzu off
如果系統可以識別你的音效卡(使用OSS/free驅動),在/etc/modules.conf中,將含有“alias sound-slot”的行注視掉(在行首加上#號)。



1) 下載驅動程式。去上下載三個包:
alsa-driver-*.tar.bz2 (驅動)
alsa-lib-*.tar.bz2 (庫檔案)
alsa-utils-*.tar.bz2 (配置工具包)
2) 編譯驅動程式。
先執行:
cd /usr/src
ln –s linux-核心版本號 linux
然後將3個壓縮包解壓:
tar jxvf alsa-driver-*.tar.bz2
tar jxvf alsa-lib-*.tar.bz2
tar jxvf alsa-utils-*.tar.bz2
編譯安裝驅動程式:
cd alsa-dirver*
./configure
make
make install
./snddevices
cd ../ alsa-lib*
./configure
make install
cd ../ alsa-utils
./configure
make install
3) 修改配置檔案。修改/etc/modules.conf,在檔案中加上相面幾行:
# ALSA portion
alias char-major-116 snd
options snd major=116 cards_limit=1
# OSS/Free portion
alias char-major-14 soundcore
# ALSA portion
alias snd-card-0 snd-intel8x0
options snd-intel8x0 index=0 id="ICH"
# OSS/Free portion
alias sound-slot-0 snd-card-0
# OSS/Free portion - card #1
alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
其中snd-intel8x0為音效卡驅動模組,在/lib/modules/核心版本/kernel/sound/下可以找到。請根據自己音效卡的型號選擇相應的驅動模組。
接下來,執行alsamixer,出現有條狀圖形的混音器,按上下左右游標鍵調節,注意,如果條狀圖上有"MM"的字樣,說明是靜音,按m鍵將靜音去掉.調好之後,按esc退出。之後執行:alsactl store儲存設定。為了能讓Alsa在啟動時自動載入,請執行:chkconfig –-add alsasound和chkconfig –level 35 alsasound on
(2) Fedora Core 4
2.6核心自帶了Alsa驅動,並在系統安裝時已自動設定好。如果需要安裝最新的Alsa驅動,可以參照上面的1)2)3)步驟。
驅動遊戲手柄
Red Hat Linux 9.0/Fedora Core 4中,usb驅動/並口驅動/手柄驅動這些模組都被編譯好了,我們只需要修改配置檔案即可驅動手柄。
(在多數發行版本中,這些模組通常已被編譯好,如果未被編譯,可以參看上llc的文章《編譯核心讓之支援PS並口改裝手柄!》這裡有非常詳細的講解)
通常,我們驅動手柄的方法很簡單:
(1) Red Hat Linux 9.0
1) usb手柄(或PS手柄+USB轉接線)的驅動方法:
修改/etc/modules.conf
在其中加入下面幾行即可:
# Linux Joystick Driver
alias char-major-13 input
above input joydev
2) PS手柄+列印口轉換線(多數列印口手柄就是這兩者的結合)
修改/etc/modules.conf
在其中加入下面幾行:
# Linux Joystick Driver
alias char-major-13 input
above input joydev gamecon
options gamecon gc=0,7,7
其中0表示第一個列印口,7表示PS改裝手柄,這裡兩個7表示2個PS手柄(並口最多可以接5個手柄),如果你只有一個手柄,gamecon的引數寫0,7就可以了



(2) Fedora Core 4
1) usb手柄(或PS手柄+USB轉接線)的驅動方法:
無需作任何設定。當插上手柄後,裝置檔案/dev/input /js*會自動生成。
2) PS手柄+列印口轉換線
在/etc/rc.d/rc.local中加入:
/sbin/rmmod lp
/sbin/modprobe gamecon map=0,7,7
/dev/input/js*就是手柄對應的裝置檔案,這裡js0表示第一個手柄,js1表示第二個,以此類推。



測試遊戲手柄
執行命令jstest js*可以測試手柄。如果按下手柄上的按鍵螢幕上有相應的顯示,則說明手柄驅動成功。



安裝並配置Epsxe
Epsxe是目前最優秀的PS模擬器,最新版本是1.60,在:

可以下載到Linux版本的Epsxe和Linux下的外掛。
另外,Epsxe需要用到dump出來的PS bios檔案。我們可以用相容性較好的scph 1001.bin,這個在網上可以找到。
1) 解壓和安裝。我們需要下載的檔案列表:
epsxe160lin.zip
gpupeopssoftx117.tar.gz
gpupetexgl207.tar.gz
padJoy082.tar.gz
spupeopsoss109.tar.gz
scph 1001.bin
tar.gz檔案的解壓:用tar zxvf filename.tar.gz
zip檔案的解壓:用unzip –d 解壓的目的目錄 filename.zip
將scph 1001.bin放到Epsxe的bios目錄下。
外掛的安裝:將外掛解壓,將*so*的檔案放到Epsxe下的plugins目錄下,並將*.cfg和cfg*的檔案放到cfg目錄下(*.cfg為配置檔案,cfg*為配置程式)
2) 配置Epsxe。
因為Epsxe在配置時會尋找libbz2.so.1.0,而在Red Hat Linux 9.0下,這個檔案其實是libbz2.so.1.0.2,我們只要做個連線即可,以root身份執行:
cd /usr/lib
ln -s libbz2.so.1.0.2 libbz2.so.1.0
好了,這樣配置Epsxe時就不會因為找不到libbz2.so.1.0而異常退出了。
在Fedora Core 4中則無需上述設定。
可以使用普通使用者身份配置和執行Epsxe(注意相應的許可權設定)
epsxe的全域性配置檔案為.epsxe_rc
在Epsxe->Config選單下,是我們需要配置的外掛選項。我們可以選擇具體設定項後點選Configure來進入圖形化的配置介面,也可以直接修改cfg/下的*.cfg配置檔案。下面我逐一介紹*.cfg檔案中重要的設定(如果需要用圖形化配置,請確保cfg/下的cfg*檔案為可執行許可權):
Video->Pete’s XGL2 Driver
[screen]段:
ResX = 1024 # X resolution (def=640)
ResY = 768 # Y resolution (def=480)
FullScreen = 1 # fullscreen (0/1, def=0), still needs correct ResX/Y!
NoRenderTexture = 1 # Don't use the ATI_render_texture extension (0/1, def=0)
上述設定遊戲解析度和是否全螢幕顯示。
請注意,如果是Nvidia顯示卡,請務必使NoRenderTexture = 1,否則將不能正常驅動顯示卡。
[textures]段:
TexFilter = 6 # texture filtering (def=0: none ,1-6: filtering)
HiResTextures = 2 # hires textures (0=none, 1=2xSaI, 2=Scale2X, def=0)
上述設定3D渲染的效果,數字越大效果越好,請根據自己硬體的情況設定。
[framerate]段:
ShowFPS = 1 # show fps menu on startup (0/1, def=0)
UseFrameLimit = 1 # fps limitation (0/1, def=0)
UseFrameSkip = 0 # frame skipping (0/1, def=0)
FPSDetection = 1 # rate detection (0:user val,def=1:auto)
FrameRate = 60 # user value for frame rate (1-1000)
其中ShowFPS是指是否顯示FPS值(在畫面的左上角),0表示不顯示
UseFrameLimit表示限制楨數,這一項一般設定為1,否則速度可能不正常
UseFrameSkip表示跳楨,當硬體不夠快時需要設定為1,以達到遊戲正常速度
FPSDetection表示自動偵測FPS值,1表示自動偵測,0表示使用使用者定義值
FrameRate表示使用者設定的遊戲FPS值,60為PS的標準設定,如果超過60,遊戲速度將會變快,低於60則相反
[filters]段:
ScreenFilter = 1
上面的選項相當於全屏抗鋸齒,開啟後畫面有很大增強。當然,這需要夠快的硬體
[misc]段:
MdecFilter = 1 # movie filter (0/1, def=0)
MdecFilter設定為1可以增強PS過場電影的播放效果
其餘選項,一般使用預設值即可
Sound->P.E.Op.S OSS Audio Driver
DisStereo = 0
這項設定聲音是否為立體聲,0為立體聲。
Cdrom->/dev/cdrom
請確保對應的裝置正確。/dev/cdrom只是光碟機裝置的一個連線。如果光碟機接在ide0上做主盤,裝置為/dev/hda,從盤為/dev/hdb。若接在ide1上,主從盤裝置對應為/dev/hdc和/dev/hdd。
Bios->bios/scph 1001.bin
Netplay->Disabled
Memory Card->選擇記憶卡檔案
Game Pad->如果用鍵盤玩,請設定這一項
Ext.Game Pad->ammoQ’s PadJoy Device Driver
這一項設定手柄,建議使用圖形化配置。先設定手柄的裝置檔案,一般為/dev/input/js*,其中*為手柄的編號。點選需設定的按鈕後,按下手柄上對應的按鍵。這裡還可以定義宏,不過不是必需的。如果要設定模擬搖桿及其對應的按鈕,需要按下PS手柄上的Analog鍵(DUAL SHOCK手柄)。
至此,Epsxe設定完成。
File->Run CDROM可以執行cdrom中的遊戲光碟(不需要mount)
File->Run ISO可以執行PS光碟映象檔案
好了,拿起你的手柄,體驗一下精彩的PS遊戲世界吧。



製作PlayStation光碟映象



為了減少光碟機的損耗,我們可以製作光碟iso儲存在硬碟上,然後用epsxe直接執行iso。在Windows下,我們通常用cdrwin來製作映象。那麼,Linux下呢?我們可以用cdrdao工具製作PlayStation的光碟映象。
首先,安裝好cdrdao和cdrecord工具包(在系統安裝光碟上有)。
接下來:
1) 確定自己光碟機的id號。
如果是燒錄機,並且使用scsi模擬的話,命令為:
cdrecord –scanbus
這樣,我們可以得到燒錄機的id號,假定為0,1,0
則裝置號為ATA:0,1,0
如果是普通ide光碟機,命令為:
cdrecord –scanbus dev=ATAPI
我們得到了光碟機的id號,假定為0,1,0
則裝置號為ATAPI:0,1,0
2) 製作PS光碟映象。
cdrdao read-cd --read-raw --datafile xxx.bin --device ATAPI:0,1,0 --driver generic-mmc-raw xxx.toc
其中ATAPI:0,1,0為裝置號,請根據自己情況設定。
xxx.bin和xxx.toc為光碟映象檔案和光碟內容表,我們需要用到的是xxx.bin。
好了,執行epsxe->File->Run ISO,選擇光碟映象檔案,我們就可以玩硬碟版的PS遊戲了。



遊戲截圖及相關資源的連結



截圖
截圖1 Epsxe的設定圖
截圖2 Tekken 3
截圖3 Metal Gear Solid - 1
截圖4 Metal Gear Solid - 2
截圖5 Winning Eleven 2000



相關資源連結:



Nvidia Linux驅動下載頁面:




ATI Linux驅動下載頁面:




Alsa音效卡驅動下載頁面:




Epsxe下載頁面:




Epsxe Linux版外掛下載頁面:




PS Bios下載頁面:




Epsxe 1.60+必要外掛+PS Bios+基本配置檔案的下載頁面:
http://此處放打包的檔案

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-947551/,如需轉載,請註明出處,否則將追究法律責任。

相關文章