Page MenuHomeSolus

PCSX2 - The Playstation 2 Emulator (32bit only)
Closed, ResolvedPublic

Description

Name: PCSX2
Homepage: http://pcsx2.net/
Source: https://github.com/PCSX2/pcsx2/releases
Description: PCSX2 is an open-source PlayStation 2 (AKA PS2) emulator. Its purpose is to emulate the PS2 hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits.

Due to an architecture specific dynamic recompiler only 32 bit binaries are possible at preset.

Event Timeline

fagoatse created this task.Oct 11 2016, 8:00 PM
JoshStrobl closed this task as Wontfix.Oct 11 2016, 8:08 PM
JoshStrobl claimed this task.
JoshStrobl added a subscriber: JoshStrobl.

Due to it being limited to 32-bit and we already have PCSX-R, marking as WONTFIX.

fagoatse added a comment.EditedOct 11 2016, 8:18 PM

PCSX-R is a PS1 emulator.
Hmm, I thought solus could handle 32bit software?

edit; just to clarify - pcsx2 is the only functional ps2 emulator

I have to agree with fagoatse here in that PCSX2 is the only functional PS2 emulator available at the moment. While it is limited to 32bit, I think it is a valuable inclusion for the repo since we have an emulator section. I myself, am an avid user of PCSX2 on my systems. I know Solus can handle 32bit software, so that shouldn't be a barrier in and of itself.

PCSX-R is a PS1 emulator and a PS1 emulator only. PCSX2 is developing some basic PS1 support currently, but right now it is the only thing we have for the PS2.

If they port to 64-bit, sure. Until then, it isn't landing. We support multilib only to the extent that is necessary for Steam and WINE. Landing something that is purely 32-bit just isn't acceptable.

Ah, that makes sense. Thank you for the explanation. For some reason, I was under the impression that we had some purely 32bit programs on the repository.

@JoshStrobl
Point taken. However, I, and I presume others as well, would be more than content with the ability to build pcsx2 from source. I've taken a glance at the dependencies and apparently only a few are missing or are not multilib enabled. Would you allow those into the repos?

Even with the deps, it's not buildable. The build breaks under GCC6

Hmm, you sure? I think they fixed it quite recently. If not then it might be worth reporting it as their main dev uses debian so he wouldn't know I guess.

You realize that at this point I have spent over a month of my life trying to get this to compile, right? Multilib is the only way you will be able to build this on Solus, and PCSX2 support for it is highly experimental. Just use the pre-built binaries.

Unfortunately, I could only find pre-compiled builds from stable branch which is way too outdated to be worth using. PCSX2 has made tremendous progress recently. Well, here's hoping they'll have a new stable release soon.

Yo, sup. The 1.4.0 build should work, but crashes on start-up with an error for me:

./PCSX2-linux.sh 
ldd: warning: you do not have execution permission for `./plugins/libUSBnull-0.7.0.so'
ldd: warning: you do not have execution permission for `./plugins/libFWnull-0.7.0.so'
ldd: warning: you do not have execution permission for `./plugins/libdev9null-0.5.0.so'
ldd: warning: you do not have execution permission for `./plugins/libGSdx-avx2-1.0.0.so'
ldd: warning: you do not have execution permission for `./plugins/libGSdx-intel-sse4-1.0.0.so'
ldd: warning: you do not have execution permission for `./plugins/libCDVDnull.so'
ldd: warning: you do not have execution permission for `./plugins/libGSdx-1.0.0.so'
ldd: warning: you do not have execution permission for `./plugins/libspu2x-2.0.0.so'
ERROR the plugin (./plugins/libspu2x-2.0.0.so) miss some dependencies
ldd: warning: you do not have execution permission for `./plugins/libspu2x-2.0.0.so'
    	libportaudio.so.2 => not found
	libSoundTouch.so.0 => not found

ldd: warning: you do not have execution permission for `./plugins/libonepad-1.1.0.so'
./PCSX2: Symbol `_ZN12wxTextBuffer6ms_eofE' has different size in shared object, consider re-linking
./PCSX2: Symbol `_ZN13wxStackWalker10ms_exepathE' has different size in shared object, consider re-linking
*** Error in `./PCSX2': free(): invalid pointer: 0x08576dc8 ***
======= Backtrace: =========
/usr/lib32/libc.so.6(+0x6d2ca)[0xf5ef92ca]
/usr/lib32/libc.so.6(+0x76d0e)[0xf5f02d0e]
/usr/lib32/libc.so.6(cfree+0x53)[0xf5f06683]
/usr/lib32/libstdc++.so.6(_ZdlPv+0x1a)[0xf617359a]
/usr/lib32/libstdc++.so.6(_ZdaPv+0x1a)[0xf617362a]
/usr/lib32/libstdc++.so.6(_ZdaPvj+0x1a)[0xf617365a]
/usr/lib32/libwx_baseu-3.0.so.0(_ZN13wxArrayString5ClearEv+0x89)[0xf74c9379]
/usr/lib32/libwx_baseu-3.0.so.0(_ZN10wxFileName5ClearEv+0x20)[0xf753f280]
./PCSX2[0x809b90a]
./PCSX2[0x80c8f89]
./PCSX2[0x8413462]
/usr/lib32/libc.so.6(__libc_start_main+0x86)[0xf5ea41a6]
./PCSX2[0x8066801]
======= Memory map: ========
08048000-08569000 r-xp 00000000 08:02 23995681                           /home/solarlune/Games/PCSX2-1.4.0/PCSX2
08569000-0856f000 rw-p 00520000 08:02 23995681                           /home/solarlune/Games/PCSX2-1.4.0/PCSX2
0856f000-0a04d000 rw-p 00000000 00:00 0 
. . .

Just wanted to post the latest bit of info that I found.

Did you build it yourself or is it a pre-compiled binary?

@fagoatse that's the pre-built.

@SolarLune Installing portaudio-32bit should take care of one of those. We don't have soundtouch-32bit atm though.

fagoatse added a comment.EditedApr 11 2017, 8:03 PM

Last I checked there were missing like 3 or 4 libs so I'm afraid it won't be that easy to get it running natively under solus :(

ikey reopened this task as In Progress.May 3 2017, 7:40 PM
ikey claimed this task.
ikey added a subscriber: ikey.

Re-opening:

  • In popular demand, and one of our core groups is a target (gamers)
  • The 32-bit only thing is hard to combat given we have other stuff thats 32bit only to meet popular demand
  • Build failure is the fault of our wxwidgets package, not pcsx2.
  • The internal "VM" portion of pcsx2 is reliant on x86/SIMD instructions. Development team mostly targets Windows where there isn't an issue of "32-bit vs 64-bit", and haven't got the resources to maintain 64-bit builds.

Initial png++ inclusion: https://git.solus-project.com/packages/png++/commit/?id=307384a0c8f1a8c26bbad9daa122e69b1fe8823a
Soundtouch emul32 enabling: https://git.solus-project.com/packages/soundtouch/commit/?h=soundtouch-1.9.2-2
Unbrick wxwidgets emul32: https://git.solus-project.com/packages/wxwidgets/commit/?h=wxwidgets-3.0.2-8

Have my package.yml fleshed out already, and will begin submitting the builds needed soon. Note to testers, at first
this won't be fully fleshed, as we don't currently have nvidia-cg-toolkit (I need to investigate this) - but I'll basically
be relying on you to test the package for me and let me know what you need fixing/enabling. I'm more an N64 emulator
kind of guy :)

ikey closed this task as Resolved.May 3 2017, 9:06 PM

Landed in https://git.solus-project.com/packages/pcsx2/commit/?h=pcsx2-1.4.0-1

Needs testing and enabling, I don't currently have a PS2 BIOS to hand.. so I'll let you guys find out whats horked and we'll go from there :)

Cool! How do we test?

Once I sync, just install. Bout to sync shortly