当前位置:Linux教程 - Linux文化 - 在Linux环境下玩PlayStation模拟器

在Linux环境下玩PlayStation模拟器


  前言 安装/配置显卡驱动 安装/配置声卡驱动 驱动游戏手柄 安装并配置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) 下载驱动程序。到www.nvidia.com->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个方法修改配置文件: 使用nvidia-xconfig 命令 手动编辑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用法: ftp://download.nvidia.com/XFree86/Linux-x86/nvidia-settings-user-guide.txt

下面我们介绍ATI显卡驱动的安装和配置。 1) 下载驱动程序。在www.ati.com->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) 下载驱动程序。去http://www.alsa-project.org/上下载三个包: 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驱动/并口驱动/手柄驱动这些模块都被编译好了,我们只需要修改配置文件即可驱动手柄。 (在多数发行版本中,这些模块通常已被编译好,如果未被编译,可以参看www.linuxfans.org上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,在: www.ngemu.com 可以下载到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驱动下载页面: http://www.nvidia.com/object/unix.html

ATI Linux驱动下载页面: https://support.ati.com/ics/support/KBList.asp?folderID=300

Alsa声卡驱动下载页面: http://www.alsa-project.org/

Epsxe下载页面: http://www.ngemu.com/psx/epsxe.php?action=download

Epsxe Linux版插件下载页面: http://www.ngemu.com/psx/plugins.php?cat=1&os=linux

PS Bios下载页面: http://soft.studa.com/soft/8991.htm

Epsxe 1.60+必要插件+PS Bios+基本配置文件的下载页面: http://此处放打包的文件