..:: PCSX2 Forums ::..

Full Version: Gentoo / libGL.so
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I've been wanting to try PCSX2, and have had it working a couple years ago, but trying it again, I'm running in to an issue.

I use Gentoo Linux and most stuff is fairly up to date.

I installed a 32 bit chroot.

I successfully built PCSX2, now I am having trouble running it. I have built a debug version, and ran it in GDB. The First Time Configuration wizard appears, and I can select a language, but if I click "Next >", it crashes.

Here's the output:
Quote:$ gdb pcsx2-dbg
GNU gdb (Gentoo 7.3.1 p2) 7.3.1
Copyright © 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /home/paul/pcsx2/bin/pcsx2-dbg...done.
(gdb) run
Starting program: /home/paul/pcsx2/bin/pcsx2-dbg
[Thread debugging using libthread_db enabled]
Interface is initializing. Entering Pcsx2App:OhmynInit!
Applying operating system default language...
Command line parsing...
Command line parsed!
[New Thread 0xf4c69b70 (LWP 17675)]
(UserMode) Found portable install ini @ /home/paul/pcsx2/bin/portable.ini
[New Thread 0xf3399b70 (LWP 17676)]
[New Thread 0xf29ffb70 (LWP 17677)]

(pcsx2-dbg:17667): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 11

(pcsx2-dbg:17667): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 11
[Thread 0xf29ffb70 (LWP 17677) exited]

(pcsx2-dbg:17667): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 11

(pcsx2-dbg:17667): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 11

(pcsx2-dbg:17667): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 11
Restarting First Time Wizard!
[New Thread 0xf29ffb70 (LWP 17678)]

(pcsx2-dbg:17667): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 11

(pcsx2-dbg:17667): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 11
[Thread 0xf29ffb70 (LWP 17678) exited]

(pcsx2-dbg:17667): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 11

(pcsx2-dbg:17667): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 11

(pcsx2-dbg:17667): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 11

(pcsx2-dbg:17667): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 11

(pcsx2-dbg:17667): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 11

Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
(gdb) bt
#0 0x00000000 in ?? ()
#1 0xf7495951 in pthread_once () from /lib/libpthread.so.0
#2 0xf1537de6 in ?? () from /usr/lib/opengl/nvidia/lib/libGL.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Gentoo "desktop" profile
Linux Kernel 3.1.1 with pf patches
nvidia drivers 290.10
gcc 4.5.3-r1
glibc 2.13-r4
Tried PCSX2 SVN 5074, 5020 and 4950 to see if it was some regression and they all do the same thing.

EDIT: 0.9.8 r4594 linux binary runs but has no usable video plugin available to select. Only GSnull.

Output looks like this:
Quote:$ ./launch_pcsx2_linux.sh
Interface is initializing. Entering Pcsx2App:OhmynInit!
Applying operating system default language...
Command line parsing...
Command line parsed!
Releasing host memory maps for virtual systems...

EDIT2: Tried 0.9.8 r4594 source. This time the GUI appears, because the first time wizard had successfully run previously. A message about configuration comes up, clicking OK brings up the "Components Selectors" set to the "Plugins" tab, and it crashes again:

Quote:$ gdb pcsx2-dbg
GNU gdb (Gentoo 7.3.1 p2) 7.3.1
Copyright © 2011 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.gentoo.org/>...
Reading symbols from /home/paul/pcsx2-0.9.8-r4600-sources/bin/pcsx2-dbg...done.
(gdb) run
Starting program: /home/paul/pcsx2-0.9.8-r4600-sources/bin/pcsx2-dbg
[Thread debugging using libthread_db enabled]
Interface is initializing. Entering Pcsx2App:OhmynInit!
Applying operating system default language...
Command line parsing...
Command line parsed!
[New Thread 0xf676db70 (LWP 21269)]
[New Thread 0xf5eb4b70 (LWP 21271)]
[Thread 0xf5eb4b70 (LWP 21271) exited]
[New Thread 0xf5eb4b70 (LWP 21272)]
[New Thread 0xf549fb70 (LWP 21273)]
[New Thread 0xf49ffb70 (LWP 21274)]

Program received signal SIGSEGV, Segmentation fault.
0x00000000 in ?? ()
(gdb) bt
#0 0x00000000 in ?? ()
#1 0xf7953951 in pthread_once () from /lib/libpthread.so.0
#2 0xf3755de6 in ?? () from /usr/lib/opengl/nvidia/lib/libGL.so.1
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
Both you're backtrace are inside nvidia drivers. I would say that you don't compile and run with the same libgl version! What give you this kind of command : find /usr/lib -iname "libGL.*" -exec file {} \;
Maybe you did not install properly the nvidia drivers inside the chroot.

The binary don't show plugins because it depends on older library that you probably don't have on you system.
Using Mesa libGL.so gets past the crash, but it just fails to start up the video plugin when loading a game (As kind of expected, if not it would probably just run awfully slow.).

I'll try some other stuff like different nvidia driver versions and xorg server versions, and try to get things in the chroot and main root a bit more in-sync, versions-wise and report back.

EDIT: If it matters, here's the output when using Mesa libGL.so:
Quote:$ ./pcsx2-dbg
Interface is initializing. Entering Pcsx2App:OhmynInit!
Applying operating system default language...
Command line parsing...
Command line parsed!
(UserMode) Found portable install ini @ /home/paul/pcsx2/bin/portable.ini

(pcsx2-dbg:20202): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 11

(pcsx2-dbg:20202): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 11

(pcsx2-dbg:20202): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 11

(pcsx2-dbg:20202): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 11

(pcsx2-dbg:20202): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 11

(pcsx2-dbg:20202): Gtk-WARNING **: gtk_widget_size_allocate(): attempt to allocate widget with width -5 and height 11
ZZogl-PG: Failed to open '/home/paul/pcsx2/bin/inis/zzogl-pg.ini'
ZZogl-PG: Disabling MRT depth writing.
ZZogl-PG: Calling GSinit.
ZZogl-PG: GSinit finished.

(pcsx2-dbg:20202): Gtk-WARNING **: Could not find the icon 'application-x-ms-dos-executable'. The 'hicolor' theme
was not found either, perhaps you need to install it.
You can get a copy from:
http://icon-theme.freedesktop.org/releases
ZZogl-PG: Calling GSinit.
ZZogl-PG: GSinit finished.
ZZogl-PG: Calling GSopen2.
ZZogl-PG: Using ZZ Ogl PG (Debug) :0.3.0.
ZZogl-PG: Capturing ZZOgl window.
ZZogl-PG: Only Singlebuffered Visual!
ZZogl-PG: Failed to get buffered Visual!
At which point, the program becomes unresponsive.

EDIT:
OK, got it working. I had installed it improperly, since I had to do a hacky "see what my package manager did and try to recreate it", which didn't go too well, I guess.

What I ended up having to do is selecting a different kernel source as the active kernel source using "eselect kernel set #", then doing make menuconfig, saving then make modules_prepare from within the 32 bit chroot on the selected kernel source. This got emerge in the 32 bit chroot past all the checks and able to compile and install the driver (the module I'll never use), and now it works. Afterwards, you can safely set the kernel back to the one you normally use.

Thanks for your time.