|
|
|
#1 (permalink) |
|
Registered User
Join Date: Nov 2007
Location: US
Posts: 9
|
Linux Guide
Basically, this is a guide to help people that want to try pcsx2 on Linux. I'm using Ubuntu 7.10, so most of the examples will be specific for that, but I'll try to make it useful to everyone and thus long. Hopefully, this will cut down on the same Linux questions that seem to appear over and over.
1. Installing Linux and warnings to Linux newbies. You can read up on how to install the version of Linux you are using on that versions website. Please read all the important information. The easiest and safest way to install for dual boot(having Linux and Windows on the same box) is a separate harddrive for Linux that windows won't see. Even if you do install it on a separate hard most Linux's will by default install a boot loader to your system. This is potential dangerous as the bootloaders can destroy the partisan table of NTFS drives(yes it really does happen). The data may still be accessible in Linux if this does happen but not in windows. So make sure you find that boot loader option and don't let it touch your NTFS drive. I mention this because it is a default behavior of Ubuntu =/. Also, don't use that NTFS drive repartition thing, it also can cause data loss. Yup Linux isn't 100% safe, but if you read all the material you'll probably be okay. 2. Update Your System. You should probably update your system first. If you have Ubuntu do this, if not do whatever you need to update your system after install. Check your Linux's forum if need be. Click System> Administration> Synaptic Package Manager. Enter your password. Mark all Upgrades. Apply. Wait a long time...(depending how much you have to upgrade). System> Quit> Restart(If it doesn't ask you to restart you don't need to, duh). System> Administration> Update Manager> Check> Upgrade(not necessarily needed and might not be a good idea if the upgrade is an unstable version). Close. Start Upgrade. Wait some more...Remove Obsolete if you want. Restart. 3. Installing Graphics Card Drivers. Please do not use beta drivers! I will not post answers on how to uninstall and reinstall the proper drivers. Read the forum for your Linux for posts on how to install the default drivers for your graphics card. In Ubuntu, you can install the default graphics drivers for your card very easily. Click System> Administration> Restricted Drivers Manager. If you don't see Restricted Drivers Manager, search the Ubuntu forum for how to add it(I forget, something like Application> Add\Remove yada-yada). Find something that looks like graphics card drivers and Click Enable. Restart. Now you should be able to set your screen resolution correctly. But that can be a long process sometimes. So here's a link... https://help.ubuntu.com/community/Fi...esolutionHowto 4. Download the libraries required to compile pcsx2. Yeah even more steps. You need the following libraries to compile pcsx2(some might be repeats): gtk2 opengl libbz2 libjpeg glew-dev libxxf86vm-dev x11proto-xf86vidmode automake and autoconf (verion >= 1.9) Nvidia Cg-Toolkit (Cg Toolkit 1.5) libasound-dev joystick libbz2-dev subversion libjpeg62-dev build-essential libgtk2.0-dev libxxf86vm-dev x11proto-xf86vidmode-dev libSDL-dev libglu1-mesa-dev This command will download and install most of the packages. Apt-get isn't used in all Linux es, almost all though. You may or may not need sudo or su. sudo apt-get install subversion libjpeg62-dev build-essential libgtk2.0-dev libxxf86vm-dev x11proto-xf86vidmode-dev automake libbz2-dev libSDL-dev joystick libasound-dev autoconf libglew-dev Probably not required but some people thinks it is... sudo apt-get install libglu1-mesa-dev You also need these libraries, but they may have got installed already when installing the other stuff: gtk2 opengl libjpeg Now finally for Nvidia Cg-Toolkit (Cg Toolkit 1.5). Some Linuxes will be able to use apt-get again, some won't. If you use this command make sure its version 1.5: sudo apt-get install nvidia-cg-toolkit If that doesn't work. Go to Nvidia find the the link that matches your system the best. 64-bit Linux = 86-64, 32-bit = 86 (yeah I'm sure there is someone who couldn't figure that out). There are TAR.GZ files and RPM files. If your Linuxes doesn't support RPM you can use the alien package, if that's what you want to do. Don't do the following if the above command worked. sudo apt-get install alien Download the rpm somewhere where you can find it. Use the rpm that you downloaded instead of the one I used. sudo alien -i ./Cg-1.5_Sep2007.i386.rpm 5. Download the svn's latest copy of pcsx2. This command makes a directory called pcsx2 and downloads the svn copy there. If you change the last pcsx2 of the line it'll download there instead. svn co https://pcsx2.svn.sourceforge.net/svnroot/pcsx2 pcsx2 You may need to add sudo or su in front of the command and check the permissions of the directory you are using it from. If you don't have write permission it'll fail. 6. Compile There are some options and stuff, but more on that later. Assuming you downloaded it to pcsx2 cd pcsx2 sudo sh ./build.sh all This will build the pcsx2 file and make it belong to the "super user" and have those permissions. Some people are opposed to that cause its a security risk, so if you want you can also do this: cd pcsx2 sh ./build.sh all This will create permission problems for most versions of Linux so you'll need to use chmod. cd bin chmod 770 ./* Yes, this is a lazy approach and makes some stuff that shouldn't be executable executable. But it doesn't really bother me, if it bothers you change it. You may also need to change the permissions on the plugins(I just can't remember if I had to do this or not). If the plugins aren't read/write you'll have problems running or replacing them when recompiling. cd plugins chmod 660 ./* If it ends with "Nothing to be done for 'install-data-am'... and some other stuff. That means everything went well. If not don't panic sometimes changes in the SVN make it so that it won't compile. Usually it fails on a plugin. So you can find the plugin that failed in the plugins directory. Add "exit 0"(no quotes) to the second line of the build.sh file for that plugin(Don't forget to remove it later so it will compile). After you have compiled it once you can use the install command to compile new svn changed quickly. The install command doesn't recompile unless there is an updated file from the last time a compile happened. sudo sh ./build.sh install There is also the clean command. It deletes the old *.so and *.o files. There isn't much reason to use this unless you have reason to believe that an old compilation is messing up the new compile(should be impossible but I guess typos happen ?). Basically no reason to use this. sudo sh ./build.sh clean There are some other settings too. You can read about the various different settings in the pcsx2\INSTALL file. I'll add details on the other options later. 7. Setting Up Ok, you finally got it to compile. You probably shouldn't move pcsx2 from where its compiled to cause it'll just slow you down with updating the svns later on. It should compile to pcsx2\bin\ assuming you saved the svn to pcsx2. First add your bios to pcsx2\bin\bios\. Now run \pcsx2\bin\pcsx2. It should complain that it needs to be configured. Change the plugins directory first, if you don't it'll just close down whenever it tries to save data for some reason. It will also close down if the permissions are wrong for the directories. Typically pcsx2 runs as root or SU and everything goes fine. But on some Linuxes that won't work right. So you may have to make all the directories in the bin directory read/write(7 will work fine) for whatever user you are, highly unlikely that this is your problem. Ok so set up the various plugins as you want them to be. If you want to read ISOs from a NTFS drive or any other drive in linux don't forget to mount the drive before you start. Then select the file on that drive with one of the ISO CDVD plugins. You'll have to mount the drive again each time you umount it or restart your computer. Don't try use memcards on the NTFS drive. Writing to NTFS drives from a linux can end badly... 8. Random Bug fixes Pcsx2 closes after I try to save anything in the Configuration window. -Check the permissions on the directories and try selecting the plugins folder first. Also, don't move the plugins folder so that it is in a different directory than the pcsx2 and the inis folder. Pcsx2 doesn't save my options and it won't work with the memory cards. -Don't remember the solution, but I got around this. Try downloading the svn to another folder and compiling and running it there. PCSX2 crashes every time I try to start it. I use the ISO and bios in Windows, so I know their good. -If it every worked. Try downloading it again in a new directory and recompiling it, and don't change any of the default options. -If it never worked. It might be your graphics drivers, bios, ISO. Try reading the logs and figure out why its crashing. Also, make sure that the logs are actually new logs. The screen is black and freezes up and I have to use end process to close it. -Various different bugs, I forget the solution. Will change this later. There are weird black shapes instead of enemies. -If I find out how to fix this all add it to here later. The sound is messed up. It plays some of the time, but not all of the time. -If I find out how to fix this all add it to here later. The sound doesn't play at all. -Make sure that your sound card is working on your Linux. -Try using another sound plugin. It's slow. -It happens. And optimization tricks are mentioned in other threads. -The only thing about this that relates to Linux is recompiling with different options for the most part. My 64-bit Linux is slower than my 32-bit Windows. -The 64-bit optimization for pcsx2 isn't done yet. I can't use GSDX9 or GSDX10. -You can only use openGL plugins for the most part. Wine would allow you to run directX ones, but that'd be slow if it'd even worked. I can't see the console -If you run the program from the terminal and have the enable console option set, it should display the normal console stuff in the terminal. It says that I have SSE3 in the cpu config window, but when I run it the emulog says SSE3 not detected -Recompile with the --enable-sse3 option seems to work. The first time I tried that it didn't though, so maybe I did something else to fix this. Last edited by theMADscientist; December 16th, 2007 at 21:57. |
|
|
|
|
|
#2 (permalink) |
|
PCSX2 Coder
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Join Date: Jan 2004
Location: Plymouth, UK
Posts: 9,819
|
very good
added to the FAQ
__________________
http://www.generalemu.net/ Intel Core 2 Quad Q6600 @ 3.4Ghz (425x8), Leadtek GTX 280 1Gb, 1.8Tb HDs, 2Gb Corsair DDR2-800 @ DDR2-1020 5-5-5-18 Dual Channel Dont PM me for help, use the forums, thats what its for! |
|
|
|
|
|
#5 (permalink) |
|
Registered User
Join Date: Jul 2006
Location: Córdoba
Posts: 11
|
I have this "bug", while running pcsx2, the alt+enter function do not work. (i cant obtain full screen).
Ubuntu7.10 core q6600 g6600gt Thx for the guide. There is any way to compile the 0.9.4 stable release? Last edited by -=Lionheart=-; December 16th, 2007 at 19:35. |
|
|
|
|
|
#6 (permalink) | |
|
Registered User
Join Date: Nov 2007
Location: US
Posts: 9
|
Quote:
conf.options ^= GSOPTION_FULLSCREEN; to zerogs.cpp after bool ZeroGS::Create(int _width, int _height) { Of course you'll have to recompile the plugin after changing it. And you may need to use alt-ctrl-backspace to get out of it. Its probably better to wait for zero. As for the old versions. You can recompile the old versions in the branches directories. Using their build.sh files. The output will appear in that branches' Linux folder. Copy and paste the pcsx2 file to the bin directory or rename it before you do so you can have all the versions there. Then just run it. |
|
|
|
|
|
|
#8 (permalink) | |
|
Registered User
Join Date: Feb 2007
Location: Bordeaux (France)
Posts: 49
|
hello i have problem when i compile please :
i have this : Quote:
|
|
|
|
|
|
|
#9 (permalink) |
|
Registered User
Join Date: Nov 2007
Location: US
Posts: 9
|
sudo gets you around permission bugs. I accidently used sudo svn ... the first time and have been too lazy to fix it.
@Yassine You have some unusually warning messages at the beginning. But, they don't look like they are stopping the build. build.sh: ./configure: /bin/sh: bad interpreter: Permission non accordée That seems to be a permission error. But I can't replicate it, so not sure how to fix it. It might be from the aclocal warnings. Try this to see if your automake is up to date: sudo apt-get install automake1.9 |
|
|
|
|
|
#10 (permalink) |
|
Registered User
Join Date: Feb 2007
Location: Bordeaux (France)
Posts: 49
|
hello thanks you now i have new message now :
Code:
root@Nadia-Elive[/mnt/windows_C/psx2/pcsx2]# sh ./build.sh all ---------------------------------------- Building Graphics Synthesizer plugins... ---------------------------------------- ---------------------- Building ZeroGS OpenGL ---------------------- /usr/share/aclocal/libmcrypt.m4:17: warning: underquoted definition of AM_PATH_LIBMCRYPT run info '(automake)Extending aclocal' or see http://sources.redhat.com/automake/automake.html#Extending-aclocal build.sh: ./configure: /bin/sh: bad interpreter: Permission non accordée make: *** Pas de règle pour fabriquer la cible « clean ». Arrêt. make: *** Pas de règle pour fabriquer la cible « install ». Arrêt. Error with building plugins root@Nadia-Elive[/mnt/windows_C/psx2/pcsx2]# |
|
|
|
|
|
#11 (permalink) | |
|
Registered User
Join Date: Nov 2007
Location: US
Posts: 9
|
Quote:
The last line answers the question of what the error message means. Basically you don't have the right permissions do what you are trying to do in "/mnt/windows_C/psx2/pcsx2". Probably better to compile it some where else. |
|
|
|
|
|
|
#12 (permalink) |
|
Registered User
Join Date: Feb 2007
Location: Bordeaux (France)
Posts: 49
|
hello
well i trying to compile on fat32 partition!and that the no permissions! well now i have compile with this error message please : Code:
t -f 'targets.cpp' || echo './'`targets.cpp; \ then mv -f ".deps/libZeroGSogl_a-targets.Tpo" ".deps/libZeroGSogl_a-targets.Po"; else rm -f ".deps/libZeroGSogl_a-targets.Tpo"; exit 1; fi if gcc -DPACKAGE_NAME=\"ZeroGSogl\" -DPACKAGE_TARNAME=\"zerogsogl\" -DPACKAGE_VERSION=\"0.96.2\" -DPACKAGE_STRING=\"ZeroGSogl\ 0.96.2\" -DPACKAGE_BUGREPORT=\"zerofrog@gmail.com\" -DPACKAGE=\"ZeroGSogl\" -DVERSION=\"0.96.2\" -DNDEBUG=1 -DRELEASE_TO_PUBLIC=1 -DZEROGS_SSE2=1 -DHAVE_GL_GL_H=1 -DHAVE_GL_GLU_H=1 -DHAVE_GL_GLEXT_H=1 -I. -I. -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/opt/cg/include -L/opt/cg/lib -O3 -fomit-frame-pointer -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/opt/cg/include -L/opt/cg/lib -O3 -fomit-frame-pointer -MT libZeroGSogl_a-zerogs.o -MD -MP -MF ".deps/libZeroGSogl_a-zerogs.Tpo" -c -o libZeroGSogl_a-zerogs.o `test -f 'zerogs.cpp' || echo './'`zerogs.cpp; \ then mv -f ".deps/libZeroGSogl_a-zerogs.Tpo" ".deps/libZeroGSogl_a-zerogs.Po"; else rm -f ".deps/libZeroGSogl_a-zerogs.Tpo"; exit 1; fi zerogs.cpp:321: warning: non-local variable ‘<anonymous union> g_vars’ uses anonymous type zerogs.cpp: In function ‘bool ZeroGS::Create(int, int)’: zerogs.cpp:946: error: ‘cgSetErrorHandler’ was not declared in this scope zerogs.cpp: In function ‘void SetupFragmentProgramParameters(FRAGMENTSHADER*, int, int)’: zerogs.cpp:1956: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:1960: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:1961: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:1962: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:1963: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:1964: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:1965: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:1966: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:1967: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:1968: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:1969: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:1970: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:1971: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:1972: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:1976: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:1984: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:1991: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:1998: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:2005: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:2010: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:2015: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:2020: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:2025: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:2030: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:2037: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:2042: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:2046: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:2050: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:2054: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp: In function ‘void SetupVertexProgramParameters(_CGprogram*, int)’: zerogs.cpp:2063: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:2067: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:2072: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:2076: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:2080: error: ‘cgIsParameterUsed’ was not declared in this scope zerogs.cpp:2084: error: ‘cgIsParameterUsed’ was not declared in this scope make[1]: *** [libZeroGSogl_a-zerogs.o] Erreur 1 make[1]: quittant le répertoire « /home/nadia/log/pcsx2/plugins/gs/zerogs/opengl » make: *** [install-recursive] Erreur 1 Error with building plugins nadia@Nadia-Elive[~/log/pcsx2]$ |
|
|
|
|
|
#15 (permalink) |
|
The FORCE is my ally
![]() ![]() Join Date: Jul 2003
Location: italy
Posts: 176
|
nice stuff! i might create an Ebuild for gentoo!
__________________
CPU: AMD Athlon 64 4000+(939 SanDiego CORE)@2,6Ghrz MoBo: ABIT Fatal1ty AN8 SLi RAM: Corsair 2GB DDR Dual Channel GPU: Geforce 68000 Ultra PCIEX: 16X >> Monitors: LG Flatron F700B 17''CRT <> Hyundai ImageQuest L17T SPU: ABIT internal AudioMAX 7.1 + EAX >> Audio Out: My HiFi HDDs SATA: MAXTOR 200GB x2 HDDs IDE: MAXTOR 80GB DVDRW: Pioneer 108 Connection: ADSL Router Hamlet HDSL 740 @4Mbs/256Kbs OSes: WinXP Pro@SP2 <> GNU/Linux Gentoo <> APPLE Darwin 8.4 <> DOS 6.22 |
|
|
|
|
|
#17 (permalink) |
|
Registered User
![]() ![]() Join Date: Sep 2007
Location: norway
Posts: 125
|
i have just compiled the pcsx2 build in linux and how do i run isos? i have the choices of efp polling cdvd 0.4.0 and cdvdnull. in polling i can only choose a device.
__________________
![]() pc configuration: cpu: AMD Athlon 64 X2 6000+ 3.0GHz Socket AM2, GPU: XFX GeForce 8800GTS 640MB, MoBo: Asus M2N32-SLI Deluxe, RAM: Corsair PC5300 2x1024MB, case: Cooler Master Centurion 534, HDs: Seagate Barracuda 500GB, maxtor 3200 500GB ext.Hd, Os: Ubuntu 8.04 and Windows XP 64 in dual boot. my website Last edited by krissgjeng; January 2nd, 2008 at 20:18. |
|
|
|
|
|
#19 (permalink) |
|
Registered User
Join Date: Nov 2007
Location: US
Posts: 9
|
@krissgjeng
There should be two other plugins for isos, EFP iso and Linuxappz iso. If you don't have those plugins try recompiling the emulator with the latest svn. @Yassine 1 of 3 things is wrong. 1. The libZeroGS... file is in the folder or doesn't exist. Make sure it does exist and has a file size that isn't 0. If you disabled the file creation by adding exit 0 or whatever to the build file, you have to have this file at least once so this isn't an option to not compile it. If you downloaded the 0.9.3 linux files, you still need to compile the libZeroGS... file. 2. The permissions for the libZeroGS... file are wrong. If the file does exist and it is in the same folder as the other plugins it needs to have the read permission flag set. Make sure it has the same permissions and owner as the other plugins. 3. Random Weirdness. The file exist and compiled without errors, but for whatever reason it can't do the simplest of actions which is to return its name and type. Also, all the other plugins work fine and you didn't do anything different to the graphics plugin. Maybe a SVN error or something. Err, wait for zero to answer your questions then XD. |
|
|
|
|
|
#20 (permalink) |
|
Registered User
Join Date: Feb 2007
Location: Bordeaux (France)
Posts: 49
|
well
for the rights i have this : Code:
-rwxr-xr-x 1 root root 50024 2008-01-04 14:06 cfgCDVDiso -rwxr-xr-x 1 root root 86832 2008-01-04 14:06 cfgCDVDisoEFP -rwxr-xr-x 1 root root 32316 2008-01-04 14:06 cfgCDVDlinuz -rwxr-xr-x 1 root root 14800 2008-01-04 14:06 cfgFWnull -rwxr-xr-x 1 root root 13692 2008-01-04 14:06 cfgUSBnull -rwxr-xr-x 1 root root 67530 2008-01-04 14:06 libCDVDisoEFP.so -rwxr-xr-x 1 root root 60037 2008-01-04 14:06 libCDVDiso.so -rwxr-xr-x 1 root root 41950 2008-01-04 14:06 libCDVDlinuz.so -rwxr-xr-x 1 root root 4800 2008-01-04 14:06 libCDVDnull.so -rwxr-xr-x 1 root root 6727 2008-01-04 14:06 libDEV9null.so -rwxr-xr-x 1 root root 9345 2008-01-04 14:06 libFWnull.so -rwxr-xr-x 1 root root 28248 2008-01-04 14:06 libSPU2null.so -rwxr-xr-x 1 root root 72150 2008-01-04 14:06 libspu2PeopsOSS.so.1.6 -rwxr-xr-x 1 root root 9471 2008-01-04 14:06 libUSBnull.so -rwxr-xr-x 1 root root 525389 2008-01-04 14:06 libZeroGSoglr.so.0.96.2 -rwxr-xr-x 1 root root 74914 2008-01-04 14:06 libZeroPAD.so.0.2.0 -rwxr-xr-x 1 root root 130840 2008-01-04 14:06 libZeroSPU2.so.0.1.0 -rw-r--r-- 1 root root 0 2008-01-04 14:10 ll.txt -rw-r--r-- 1 root root 106682 2008-01-04 14:06 ps2hw.dat Code:
plugins/libZeroGSoglr.so.0.96.2: undefined symbol: glXGetProcAddress plugins/libZeroGSoglr.so.0.96.2: undefined symbol: glXGetProcAddress i think! some one can help please?? |
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|