..:: PCSX2 Forums ::..

Full Version: Linux - Compile Guide and Support
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 35
Ok nice. You can put asidde zzogl for the moment, it is possible that it is changing some codepath and break somewhere. It is not easy to debug gcc optimization. Spu2x asm is more important as is really fix my broken code... Note one line was not properly integrated in my previous patches. See the attachement.

I do not know how work others distribution. But in Debian as far as I understand (I am just an user Wink ), generally they build a source-package that spawns multiple binary packages. So to put it simple they build everything and put files into separates packages. Not sure it is what you want, but it is already possible to use some target in cmake: make pcsx2(-dev) or make 'plugin_name'. Anyway improvement is always welcome.

Yes headers are headache Smile

A question, have you also some .pcsx2* spurious configuration file created in your home ? Or is it specific on my system ?
I might try to become the Debian and Ubuntu maintainer for this package(s). I don't have any experience but I've read all the documentation.

For multiple packages you build everything as usual, then there is a file that has a list(s) like so:
[pcsx2]
bin/pcsx2 -> /usr/games/pcsx2
[pcsx2-plugin-video]
lib/video.so -> /usr/share/lib/pcsx2/video.so
[pcsx2-plugin-controller]
lib/controller.so -> /usr/share/lib/pcsx2/controller.so

Then each package is "ziped" using this information.

...It's not usually possible during the build to only build a single package from the source, you build the whole source. Though there might be a way to exclude some packages from the "zip" part.
The issue most pressing about adding a debian folder is weather or not we should have one. It's known that even if a project has this folder and it's 'perfectly' suited for use by a Debian Developer that it will still need some alteration.

I believe we should strive to have a debian folder that will build on Ubuntu and Debian(sid/testing/stable). This will be hard, it might even require multiple debian folders. We might opt for a script the links in the correct debian folder for the current environment. Perhaps Ubuntu will relies that there system is different enough that they need to use an ubuntu folder, perhaps they already have.

The part I'm unsure of is what the Debian Maintainer would want, though that's likely not known till we have one.
In my opinion is still prematurate to have a nice pcsx2 package. In any case, I will call the debian folder, debian_unofficial (or something similar) because it is not a good idea to have a debian folder in the upstream tarball.

Multiple debian directories are a bad idea for (sid/testing/stable). You build the package for sid. If dependancy are good it will build on testing (or stable). If no it will stay more time in sid.

Some stuff to fix before packaging to be a little compliant with the policy:
- remove 3rdparty dependancy must build agains system library. Not sure if bin2cpp tools is allowed. Moreover Debian have only libsoundtouch1.3 and the package does not have a maintainer with enough free time.
- Log file are not created in good directory. Need to add setlogdir in main/plugins api or wait the port to the new API (v2.0).
- put all user config file into either .pcsx2 or .config/pcsx2 (latter will be better but I do not know if it is possible)
- Some spurious ini file in my home
- Plenty of other things, I have no idea
Arcum,

On the ini file created on the home dir. Do not know if it can help you, but I have a small backtrace that lead to the problem. The file is only created when using the function CfgWrite* (not the CfgRead*). So I think it is "config->Write" that does some bad things. Unfortunately I can not see the content of object in gdb (may be need a debug build of wx)

#0 writeIni (tempConfig=0x9a62638) at /mnt/playstation/emulateur/package/pcsx2.snapshot-3062/plugins/spu2-x/src/Linux/CfgHelpers.cpp:45
PreviousConfig = 0x9a62638
#1 0xee5e6710 in CfgWriteBool (Section=0xee605db0 L"MIXING", Name=0xee605dcc L"Disable_Effects", Value=false)
at /mnt/playstation/emulateur/package/pcsx2.snapshot-3062/plugins/spu2-x/src/Linux/CfgHelpers.cpp:58
config = 0x9a62638
#2 0xee5e757d in WriteSettings () at /mnt/playstation/emulateur/package/pcsx2.snapshot-3062/plugins/spu2-x/src/Linux/Config.cpp:86
#3 0xee5e74ef in ReadSettings () at /mnt/playstation/emulateur/package/pcsx2.snapshot-3062/plugins/spu2-x/src/Linux/Config.cpp:78
temp = {static npos = 4294967295, _M_dataplus = {> = {<__gnu_cxx::new_allocator> = {}, },
_M_p = 0x9a6637c L"portaudio"}}
#4 0xee5c4a05 in SPU2test () at /mnt/playstation/emulateur/package/pcsx2.snapshot-3062/plugins/spu2-x/src/PS2E-spu2.cpp:160
Yeah, I took a look, and I have a fair idea what's causing it. The tricky parts going to be working around it. I might have to redo the spu2-x ini code without using wxConfig...
Think I've gotten it taken care of.

From the wxWidget docs on wxConfig: "It is highly recommended to use static functions Get() and/or Set(), so please have a look at them."

So naturally, I fixed the problem by getting rid of all my calls to Get() and Set()... ^_^
Ok. Good, one more thing done Smile
Arcum,

I do not know what was the reason to disable 02 optimization in spu2x. If it was the problem of missing symbol, I thinks it might be worth it to test it, now that cmake build in functionnal. In my side (minus some __forceinline stuff) it seems to work on the intro of 2 games.

Ah an other question about the plugin API. If I properly understand plugins use v1 API. But they are a plan for switching to a v2 API. For the moment log file are not written in the good directory (issue for linux distribution).
Would be worth it to implement SetLogFolder in the v1 API (function defined in v2 API) ? Could propably be reused without too much pain in V2 (at least in plugins side). Or the switch to V2 will happen sooner and my free time will better spend in others places ?

cheako,
I have improved a little my debian packaging. If it can help you I attached the new control & rule files. I fix some interdependancy between pcsx2* package in the control file. I also add some *-dbg package to ease the eventual debugging.
(05-26-2010, 08:00 PM)gregory Wrote: [ -> ]cheako,
I have improved a little my debian packaging. If it can help you I attached the new control & rule files. I fix some interdependancy between pcsx2* package in the control file. I also add some *-dbg package to ease the eventual debugging.

Sweet, I'll test them tonight.
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 35