..:: PCSX2 Forums ::..

Full Version: SPU2-X v2
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
(03-11-2010, 10:03 PM)Bright-Warrior Wrote: [ -> ]Thanks for the answer Arcum!

(03-11-2010, 11:25 AM)arcum42 Wrote: [ -> ][...]
On Linux, I have it using the native libraries, so as long as you actually have portaudio installed in Ubuntu
[...]

I'm afraid to tell you that I fail with this part... I found the latest stable version online and I managed to download it, but I don't know how to install it. I used "./configure && make" like suggested in the portaudio wiki and this also build a bin folder, but didn't install it. And the files inside this folder don't give me a clue either^^. Could you please tell me how I can install it? Some things are really difficult on Linux (at least for a noob like me Tongue2). I'd like to use SPU2-X on Linux, because the cracking of ZeroSPU2 in Persona 4 is really killing me... I wasn't able to test other games up to now, but Persona 4 just sounds horrible.

Edit: Digital Devil Saga is just as bad.

Actually, for this you'd want it installed the way you normally install packages in Ubuntu; you don't have to compile it yourself.

I don't really use Ubuntu much, but if you go into System->Administration->Synaptic Package Manager, that's where you'd usually install programs and libraries, unless they aren't already packaged for Ubuntu.

I think the package names you'd want to install there are libportaudio0 and libportaudio-dev, so it's just a matter of finding them, right-clicking on them and choosing Mark For Installation, and then hitting Apply once everything you want to install is marked.

You can also do this through a command line. I *think* the command would be:
apt-get install libportaudio0 lib-portaudio-dev

But the other way will come in handy for other things, and it's the easiest way if you aren't sure of a package name.

(I'm not totally sure if those are the right packages, because I'm using Gentoo, which just has one labeled "portaudio". It doesn't split things into dev and non-dev like Ubuntu does. Probably, though.)

(03-11-2010, 10:03 PM)Bright-Warrior Wrote: [ -> ]I don't like to ask questions I know to be stupid, but:

(03-11-2010, 11:25 AM)arcum42 Wrote: [ -> ][...]
Also, as regards ZeroSPU2, you might note that when you activate it before compiling it, there are build targets for alsa, portaudio, and oss. On my system, the alsa build target works better then the oss one, though your mileage may vary.
[...]

Could you please explain this a little further? I unfortunately don't get how I can compile ZeroSPU2 with these targets or what results this brings.

Right-click on ZeroSPU2, and choose activate, so it is in bold. The drop-down menu at the top where it says "Build Target" will have 6 choices in it, a Debug build for the 3 targets I mentioned, and a Release target.

Whichever one is chosen is the one that will be compiled. Alsa, OSS, and Portaudio are three different audio libraries, (though portaudio actually uses Alsa), and it's possible using one or the other way sound better. The different versions can coexist on the same system, so you could compile all three if you want.

I recommend just doing the release builds. The debug builds are more for testing.
(03-11-2010, 10:03 PM)Bright-Warrior Wrote: [ -> ]
(03-11-2010, 11:25 AM)arcum42 Wrote: [ -> ][...]
And make sure to fiddle with the settings on ZeroSPU2 if you have issues. I tend to default to time scaling on and real time mode off.
Well, I struggled a bit with the configurations, but I just don't reach a good result for Persona 4. I tried every combination of settings, but the cracking just won't vanish. Long story short: How did you configure your sound plugin and which would it be? Or would this be ZeroSPU2 and this is your usual config? If yes, please tell me how you solved the cracking problem, if you did. Because this really kills the fun of playing with PCSX2 on Linux (which would be very sad Sad).

Well, if you can get spu2-x compiled and working, I'd try that, because it does sound better in spu2-x. It's just not very tested on Linux.

(That is, I'm not sure if anyone other then me has actually used it on Linux yet. ^_^)
(03-12-2010, 02:21 AM)Shadow Lady Wrote: [ -> ]Shows fine here: SPU2-X r2693 1.4.0

Does it show an error when you load the emulator saying it couldn't load the plugin?

Yes, it gave me an error that it couldn't load the plugin. Then I realized it was missing "portaudio_x86_noasio.dll" from the folder. I think there should be a warning for people who download it, telling them to have PortAudio installed. Blush
The earlier plugin pack had the portaudio dll missing. Sorry about that.
(03-12-2010, 02:55 AM)arcum42 Wrote: [ -> ][...]
Actually, for this you'd want it installed the way you normally install packages in Ubuntu; you don't have to compile it yourself.

I don't really use Ubuntu much, but if you go into System->Administration->Synaptic Package Manager, that's where you'd usually install programs and libraries, unless they aren't already packaged for Ubuntu.

I think the package names you'd want to install there are libportaudio0 and libportaudio-dev, so it's just a matter of finding them, right-clicking on them and choosing Mark For Installation, and then hitting Apply once everything you want to install is marked.

You can also do this through a command line. I *think* the command would be:
apt-get install libportaudio0 lib-portaudio-dev

But the other way will come in handy for other things, and it's the easiest way if you aren't sure of a package name.

(I'm not totally sure if those are the right packages, because I'm using Gentoo, which just has one labeled "portaudio". It doesn't split things into dev and non-dev like Ubuntu does. Probably, though.)
[...]

Thanks, these were the right packages. Ignoring Synaptic is one of the things I'm still used to as a Windows user^^. SPU2-X is also compiling now (about 200 warnings Tongue2), but when I open the plugin selection, SPU2-X doesn't appear and the console writes this:


Code:
[wx] /home/marius/Emulation/PS2/pcsx2/pcsx2-read-only/bin/plugins/libspu2-x.so: undefined symbol: Pa_GetHostApiInfo
An unhandled runtime error has occurred, somewhere in the depths of Pcsx2's cluttered brain-matter.
General file operation error.
File is not a valid dynamic library.
Stream exception: File is not a valid dynamic library.
    File/Object: /home/marius/Emulation/PS2/pcsx2/pcsx2-read-only/bin/plugins/libspu2-x.so
Some kinda plugin failure: /home/marius/Emulation/PS2/pcsx2/pcsx2-read-only/bin/plugins/libspu2-x.so


I'm using one of the newer revisions because the beta decides to crash when I choose the plugin folder lately...

Note: Just to prevent the impression that I have almost any emulator on my system (because of my strict folder seperation in emulation/PS2 a.s.o.): I'm just a perfectionist and have to sort everything correctly^^.

(03-12-2010, 02:55 AM)arcum42 Wrote: [ -> ][...]
Right-click on ZeroSPU2, and choose activate, so it is in bold. The drop-down menu at the top where it says "Build Target" will have 6 choices in it, a Debug build for the 3 targets I mentioned, and a Release target.

Whichever one is chosen is the one that will be compiled. Alsa, OSS, and Portaudio are three different audio libraries, (though portaudio actually uses Alsa), and it's possible using one or the other way sound better. The different versions can coexist on the same system, so you could compile all three if you want.

I recommend just doing the release builds. The debug builds are more for testing.
[...]

Thanks again, but this doesn't work so good. Both the release for portausio and OSS fail. Here the log for the portaudio release:

Code:
||=== ZeroSPU2, PortAudio - Release ===|
/home/marius/Emulation/PS2/pcsx2/pcsx2-read-only/plugins/zerospu2/Linux/Linux.cpp||In function ‘void SPU2about()’:|
/home/marius/Emulation/PS2/pcsx2/pcsx2-read-only/plugins/zerospu2/Linux/Linux.cpp|132|warning: deprecated conversion from string constant to ‘char*’|
/home/marius/Emulation/PS2/pcsx2/pcsx2-read-only/plugins/zerospu2/Linux/Linux.cpp||In function ‘void LoadConfig()’:|
/home/marius/Emulation/PS2/pcsx2/pcsx2-read-only/plugins/zerospu2/Linux/Linux.cpp|175|warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’, declared with attribute warn_unused_result|
/home/marius/Emulation/PS2/pcsx2/pcsx2-read-only/plugins/zerospu2/Linux/Linux.cpp|177|warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’, declared with attribute warn_unused_result|
/home/marius/Emulation/PS2/pcsx2/pcsx2-read-only/plugins/zerospu2/Linux/Linux.cpp|180|warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’, declared with attribute warn_unused_result|
/home/marius/Emulation/PS2/pcsx2/pcsx2-read-only/plugins/zerospu2/Linux/Linux.cpp|183|warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’, declared with attribute warn_unused_result|
/home/marius/Emulation/PS2/pcsx2/pcsx2-read-only/plugins/zerospu2/Linux/Linux.cpp|186|warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’, declared with attribute warn_unused_result|
/home/marius/Emulation/PS2/pcsx2/pcsx2-read-only/plugins/zerospu2/Linux/Linux.cpp|189|warning: ignoring return value of ‘int fscanf(FILE*, const char*, ...)’, declared with attribute warn_unused_result|
/home/marius/Emulation/PS2/pcsx2/pcsx2-read-only/plugins/zerospu2/Targets/OSS.cpp||In function ‘void OSSSoundFeedVoiceData(unsigned char*, long int)’:|
/home/marius/Emulation/PS2/pcsx2/pcsx2-read-only/plugins/zerospu2/Targets/OSS.cpp|123|warning: ignoring return value of ‘ssize_t write(int, const void*, size_t)’, declared with attribute warn_unused_result|
/usr/include/portaudio.h||In function ‘int paSetupSound()’:|
/usr/include/portaudio.h|355|error: too few arguments to function ‘PaError Pa_OpenDefaultStream(PortAudioStream**, int, int, PaSampleFormat, double, long unsigned int, long unsigned int, int (*)(void*, void*, long unsigned int, PaTimestamp, void*), void*)’|
/home/marius/Emulation/PS2/pcsx2/pcsx2-read-only/plugins/zerospu2/Targets/PortAudio.cpp|53|error: at this point in file|
/home/marius/Emulation/PS2/pcsx2/pcsx2-read-only/plugins/zerospu2/Targets/PortAudio.cpp||In function ‘int paSoundGetBytesBuffered()’:|
/home/marius/Emulation/PS2/pcsx2/pcsx2-read-only/plugins/zerospu2/Targets/PortAudio.cpp|92|error: ‘Pa_GetStreamWriteAvailable’ was not declared in this scope|
/home/marius/Emulation/PS2/pcsx2/pcsx2-read-only/plugins/zerospu2/Targets/PortAudio.cpp||In function ‘void paSoundFeedVoiceData(unsigned char*, long int)’:|
/home/marius/Emulation/PS2/pcsx2/pcsx2-read-only/plugins/zerospu2/Targets/PortAudio.cpp|99|error: ‘Pa_WriteStream’ was not declared in this scope|
||=== Build finished: 4 errors, 8 warnings ===|

I don't want to spam my post so I skip the OSS one. Please tell me if want to see this too.

If I'm right the errors begin with the line "/usr/include/portaudio.h|355|error: too few arguments to function ‘PaError ". Does this mean that I need some more portaudio files?

But the alsa-build works and really reduces the cracking to a minimum, but unfortunately also eats some sounds. I wasn't able to test it much, but some menu sounds in Persona 4 are missing for sure.


(03-12-2010, 02:55 AM)arcum42 Wrote: [ -> ][...]
Well, if you can get spu2-x compiled and working, I'd try that, because it does sound better in spu2-x. It's just not very tested on Linux.
(That is, I'm not sure if anyone other then me has actually used it on Linux yet. ^_^)

I prepare myself for everything Tongue2.

Thanks again for your help!
(03-12-2010, 08:16 PM)Bright-Warrior Wrote: [ -> ]Thanks, these were the right packages. Ignoring Synaptic is one of the things I'm still used to as a Windows user^^. SPU2-X is also compiling now (about 200 warnings Tongue2), but when I open the plugin selection, SPU2-X doesn't appear and the console writes this:


Code:
[wx] /home/marius/Emulation/PS2/pcsx2/pcsx2-read-only/bin/plugins/libspu2-x.so: undefined symbol: Pa_GetHostApiInfo
<snip>


I'm using one of the newer revisions because the beta decides to crash when I choose the plugin folder lately...

Undefined symbol errors generally mean that whatever library it's looking for with that symbol is missing, so I must have missed one of them. Try installing portaudio19-dev. (And no, I don't know why Ubuntu splits things into several packages when one suffices.)

And yeah, usually in Ubuntu, Synaptic is the first place you go to install programs. If they aren't there, you generally add in a third party repository, and then use Synaptic. pcsx2 is a bit of an exception.

I have a bit of a hobby of installing different distributions of Linux (and sometimes other os'es) into Virtualbox sessions, so I know a little bit of how a lot of distributions work. ^_^

(03-12-2010, 08:16 PM)Bright-Warrior Wrote: [ -> ]
(03-12-2010, 02:55 AM)arcum42 Wrote: [ -> ][...]
Right-click on ZeroSPU2, and choose activate, so it is in bold. The drop-down menu at the top where it says "Build Target" will have 6 choices in it, a Debug build for the 3 targets I mentioned, and a Release target.

Whichever one is chosen is the one that will be compiled. Alsa, OSS, and Portaudio are three different audio libraries, (though portaudio actually uses Alsa), and it's possible using one or the other way sound better. The different versions can coexist on the same system, so you could compile all three if you want.

I recommend just doing the release builds. The debug builds are more for testing.
[...]

Thanks again, but this doesn't work so good. Both the release for portaudio and OSS fail. Here the log for the portaudio release:



If I'm right the errors begin with the line "/usr/include/portaudio.h|355|error: too few arguments to function ‘PaError ". Does this mean that I need some more portaudio files?

But the alsa-build works and really reduces the cracking to a minimum, but unfortunately also eats some sounds. I wasn't able to test it much, but some menu sounds in Persona 4 are missing for sure.



Thanks again for your help!

Well, alsa's the one that works best for me there anyways. I'd leave it with that one, and see if spu2-x works for you with that other package installed...
(03-13-2010, 01:24 AM)arcum42 Wrote: [ -> ][...]
Undefined symbol errors generally mean that whatever library it's looking for with that symbol is missing, so I must have missed one of them. Try installing portaudio19-dev. (And no, I don't know why Ubuntu splits things into several packages when one suffices.)
[...]

Done and now it's finally working^^. Thanks a bunch, SPU2-X sounds as good as on Windows so far (haven't tested much yet though). And the speed difference between the both seems to be minimal (on my system). So this is really a win position comparison with ZeroSPU2.

(03-13-2010, 01:24 AM)arcum42 Wrote: [ -> ][...]
And yeah, usually in Ubuntu, Synaptic is the first place you go to install programs. If they aren't there, you generally add in a third party repository, and then use Synaptic. pcsx2 is a bit of an exception.
[...]

Thanks, I'll remember this. This could save me some time and console-typing for the future, since I got all the things I needed via the console. But well, "sudo apt-get install portaudio" wasn't working so I was in trouble as you saw Tongue2. But could it be possible that someday PCSX2 will also be added into such a package system? I mean, you really seem to find everything there, so why not this one too? Or could the fact of it beeing an emulator be a problem?

(03-13-2010, 01:24 AM)arcum42 Wrote: [ -> ][...]
I have a bit of a hobby of installing different distributions of Linux (and sometimes other os'es) into Virtualbox sessions, so I know a little bit of how a lot of distributions work. ^_^
[...]

That's a nice one^^! I can imagine that to be very interesting. I slowly get a review about the different Linux distributions and there're so many which are different that I'm glad that Ubuntu is know for a starting point for beginners^^. But well, I drift into off-topic^^.


Thanks again, now I have good sound and can take the fight with the performance on a new level Tongue2.
(03-12-2010, 09:11 AM)rama Wrote: [ -> ]The earlier plugin pack had the portaudio dll missing. Sorry about that.

Don't worry about it. Biggrin Final Fantasy X is sounding a lot better now!
(03-13-2010, 02:16 AM)Bright-Warrior Wrote: [ -> ]
(03-13-2010, 01:24 AM)arcum42 Wrote: [ -> ][...]
Undefined symbol errors generally mean that whatever library it's looking for with that symbol is missing, so I must have missed one of them. Try installing portaudio19-dev. (And no, I don't know why Ubuntu splits things into several packages when one suffices.)
[...]

Done and now it's finally working^^. Thanks a bunch, SPU2-X sounds as good as on Windows so far (haven't tested much yet though). And the speed difference between the both seems to be minimal (on my system). So this is really a win position comparison with ZeroSPU2.

Glad to hear it. And from what I could tell, the sound itself in Linux sounds pretty good. My main concern is that the dialogs were quickly whipped together, and could easily be buggy.

(03-13-2010, 02:16 AM)Bright-Warrior Wrote: [ -> ]
(03-13-2010, 01:24 AM)arcum42 Wrote: [ -> ][...]
And yeah, usually in Ubuntu, Synaptic is the first place you go to install programs. If they aren't there, you generally add in a third party repository, and then use Synaptic. pcsx2 is a bit of an exception.
[...]

Thanks, I'll remember this. This could save me some time and console-typing for the future, since I got all the things I needed via the console. But well, "sudo apt-get install portaudio" wasn't working so I was in trouble as you saw Tongue2. But could it be possible that someday PCSX2 will also be added into such a package system? I mean, you really seem to find everything there, so why not this one too? Or could the fact of it beeing an emulator be a problem?

It's mainly that normally different distributions have their own package maintainers who create a package to install it for their distribution. Packages are likely to appear in unofficial repositories first, and then migrate to official ones.

And it isn't exactly the easiest program to package for 64-bit systems. For 32-bit ones, it's a bit easier.

I've just figured that I've got enough going on as the only Linux developer on the project, and haven't really gotten around to reading up too much on the process, especially since there are several different package systems for different distributions.

(03-13-2010, 02:16 AM)Bright-Warrior Wrote: [ -> ]
(03-13-2010, 01:24 AM)arcum42 Wrote: [ -> ][...]
I have a bit of a hobby of installing different distributions of Linux (and sometimes other os'es) into Virtualbox sessions, so I know a little bit of how a lot of distributions work. ^_^
[...]

That's a nice one^^! I can imagine that to be very interesting. I slowly get a review about the different Linux distributions and there're so many which are different that I'm glad that Ubuntu is know for a starting point for beginners^^. But well, I drift into off-topic^^.


Thanks again, now I have good sound and can take the fight with the performance on a new level Tongue2.

It can be pretty interesting, and teaches you a lot about how they operate.

And I'm glad everything's working for you. Enjoy your new sound plugin...
(03-13-2010, 01:24 AM)arcum42 Wrote: [ -> ][...]
I've just figured that I've got enough going on as the only Linux developer on the project, and haven't really gotten around to reading up too much on the process, especially since there are several different package systems for different distributions.
[...]

OK, that's a good reason^^. I was also just a thought, since compiling works pretty good on Linux (except SPU2-X perhaps Tongue2) this isn't really necessary. I guess there're some other things that need your attention more urgently than that^^.

(03-13-2010, 01:24 AM)arcum42 Wrote: [ -> ][...]
And I'm glad everything's working for you. Enjoy your new sound plugin...

I'm right at it^^.
(10-11-2009, 06:56 AM)thakissick Wrote: [ -> ]I am getting a plugin load failure when I press Config-->Configure with the SPU2-X 1.2 version. Says plugin load failure: plugins\SPU2-X-1.2.dll SysLibError Message: <NULL>

searched a bit and couldnt find any other thread with this. Sry if it is a repost!

Hello, I am having this exact same problem with version 1.4. This is the only plugin that is refusing to load. I already tried installing the package linked to directly after the post I'm quoting but it has not helped. I searched the forum, but couldn't find anything helpful.

If it matters, I'm using windows 7 pro 64 bit, with a phenom ii x4 925, 4 gigs of ram, and an ati hd5850.