Linux - Compile Guide and Support
OOT,
wow, i'am envious to yo guys, until now, i still can not make GSdx working, i got error just after i run the emulator. Sad
Mandriva Linux Free 2010.2 (32bit)
PCLinuxOS 2010.12 (32bit)
Athlon II X2 260 (@3,2Ghz)
4GB DDR2
Zotac Geforce GT240 1GB DDR3 (Nvidia Beta driver 270.30)
Reply

Sponsored links

Hum, maybe you can begin by tell us what is your error Wink If it is a crash the better is to use a Debug build and generate at least a backtrace with gdb
Reply
(03-25-2011, 07:05 PM)gregory Wrote: Hum, maybe you can begin by tell us what is your error Wink If it is a crash the better is to use a Debug build and generate at least a backtrace with gdb
thanks for the reply

hmm, i already talk with you ini here http://code.google.com/p/pcsx2/source/detail?r=4385 ( shinobi it's me )

how to compile with debug build?
i always compile it with this option:
Code:
cmake ./CMakeLists.txt -DCMAKE_BUILD_TYPE=Release -DCMAKE_BUILD_STRIP=TRUE

and when compile GSdx, i add -DFORCE_INTERNAL_SDL=TRUE
Code:
cmake ./CMakeLists.txt -DCMAKE_BUILD_TYPE=Release -DCMAKE_BUILD_STRIP=TRUE -DFORCE_INTERNAL_SDL=TRUE
Mandriva Linux Free 2010.2 (32bit)
PCLinuxOS 2010.12 (32bit)
Athlon II X2 260 (@3,2Ghz)
4GB DDR2
Zotac Geforce GT240 1GB DDR3 (Nvidia Beta driver 270.30)
Reply
Easy Smile
Code:
cmake ./CMakeLists.txt -DCMAKE_BUILD_TYPE=Debug  -DFORCE_INTERNAL_SDL=TRUE
Reply
(03-28-2011, 08:24 AM)gregory Wrote: Easy Smile
Code:
cmake ./CMakeLists.txt -DCMAKE_BUILD_TYPE=Debug  -DFORCE_INTERNAL_SDL=TRUE

thanks for the reply.

update to r4504, configure with cmake ./CMakeLists.txt -DCMAKE_BUILD_TYPE=Debug -DFORCE_INTERNAL_SDL=TRUE
then make pcsx2-dbg, now i can get debug info, here:
Code:
Opening plugins...
        Opening GS
/home/ai/Game/pcsx2-svn/common/src/Utilities/Linux/LnxHostSys.cpp(57) : assertion failed:
    Function:  void SysPageFaultSignalFilter(int, siginfo_t*, void*)
    Thread:    MTGS
    Condition: false
    Message:   Unhandled page fault @ 0x0000007c

[00] 0x0xffffe40c                                
[01] SDL_CreateWindow                            
[02] GSWnd::Create(std::string const&, int, int)
[03] GSRenderer::CreateWnd(std::string const&, int, int)
[04] 0x0xb3e2b972                                
[05] GSopen                                      
[06] SysMtgsThread::OpenPlugin()                  /Game/pcsx2-svn/pcsx2/MTGS.cpp:193
[07] SysMtgsThread::OnResumeInThread(bool)        /Game/pcsx2-svn/pcsx2/MTGS.cpp:556
[08] SysThreadBase::StateCheckInThread()          /Game/pcsx2-svn/pcsx2/System/SysThreadBase.cpp:300


oh yeah, i compile it with this option cmake ./CMakeLists.txt -DCMAKE_BUILD_TYPE=Release -DCMAKE_BUILD_STRIP=TRUE

and when i try to configure ZZ-Ogl, i cannto configure it, i have this error message in console:
Code:
ZZogl-PG:  Failed to open '0<{
                              e/ai/PCSX2/inis/zzogl-pg.ini'

i have file zzogl-pg.ini in /home/ai/PCSX2inis/


Update:
I just update svn to 4517
i compile it with this option cmake ./CMakeLists.txt -DCMAKE_BUILD_TYPE=Release -DCMAKE_BUILD_STRIP=TRUE

remove PCSX2 folder ( configuration folder ) then run pcsx2, re configure.
and the problem with saving configuration zzogl is fixed.
thanks.

But i still got problem with GSdx, here the log:
Code:
/home/ai/Game/pcsx2-svn/common/src/Utilities/Linux/LnxHostSys.cpp(57) : assertion failed:
    Function:  void SysPageFaultSignalFilter(int, siginfo_t*, void*)
    Thread:    MTGS
    Condition: false
    Message:   Unhandled page fault @ 0x0000007c

Stacktrace:
[00] 0x0xffffe40c                                
[01] SDL_CreateWindow                            
[02] GSWnd::Create(std::string const&, int, int)
[03] GSRenderer::CreateWnd(std::string const&, int, int)
[04] 0x0xb3e0c9b2                                
[05] GSopen                                      
[06] SysMtgsThread::OpenPlugin()                  /Game/pcsx2-svn/pcsx2/MTGS.cpp:193
[07] SysMtgsThread::OnResumeInThread(bool)        /Game/pcsx2-svn/pcsx2/MTGS.cpp:556
[08] SysThreadBase::StateCheckInThread()          /Game/pcsx2-svn/pcsx2/System/SysThreadBase.cpp:300
when compile, i delete pcsx2 source code, i copy the new one.
i delete PCSX2 configuration too
Mandriva Linux Free 2010.2 (32bit)
PCLinuxOS 2010.12 (32bit)
Athlon II X2 260 (@3,2Ghz)
4GB DDR2
Zotac Geforce GT240 1GB DDR3 (Nvidia Beta driver 270.30)
Reply
Actually it is also an issue within libsdl. Unfortunately the backtrace is not very informative. With the debug build
1/ install gdb
2/ gdb pcsx2-dbg
# tell gdb to start pcsx2
3/ run
launch the game.
Either it will give back control to gdb or it will show the trace popup.
4/ with the popup -> hit ctrl C in gdb to get the console prompt
# generate the full backtrace. Actually I only need the gsdx one.
5/ thread apply all bt full
Reply
(04-01-2011, 08:59 PM)gregory Wrote: Actually it is also an issue within libsdl. Unfortunately the backtrace is not very informative. With the debug build
1/ install gdb
2/ gdb pcsx2-dbg
# tell gdb to start pcsx2
3/ run
launch the game.
Either it will give back control to gdb or it will show the trace popup.
4/ with the popup -> hit ctrl C in gdb to get the console prompt
# generate the full backtrace. Actually I only need the gsdx one.
5/ thread apply all bt full
Thanks for the reply.

I Got alot of stuff, and i dont know which one is GSdx debug info,
i attach the log, it's 12kb dbg file, i hope you can get something from that file.


Attached Files
.txt   gdb-pcsx2-dbg.txt (Size: 12,14 KB / Downloads: 244)
Mandriva Linux Free 2010.2 (32bit)
PCLinuxOS 2010.12 (32bit)
Athlon II X2 260 (@3,2Ghz)
4GB DDR2
Zotac Geforce GT240 1GB DDR3 (Nvidia Beta driver 270.30)
Reply
btw, Gregory, thanks for the info in here http://code.google.com/p/pcsx2/issues/detail?id=597
I have PSX Controller with 6 Axes connected via Pararel port, and SDL detect it as 4 Axes only.
Code:
[ai@Mandriva_2010_Spring ff-utils]$ ./jstest /dev/input/js0
Joystick (PSX controller) has 6 axes and 12 buttons. Driver version is 2.1.0.
Testing ... (interrupt to exit)
Axes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:oAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:oAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:oAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:oAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:oAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:oAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:oAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:oAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:oAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:oAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:oAxes:  0:     0  1:     0  2:     0  3:     0  4:     0  5:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:oAxes:  0:-32767  1:     0  2:     0  3:     0  4:     0  5:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:oAxes:  0:-32767  1:-32767  2:     0  3:     0  4:     0  5:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:oAxes:  0:-32767  1:-32767  2:-32767  3:     0  4:     0  5:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:oAxes:  0:-32767  1:-32767  2:-32767  3:-32767  4:     0  5:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:oAxes:  0:-32767  1:-32767  2:-32767  3:-32767  4:-32767  5:     0 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:oAxes:  0:-32767  1:-32767  2:-32767  3:-32767  4:-32767  5:-32767 Buttons:  0:off  1:off  2:off  3:off  4:off  5:off  6:off  7:off  8:off  9:off 10:off 11:off

Now I can get 6 Axes with your trick.
So I Edit your "launch_pcsx2_linux.sh" and add
Code:
export SDL_JOYSTICK_DEVICE=/dev/input/js0

Thanks.
Mandriva Linux Free 2010.2 (32bit)
PCLinuxOS 2010.12 (32bit)
Athlon II X2 260 (@3,2Ghz)
4GB DDR2
Zotac Geforce GT240 1GB DDR3 (Nvidia Beta driver 270.30)
Reply
Arg I was expected the crash to come sooner... Be sure to use GSdx plugins and not zz. Can you relaunch gdb.
When gdb stop, it will tell you where
Code:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xf5effb70 (LWP 2955)]
0x082e28cb in xWrite<unsigned short> (val=4083)
    at /mnt/playstation/emulateur/package/pcsx2.snapshot-4512/common/include/x86emitter/internal.h:39
39            *(T*)x86Ptr = val;
You can also use the gdb command "bt 1"

If your stop in common code -> ...pcsx2-4512/common/include/x86emitter/internal.h:39
Or if your stop in the recompiler ->0x09e2a016 in eeRecDispatchers

Ignore them and uses the gdb command "continue" (note enter repeat previous command)

When your real error appears, generate the backtrace. Normally it will be the current one so if you use bt full -> you will see SDL_... in the first function call.
Reply
(04-02-2011, 10:30 AM)gregory Wrote: Arg I was expected the crash to come sooner... Be sure to use GSdx plugins and not zz. Can you relaunch gdb.
When gdb stop, it will tell you where
Code:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xf5effb70 (LWP 2955)]
0x082e28cb in xWrite<unsigned short> (val=4083)
    at /mnt/playstation/emulateur/package/pcsx2.snapshot-4512/common/include/x86emitter/internal.h:39
39            *(T*)x86Ptr = val;
You can also use the gdb command "bt 1"

If your stop in common code -> ...pcsx2-4512/common/include/x86emitter/internal.h:39
Or if your stop in the recompiler ->0x09e2a016 in eeRecDispatchers

Ignore them and uses the gdb command "continue" (note enter repeat previous command)

When your real error appears, generate the backtrace. Normally it will be the current one so if you use bt full -> you will see SDL_... in the first function call.
thanks for the reply.

Yes, i'am using GSdx.
I run gdb again, the result in attachment.


Attached Files
.txt   gdb-pcsx2-dbg2.txt (Size: 8,45 KB / Downloads: 228)
Mandriva Linux Free 2010.2 (32bit)
PCLinuxOS 2010.12 (32bit)
Athlon II X2 260 (@3,2Ghz)
4GB DDR2
Zotac Geforce GT240 1GB DDR3 (Nvidia Beta driver 270.30)
Reply




Users browsing this thread: 1 Guest(s)