Installing pcsx2
-
Hi all!
Hardware: x86, i5 4460, gtx970, 120GB SSD, 8GB RAM
RetroPie Version Used :4.2
Built From: Ubuntu 16.04
USB Devices connected: USB Keyboard, Logitech mouse, xbox 360 controller
Controller used:xbox 360 controller
Emulator: PCSX2Im trying to get pcsx2 to install but i keep getting the following error message:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:The following packages have unmet dependencies:
libsdl2-dev : Depends: libsdl2-2.0-0 (= 2.0.5+5) but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.Can anyone help with fixing this???
Thanks!
-
Unfortunately the pcsx2 package specifies an exact version of sdl2. This is wrong really, and will not work with our updated sdl2. I'll have to switch to manually compiled pcsx2.
-
there is little I can do about this currently due to the fact that pcsx2 doesn't support 64bit system, so needs to be cross compiled against i386 libs. It's a lot of work to do this.
I don't want to disable our SDL2 as it fixes some important controller issues, so you will have to make do without pcsx2 for now until I can think of a workaround (or pcsx2 gets 64bit support).
-
Ahh i see! Thats a shame. Hopefully something can be done in the future.
Thanks!
-
So I'm a newb and maybe this won't work at all, but could you setup a chroot with a ubuntu or jessie i386 files structure then compile it inside the chroot jail?
Am I crazy? Is this possible? Yes it would take up a lot of space but....
-
@Charononus possible - yes, but you have to build all the dependencies and it would be some work to implement (work that I have no interest in doing).
http://wiki.pcsx2.net/index.php/PCSX2_Documentation/Chroot_and_64-bit_Linux
I may do a workaround at some point (just patch up identical packaged version, or add option to not use our custom sdl2), but I have other tasks currently with a higher priority.
-
@BuZz
No problem, I'm a newb but I have time on my hands, now that I know it's possible, I'll put some time into it. I'll post back here if I get it to compile. Time to start doing some reading on chroot. -
Posting my notes as I got it to run last night though it's not accepting input from my gamepad as of yet. Not quite sure where to start looking for that. But this got it to install and launch a game.
Commands used to setup chroot
sudo apt install schroot
sudo apt install debootstrapsudo mkdir /srv/chroot/xenial
sudo nano /etc/schroot/schroot.confPasted this to the end of the file
[xenial]
description=Ubuntu Xenial 16.0.4 32-bit
directory=/srv/chroot/xenial
groups=sbuild-security
aliases=main
personality=linux32sudo debootstrap --variant=buildd --foreign --arch i386 xenial /srv/chroot/xenial/ http://mirror.cc.columbia.edu/pub/linux/ubuntu/archive/
sudo chroot /srv/chroot/xenial /debootstrap/debootstrap --second-stage
sudo schroot -c xenial -u root
nano /etc/apt/sources.list
deb http://archive.ubuntu.com/ubuntu xenial main
deb http://us.archive.ubuntu.com/ubuntu/ xenial universe
deb http://us.archive.ubuntu.com/ubuntu/ xenial-updates universe
deb http://us.archive.ubuntu.com/ubuntu/ xenial multiverse
deb http://us.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
deb http://us.archive.ubuntu.com/ubuntu/ xenial-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu xenial-security main restricted
deb http://security.ubuntu.com/ubuntu xenial-security universe
deb http://security.ubuntu.com/ubuntu xenial-security multiverseapt update
apt install ubuntu-standard
apt install ubuntu-desktop
apt install nvidia-375add-apt-repository ppa:gregory-hainaut/pcsx2.official.ppa
apt update
apt install pcsx2
sudo mount -o bind /proc /srv/chroot/xenial/proc (system shell)
sudo cp /etc/resolv.conf /var/chroot/etc/resolv.conf (system shell)
export DISPLAY=:0.0
xhost + (system shell)cd /usr/games
DISPLAY=:0.0 ./PCSX2(system shell) is just a comment to myself that it was ran in a system terminal not a chrooted terminal. The install list could probably be reduced at somepoint, this is a huge install, but I went for brute force and didn't worry about disk space yet. Hopefully this could help someone else like me that wants to get it running.
-
As an update I learned that the gamepad is /dev/input/js0 so I linked the /dev to the chroot in the system shell with:
sudo mount -o bind /dev /srv/chroot/xenial/dev
but I still got nothing inside the game.I'm thinking that that mounting will be needed still, but I'm definitely still missing something.
-
@Charononus you have done well. You are right you will need to bind mount /dev. Also maybe /proc - hope you get it working. When i have more time i may introduce a simple workaround to exclude our custom sdl2, which may be easier. Appreciate your efforts - i always like when people are willing to spend time to problem solve.
-
I think I will prioritise this actually. It should be simple for me to allow exclusion of our SDL2. I will look at it over next couple of days.
-
Well small update on my part. I finally had a little bit of time to troubleshoot farther. The gamepad is being recognized inside the chroot. I tested this by installing jstest inside the chroot and running it. Unfortunately the onepad plug in for PCSX2 is still not recognizing that it's there. At least I know that the input does in fact show up in the chroot now though which means that I'm a step closer to getting things running this way.
-
@BuZz
Hey Buzz, if you have the time to answer any of this better than I can, I've got one of the devs for pcsx2 talking on their forums about this. http://forums.pcsx2.net/Thread-PCSX2-for-Debian-Ubuntu?pid=559958#pid559958 -
@Charononus Not sure what you are after? The problem is due to our custom sdl2:amd64 - which conflicts with the system sdl2:i386 as they don't match. I am aware of the issue - there is nothing pcsx2 can do about it so not sure why you are posting there (unless they ever support native 64bit).
-
@BuZz said in Installing pcsx2:
@Charononus Not sure what you are after? The problem is due to our custom sdl2:amd64 - which conflicts with the system sdl2:i386 as they don't match. I am aware of the issue - there is nothing pcsx2 can do about it so not sure why you are posting there (unless they ever support native 64bit).
I was looking for some help with the chrooted version as I've been able to test that the gamepad I'm using is getting input into the chroot (tested via jstest and evtest) and the dev there asked about what version of libsdl wasn't working. I was unaware that we were using a customized one I just thought it was a newer version not a customized which is why I wasn't sure how to answer him.
-
Actually VICTORY!!!!!
I've got the gamepad running.
Inside the system shell before launching the chroot you need to
sudo mount -o bind /sys /srv/chroot/xenial/sys/Next up will be to get the audio working as I realized that it's not passing that out. Probably an export type deal. Not bad for a newb that didn't know anything about this a month ago.
-
Looks like I spoke too soon about audio being easy. I thought I'd maybe have to install something, but it looks like audio is a known problem child with chroots and pcsx2. But things play. That's something for the moment.
-
Hi, this is all beyond my ability but avidly watching for any progress :D
-
@jerryfudd said in Installing pcsx2:
Hi, this is all beyond my ability but avidly watching for any progress :D
Honestly there probably won't be anymore progress from me. While I love how easy retropie made things, the custom sdl2 was just too much of a problem for me to deal with anymore. I installed retroarch, emulationstation, dolphin and pcsx2 manually.
-
I have created a workaround to disable our custom sdl2 so pcsx2 will install without problems on 64bit systems.
First of all you need to downgrade sdl2 to the system packaged version. Make sure retropie-setup is updated then do from a terminal:
sudo ./retropie_packages.sh sdl2 revert
You now need to create a config file in
/opt/retropie/configs/all/retropie.cfg
with the lineown_sdl2 = "0"
RetroPie should now not try and install any custom sdl2 and installing pcsx2 should work.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.