..:: PCSX2 Forums ::..

Full Version: PCSX2 for Fedora
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
The latest PCSX2 is currently being rolled out in rpmfusion repository. This means the easiest way to get pcsx2 is to download it with the package manager from the rpmfusion repository. This can be done from the command line as follows:

1. You'll need the RPM Fusion repositories installed. If you're unsure how to do this check out this guide:
http://www.2daygeek.com/install-enable-r...dora-rhel/#

2. (as root) install pcsx2 using dnf (fedora 22)


Code:
dnf install pcsx2

3. There will be a menu item created under -applications-games-PCSX2; select this to start (or as a normal user type PCSX2 at the terminal)
4. You will need a valid PS2 bios in ~/PCSX2/bios to get started.

If you are quick off the mark, the packages may yet to be built on rpmfusion, so, alternatively, you can download them directly here.

(NOTE: As ever PCSX2 is built for x686 but is compatible with x86_64 versions of Fedora too.)

[attachment=59109]
[attachment=59110]

Installation Instructions for Fedora 22 and 23:

1. You'll need the RPM Fusion repositories installed. If you're unsure how to do this check out this guide: http://rpmfusion.org/Configuration/
2. Download the rpm package attached above.
3. If you are running Fedora 22, then type the following in the  terminal as root (note you must be in the same directory as the package is extracted for this to work):
Code:
tar -xvf pcsx2-1.4-1.fc22.i686.rpm.tar.gz
dnf install pcsx2-1.4-1.fc22.i686.rpm

If you are running Fedora 23, then type the following in the terminal as root (note you must be in the same directory as the package is extracted for this to work)


Code:
tar -xvf pcsx2-1.4-1.fc23.i686.rpm.tar.gz
dnf install pcsx2-1.4-1.fc23.i686.rpm

4. There will be a menu item created under -applications-games-|PCSX2; select this to start (or as a normal user type PCSX2 at the terminal)
5. You will need a valid PS2 bios in ~/.config/PCSX2/bios to get started
cmake option -DFORCE_INTERNAL_SOUNDTOUCH=FALSE

Edit: others option to use
-DL10N_PORTABLE=FALSE
-DCMAKE_INSTALL_PREFIX="/usr"

At the end do a make install (for translation).
Note: only PCS2 core is GPLV3. For a headache => debian-unstable-upstream/copyright
Quote:At the end do a make install (for translation).

I'm struggling to understand what you mean? - but clearly you mean something important as I can't seem to make install without an error, despite altering the script

Code:
make[1]: Leaving directory `/builddir/build/BUILD/pcsx2-4801'
/usr/bin/cmake -E cmake_progress_start /builddir/build/BUILD/pcsx2-4801/CMakeFiles 0
+ make install
make: *** No rule to make target `install'.  Stop.
error: Bad exit status from /var/tmp/rpm-tmp.Ciu9du (%build)


RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.Ciu9du (%build)

I altered the spec file a bit, but keep getting similar errors.
I guess I'm putting things in the wrong place in the spec file? Any ideas?
Sorry , I think this part is correct.

%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}

Well it depends, what is $buildroot ? I'm not sure DESTDIR variable is supported.



For information,
make ... -> will copy files (except .mo) inside bin directory. So you must manually install them (into $package_root/usr/bin $package_root/usr/share etc....)
make install -> will copy file .mo files inside $CMAKE_INSTALL_PREFIX.

Gumbo,

I stick this thread to give more visibility to fedora users. Feel free to edit the top post if needed, and you can also post your wxwidget build (or a link). You are the master of thread Smile

If you are still block on the package, attach you package_script (code is not very handy). And a "tree" after 'build phase' then another after 'install phase'

Enjoy.
Gumbo,

I change various thing inside cmake to ease package creation.
1/ Cmake option (see header of cmake/BuildParameters.cmake )
+ I remove L10N_PORTABLE
+ I add PLUGIN_DIR and GAMEINDEX_DIR

2/ use a 3 step method
cmake (which is the equivalent of configure)
make
make install

If I understand this howto correctly. You need to do cmake and make for %build. Then do a make install for %install
Thanks - a great help - aware I've been quiet - hardware troubles amid a very busy month - will get back to the fedora rpm as soon as I can Smile
Ok. Bump me when you need help Smile I think it will be not too difficult to have a basic package now. Latest cmake addition makes the creation much more easier Smile
~marking for my CP~
The changes you've made have really improved building with cmake, Gregory. Got back to things today and made some real progress: I'm not yet trying to build under mock, but almost ready to do so - However, although the following spec file builds fine, <make install> seems to be missing a few things; there is no /docs, /cheats or /langs directories (although the language files are being written to /locale), and start_pcsx2_linux.sh isn't being written to root rpm either - all of these files and directories are built in the rpmbuild directory; Am I missing something - has the build changed since I last checked it out (r4801) or is the cmake script missing them...?

spec file:
Code:
Name:           pcsx2
Version:        4841
Release:        1%{?dist}
Summary:        A Sony Playstation2 emulator
Group:          Applications/Emulators
License:        GNU GPLv3 (pcsx2/*, common/*, plugins/spu2-x/*, plugins/PadNull/Pad*, plugins/USBnull/*, plugins/FWnull/*, plugins/CDVDnull/CDVD*, plugins/GSnull/*, plugins/dev9null/DEV9.cpp) GPL-2+ (pcsx2/Mdec.cpp, pcsx2/Mdec.h, pcsx2/RDebug/deci2_drfp.cpp, pcsx2/IPU/mpeg2lib/*, pcsx2/cheatscpp.h, common/include/api/*, plugins/onepad/*, plugins/PadNull/Linux/*, plugins/SPU2null/*, plugins/FWnull/FW.cpp, plugins/zerospu2/*, plugins/zzogl-pg/*, plugins/GSnull/Registers.h, plugins/GSnull/Linux/Linux*, plugins/GSnull/Linux/Config*, plugins/dev9null/DEV9.h, plugins/dev9null/Config.*) LGPL-2.1+ (plugins/spu2-x/src/Spu2replay.*, plugins/spu2-x/src/Decode*, plugins/spu2-x/src/Linux/ConfigSoundTouch.cpp, plugins/spu2-x/src/spdif.h, plugins/spu2-x/src/Debug.h) MIT/X11 [BSD like] Copyright: 1991-2000, Silicon Graphics, Inc (plugins/zzogl-pg/opengl/glprocs.*) MIT/X11 [BSD like] Copyright: 2006, KJK::Hyperion <[email protected]> (common/include/intrin_x86.h) BSD [3 clause] Copyright: 2002, Michael Ringgaard (common/src/Utilities/vssprintf.cpp) public domain (plugins/zzogl-pg/opengl/zpipe.cpp) unknown (plugins/zzogl-pg/opengl/ZeroGSShaders/zerogsshaders*)
URL:            http://pcsx2.net/
Source0:        http://pcsx2.googlecode.com/svn/trunk/%{name}/%{name}-%{version}.tar.gz
BuildArch:      i686
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires: cmake, bzip2-devel, bzip2, glew-devel, glew, mesa-libGL-devel, mesa-libGL, mesa-libGLU-devel, mesa-libGLU, mesa-libGLw-devel, mesa-libGLw, mesa-libOSMesa-devel, mesa-libOSMesa, alsa-lib-devel, alsa-lib, Cg, libCg, libXxf86vm-devel, libXxf86vm, xorg-x11-proto-devel, xorg-x11-xtrans-devel, libX11-devel, libX11-common, libX11, soundtouch-devel, soundtouch, SDL, SDL-devel, sparsehash-devel, freetype-devel, freetype, gtk2, gtk2-devel, zlib, zlib-devel, libjpeg-devel, libjpeg, libjpeg-static, wxGTK, wxGTK-devel, portaudio, portaudio-devel, atk-devel, bakefile, cairo-devel, glib, glib-devel, gtk+, gtk+-devel, imake, lesstif, lesstif-devel, libGLEWmx, libXft-devel, libXp, libXp-devel, pango-devel, pixman-devel, python-empy, wxBase, wxGTK-gl, wxGTK-media

Requires: cmake, bzip2-devel.i686, bzip2.i686, glew-devel.i686, glew.i686, mesa-libGL-devel.i686, mesa-libGL.i686, mesa-libGLU-devel.i686, mesa-libGLU.i686, mesa-libGLw-devel.i686, mesa-libGLw.i686, mesa-libOSMesa-devel.i686, mesa-libOSMesa.i686, alsa-lib-devel.i686, alsa-lib.i686, Cg.i686, libCg.i686, libXxf86vm-devel.i686, libXxf86vm.i686, xorg-x11-proto-devel, xorg-x11-xtrans-devel, libX11-devel.i686, libX11-common, libX11.i686, soundtouch-devel.i686, soundtouch.i686, SDL.i686, SDL-devel.i686, sparsehash-devel, freetype-devel.i686, freetype.i686, gtk2.i686, gtk2-devel.i686, zlib.i686, zlib-devel.i686, libjpeg-devel, libjpeg, libjpeg-static, wxGTK.i686, wxGTK-devel.i686, portaudio.i686, portaudio-devel.i686  atk-devel.i686, bakefile.i686, cairo-devel.i686, glib.i686, glib-devel.i686, gtk+.i686, gtk+-devel.i686, imake.i686, lesstif.i686, lesstif-devel.i686, libGLEWmx.i686, libXft-devel.i686, libXp.i686, libXp-devel.i686, pango-devel.i686, pixman-devel.i686, python-empy, wxBase.i686, wxGTK-gl.i686, wxGTK-media.i686

%description
PCSX2 is an open source Playstation 2 emulator. It's purpose is to mimic the the PS2 hardware, using a combination MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. It requires a dump of a real Playstation 2 BIOS, which is not included.


%prep
%setup -q


%build
%cmake .
cmake CMakeLists.txt -DPACKAGE_MODE=TRUE -DCMAKE_INSTALL_PREFIX="/usr" -DPLUGIN_DIR="/usr/lib/pcsx2" -DGAMEINDEX_DIR="/usr/share/pcsx2" -DFORCE_INTERNAL_SOUNDTOUCH=FALSE -DCMAKE_BUILD_TYPE=Release
make %{?_smp_mflags}
#this might be tidier if /usr/lib is included as %{_libdir} and /usr/share as %{_datadir}


%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}



%clean
rm -rf %{buildroot}


%files
%defattr(-,root,root,-)
%{_bindir}/%{name}
%{_datadir}/*
%{_datadir}/%{name}/
%{_libdir}/%{name}/

%changelog

The resultant RPM contains:
Code:
[rpmbuild@weaver i686]$ rpm -qlp pcsx2-4841-1.fc15.i686.rpm
/usr/bin/pcsx2
/usr/lib/pcsx2
/usr/lib/pcsx2/libCDVDnull.so
/usr/lib/pcsx2/libFWnull-0.7.0.so
/usr/lib/pcsx2/libPADnull.so
/usr/lib/pcsx2/libSPU2null.so
/usr/lib/pcsx2/libUSBnull-0.7.0.so
/usr/lib/pcsx2/libdev9null-0.5.0.so
/usr/lib/pcsx2/libonepad-1.1.0.so
/usr/lib/pcsx2/libspu2x-2.0.0.so
/usr/lib/pcsx2/libzzogl-0.3.0.so
/usr/lib/pcsx2/ps2hw.dat
/usr/share/locale
/usr/share/locale/cs_CZ
/usr/share/locale/cs_CZ/LC_MESSAGES
/usr/share/locale/cs_CZ/LC_MESSAGES/pcsx2_Iconized.mo
/usr/share/locale/cs_CZ/LC_MESSAGES/pcsx2_Main.mo
/usr/share/locale/de_DE
/usr/share/locale/de_DE/LC_MESSAGES
/usr/share/locale/de_DE/LC_MESSAGES/pcsx2_Iconized.mo
/usr/share/locale/de_DE/LC_MESSAGES/pcsx2_Main.mo
/usr/share/locale/es_ES
/usr/share/locale/es_ES/LC_MESSAGES
/usr/share/locale/es_ES/LC_MESSAGES/pcsx2_Iconized.mo
/usr/share/locale/es_ES/LC_MESSAGES/pcsx2_Main.mo
/usr/share/locale/hu_HU
/usr/share/locale/hu_HU/LC_MESSAGES
/usr/share/locale/hu_HU/LC_MESSAGES/pcsx2_Iconized.mo
/usr/share/locale/hu_HU/LC_MESSAGES/pcsx2_Main.mo
/usr/share/locale/it_IT
/usr/share/locale/it_IT/LC_MESSAGES
/usr/share/locale/it_IT/LC_MESSAGES/pcsx2_Iconized.mo
/usr/share/locale/it_IT/LC_MESSAGES/pcsx2_Main.mo
/usr/share/locale/ja_JP
/usr/share/locale/ja_JP/LC_MESSAGES
/usr/share/locale/ja_JP/LC_MESSAGES/pcsx2_Iconized.mo
/usr/share/locale/ja_JP/LC_MESSAGES/pcsx2_Main.mo
/usr/share/locale/pl_PL
/usr/share/locale/pl_PL/LC_MESSAGES
/usr/share/locale/pl_PL/LC_MESSAGES/pcsx2_Iconized.mo
/usr/share/locale/pl_PL/LC_MESSAGES/pcsx2_Main.mo
/usr/share/locale/pt_BR
/usr/share/locale/pt_BR/LC_MESSAGES
/usr/share/locale/pt_BR/LC_MESSAGES/pcsx2_Iconized.mo
/usr/share/locale/pt_BR/LC_MESSAGES/pcsx2_Main.mo
/usr/share/locale/ru_RU
/usr/share/locale/ru_RU/LC_MESSAGES
/usr/share/locale/ru_RU/LC_MESSAGES/pcsx2_Iconized.mo
/usr/share/locale/ru_RU/LC_MESSAGES/pcsx2_Main.mo
/usr/share/locale/sv_SE
/usr/share/locale/sv_SE/LC_MESSAGES
/usr/share/locale/sv_SE/LC_MESSAGES/pcsx2_Iconized.mo
/usr/share/locale/sv_SE/LC_MESSAGES/pcsx2_Main.mo
/usr/share/locale/tr_TR
/usr/share/locale/tr_TR/LC_MESSAGES
/usr/share/locale/tr_TR/LC_MESSAGES/pcsx2_Iconized.mo
/usr/share/locale/tr_TR/LC_MESSAGES/pcsx2_Main.mo
/usr/share/locale/zh_CN
/usr/share/locale/zh_CN/LC_MESSAGES
/usr/share/locale/zh_CN/LC_MESSAGES/pcsx2_Iconized.mo
/usr/share/locale/zh_CN/LC_MESSAGES/pcsx2_Main.mo
/usr/share/locale/zh_TW
/usr/share/locale/zh_TW/LC_MESSAGES
/usr/share/locale/zh_TW/LC_MESSAGES/pcsx2_Iconized.mo
/usr/share/locale/zh_TW/LC_MESSAGES/pcsx2_Main.mo
/usr/share/pcsx2
/usr/share/pcsx2/GameIndex.dbf

While I'm posting, I may as well set out what I think still needs doing - any suggestions gratefully recieved:

1. Rationalise the "Requires:" package list - I've just copied the build list but assume many of these packages won't be needed for execution.
2. create a desktop launch icon (is there one in the debian build...?)
3. In the longer term it may be worth creating a pcsx2-suite for fedora containing the sdl build, and a more advanced version of the wxGTK packages I created (ie no SDL) that's clearly signposted as conflicting with the official packages.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34