Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 414549

Summary: app-emulation/emul-linux-x86-*; support for running PCSX2 32-bit released binary (or own)
Product: Gentoo Linux Reporter: Andrew Udvare <audvare>
Component: [OLD] LibraryAssignee: AMD64 Project <amd64>
Status: RESOLVED WONTFIX    
Severity: enhancement CC: frostworks
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: nvidia-cg-toolkit modified ebuild
emul-linux-x86-wxGTK ebuild

Description Andrew Udvare 2012-05-04 02:46:14 UTC
PCSX2 official released binary (because PCSX2 has no support for compiling as x86_64): http://code.google.com/p/pcsx2/downloads/detail?name=pcsx2-0.9.8-r4594-linux%7Etranslation_fix.tar.gz&can=2&q=

PCSX2 only needs a few libraries to run on AMD64 multi-lib. And it works fine despite  the PCSX2 seemingly wants people on AMD64 to use a chroot. I think that's nonsense (also nonsense their mistake in coding their emulator for x86-only with assembly, but that is another story).

This is what I found it needs. Everything else is available in Portage already through the emul-linux-x86-* packages.

libCgGL.so
libCg.so

package: media-gfx/nvidia-cg-toolkit, 32-bit version.
I think if the system is multi-arch then the ebuild media-gfx/nvidia-cg-toolkit should install the 32-bit as well as the 64-bit, similar to how the flash ebuild does the same. There should not need to be a separate ebuild for this.

libwx_baseu-2.8.so
libwx_gtk2u_adv-2.8.so
libwx_gtk2u_core-2.8.so

package: x11-libs/wxGTK with USE flags: X, opengl, sdl, tiff (not sure if all these are needed but I'm almost certain X is needed at minimum)
I would think this would be part of the app-emulation/emul-linux-x86-gtklibs package. Of course if this is included, this could certainly help in running other games that use 32-bit wxGTK and have non-portable code.

The only thing after the above fixes is symlinks to libs for the released binary. This can be easily fixed if Gentoo provides a package instead that is compiled against what is in Portage. The current newer versions of tiff and GLEW are compatible (while the binary was compiled with older versions).

These symlinks make the emulator work and it seems to work fine:

libGLEW.so.1.5 -> /usr/lib32/libGLEW.so.1.6.0
libtiff.so.5 -> /usr/lib32/libtiff.so

Once these are in /usr/lib32, the emulator runs fine with: LD_LIBRARY_PATH="/usr/lib32" ./pcsx2

(I do not know how to not require that LD_LIBRARY_PATH part.)

I think it would be preferable to have Gentoo distribute its own compiled version that's based on the same revision number.

Reproducible: Always

Steps to Reproduce:
n/a
Comment 1 Andrew Udvare 2012-05-04 02:49:18 UTC
Just to note: I copied the files mentioned from my 32-bit chroot.
Comment 2 Jeroen Roovers gentoo-dev 2012-05-04 04:43:52 UTC
What package would that be?
Comment 3 Andrew Udvare 2012-05-04 09:02:01 UTC
In the chroot it's:

media-gfx/nvidia-cg-toolkit
x11-libs/wxGTK[X opengl sdl tiff]
Comment 4 Andrew Udvare 2012-05-04 09:03:40 UTC
I think wxGTK should be added to app-emulation/emul-linux-x86-gtklibs or a separate package should be made: app-emulation/emul-linux-x86-wxGTK
Comment 5 Andrew Udvare 2012-05-05 17:10:34 UTC
Created attachment 310897 [details]
nvidia-cg-toolkit modified ebuild

This is modified to install both 32-bit and 64-bit on multilib.
Comment 6 Andrew Udvare 2012-05-05 17:11:48 UTC
Created attachment 310899 [details]
emul-linux-x86-wxGTK ebuild

Based on version 2.8 and with USE flags as previously mentioned.
Comment 8 Elijah "Armageddon" El Lazkani (amd64 AT) 2012-05-05 17:19:38 UTC
Please do not add arches on your own, there is no reason for us to be here.
Comment 9 Jeroen Roovers gentoo-dev 2012-05-05 17:32:58 UTC
(In reply to comment #8)
> there is no reason for us to be here.

You're wrong.
Comment 10 frostwork 2012-06-21 19:58:31 UTC
hi,
sounds promising, especially the emul-linux-x86-wxGTK ebuild.
some time back I created 0.9.8 and -9999 pcsx2 ebuilds
(split the plugins in seperate ebuilds) for x86
(already have some amd64 checks inside but never tested them).
They are in the gamerlay overlay and still work for x86
Unfortunately I don't have much time to update the ebuilds to support amd64,
but if someone wants to commit some patches I'd be glad to commit them gamerlay.
Comment 11 frostwork 2012-07-18 15:48:39 UTC
always good to see active conversations and teamwork.
with some small 64bit modifications taken from the (monolithic) pcsx2 ebuild from the flora overlay my modular pcsx2 ebuild (gamerlay) would work if 
app-emulation/emul-linux-x86-wxGTK-1.0 from flora would be up2date
(outdated libpng14).
I did a quick&dirty test archive using libwx_gtk2u_core-2.8.so from this archive here and the rest from flora and the main binary built fine on ~amd64.

To make a long story short - if someone provides a proper up2date "flora like"
emul-linux-x86-wxGTK archive I'll update the modular pcsx2 ebuilds...
Comment 12 Pacho Ramos gentoo-dev 2013-07-21 17:55:56 UTC
*nvidia-cg-toolkit-3.1.0013 (15 Nov 2012)

  15 Nov 2012; Justin Lecher <jlec@gentoo.org> files/80cgc-opt-2,
  nvidia-cg-toolkit-2.1.0012.ebuild, -nvidia-cg-toolkit-2.1.0016.ebuild,
  nvidia-cg-toolkit-2.1.0017.ebuild, nvidia-cg-toolkit-2.1.0017-r1.ebuild,
  +nvidia-cg-toolkit-3.1.0013.ebuild:
  Version BUmp, #270480, thanks Myckel Habets, Piotr Szymaniak and Jean-Marc
  Hengen working on the ebuild; add multilib support, #262477, thanks Russell
  Harmon and Dennis Schridde working on this; Add additional variables to
  enviroment to find headers and libs, #344603

Looks like nvidia-cg-toolkit has multilib support, for wxGTK, please open a new bug requesting it to use either multilib-minimal or autotools-multilib eclasses

Thanks