LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Fedora
User Name
Password
Fedora This forum is for the discussion of the Fedora Project.

Notices


Reply
  Search this Thread
Old 12-10-2010, 04:17 AM   #1
phil.d.g
Senior Member
 
Registered: Oct 2004
Posts: 1,272

Rep: Reputation: 154Reputation: 154
OpenGL apps segfault


Hi,

I'm using Fedora 14 x86_64 under VirtualBox 3.2.12. I have installed the guest additions as provided by 3.2.12 ensuring dkms was used.

Every time I open an app (glxgears for example) that uses 3d acceleration, it seg faults. I'm trying to get compiz working.

Any ideas?

BTW, I have Ubuntu 10.10 amd64 running as a guest with 3d acceleration working, so I doubt it's an issue with the host.

Thanks,
Phil
 
Old 12-10-2010, 09:23 PM   #2
John VV
LQ Muse
 
Registered: Aug 2005
Location: A2 area Mi.
Posts: 17,624

Rep: Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651
? did you install a 3d driver for a 3d card ? If one is installed -- you have not stated IF you even have a 3d card .
 
Old 12-11-2010, 03:58 AM   #3
phil.d.g
Senior Member
 
Registered: Oct 2004
Posts: 1,272

Original Poster
Rep: Reputation: 154Reputation: 154
I have enabled 3d acceleration in VirtualBox and I'm using the 3d driver included with the guest additions.

I'm not sure knowing my graphics card would make much difference, that's all (sort of) abstracted away by VirtualBox, but for reference I'm using an nVidia GeForce 9400GT and the proprietary nvidia drivers. 3d works perfectly well for the host (Ubuntu 10.04 LTS), and it works for one of my other guests (Ubuntu 10.10). All are 64bit
 
Old 12-11-2010, 03:19 PM   #4
John VV
LQ Muse
 
Registered: Aug 2005
Location: A2 area Mi.
Posts: 17,624

Rep: Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651Reputation: 2651
fedoras default nouveau driver WILL not work with any other nvidia driver UNLESS it is blacklisted
"F14, F13 & F12 Nvidia driver guides "
http://forums.fedoraforum.org/showthread.php?t=204752

also fedora IS NOT anywhere like Ubuntu and dose things VERY differently ( apples and oranges ) \

also if you do NOT use the nvidia rpm in the fedora repos and use the .run ( from the nvidia web site) you will also need to REINSTALL ALL of mesa and mesa-devel
the .run overwrites some fedora system files AND SOURCE HEADER FILES , these need to be fixed otherwise you WILL get opengl segfaults
 
Old 12-11-2010, 03:52 PM   #5
phil.d.g
Senior Member
 
Registered: Oct 2004
Posts: 1,272

Original Poster
Rep: Reputation: 154Reputation: 154
I think you're misunderstanding me entirely.

Why would I use any nvidia driver in a VirtualBox guest? Fedora doesn't know about my nvidia card. All it sees is the one emulated by VirtualBox, and I'm using the vboxvideo X driver. Fedora describes the emulated graphics chip as
Quote:
00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter
So again, why would I use the nvidia driver?

My first post may seem lacking in information to the casual observer, but VirtualBox only emulates one graphics device, and the X drivers are part of the guest additions, so in fact all the information is there. I mentioned dkms, because there is a bug the old fallback method in that sym links to VBoxOGL.so aren't correctly setup.

JohnVV, while I appreciate your efforts to help, you seem to have glossed over the fact that I'm running Fedora in a virtual machine. This nugget of information is quite significant, and changes the problem space somewhat.

I was in 2 minds whether to post here, or in the Virtualisation forum, I decided here because it seems to be a problem with Fedora, rather than the virtualisation solution I'm using.
 
Old 12-12-2010, 08:08 AM   #6
phil.d.g
Senior Member
 
Registered: Oct 2004
Posts: 1,272

Original Poster
Rep: Reputation: 154Reputation: 154
Ok,

Maybe 3d is working, from Xorg.0.log:

Quote:
[ 191.046] (**) AIGLX enabled
...
[ 191.512] (II) [drm] DRM interface version 1.3
[ 191.512] (II) [drm] DRM open master succeeded.
...
[ 191.557] (EE) AIGLX error: vboxvideo does not export required DRI extension
[ 191.561] (EE) AIGLX: reverting to software rendering
[ 191.567] (II) AIGLX: Loaded and initialized /usr/lib64/dri/swrast_dri.so
[ 191.567] (II) GLX: Initialized DRISWRAST GL provider for screen 0
The 2 errors are somewhat misleading, both my Ubuntu and ArchLinux guest log the same errors, but 3d acceleration works fine for them.

I've done an update, which included:

Quote:
Dec 12 12:28:19 Updated: ibus-libs-1.3.9-1.fc14.x86_64
Dec 12 12:28:20 Updated: ibus-gtk2-1.3.9-1.fc14.x86_64
Dec 12 12:28:29 Updated: ibus-1.3.9-1.fc14.x86_64
Dec 12 12:28:32 Updated: xulrunner-1.9.2.13-1.fc14.x86_64
Dec 12 12:28:34 Updated: mesa-dri-drivers-7.9-4.fc14.x86_64
Dec 12 12:28:35 Updated: mesa-libGL-7.9-4.fc14.x86_64
Dec 12 12:28:35 Updated: gnome-python2-extras-2.25.3-26.fc14.1.x86_64
Dec 12 12:28:35 Updated: mesa-libGLU-7.9-4.fc14.x86_64
Dec 12 12:28:35 Updated: glx-utils-7.9-4.fc14.x86_64
Dec 12 12:28:36 Updated: gnome-python2-gtkhtml2-2.25.3-26.fc14.1.x86_64
Dec 12 12:28:36 Updated: gnome-python2-libegg-2.25.3-26.fc14.1.x86_64
Dec 12 12:28:36 Updated: ibus-gtk3-1.3.9-1.fc14.x86_64
Dec 12 12:28:37 Updated: openssl-1.0.0c-1.fc14.x86_64
Dec 12 12:28:38 Updated: 1:xorg-x11-font-utils-7.4-3.fc14.x86_64
Dec 12 12:28:42 Updated: firefox-3.6.13-1.fc14.x86_64
Dec 12 12:28:44 Updated: paktype-naqsh-fonts-3.0-4.fc14.noarch
Dec 12 12:28:45 Updated: paktype-tehreer-fonts-2.0-10.fc14.noarch
And I reinstalled the guest additions. Now running glxgears results in SIGILL (Illegal Instruction)

Some output from strace:

Code:
stat("/dev/dri", {st_mode=S_IFDIR|0755, st_size=60, ...}) = 0
stat("/dev/dri/card0", {st_mode=S_IFCHR|0660, st_rdev=makedev(226, 0), ...}) = 0
open("/dev/dri/card0", O_RDWR)          = 5
ioctl(5, 0xc0106407, 0x7fff10fb16f0)    = -1 EACCES (Permission denied)
ioctl(5, 0xc0106407, 0x7fff10fb16f0)    = -1 EACCES (Permission denied)
ioctl(5, 0xc0106401, 0x7fff10fb16e0)    = 0
ioctl(5, 0xc0106401, 0x7fff10fb16e0)    = 0
ioctl(5, 0x80046402, 0x7fff10fb1800)    = 0
ioctl(5, 0xc0406400, 0xffd060)          = 0
ioctl(5, 0xc0406400, 0xffd060)          = 0
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{"\211\v\3\0\0\0\0\0\v\0\0\0", 12}, {NULL, 0}, {"", 0}], 3) = 12
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
read(3, "\1\0\32\0\0\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\320Yy\0\0\0\0\0", 4096) = 32
read(3, 0xea2534, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
read(3, 0xea2534, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{"\211\4\2\0\0\0\0\0", 8}, {NULL, 0}, {"", 0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
read(3, "\1\0\33\0\3\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\t\0\0\0\320Yy\0\0\0\0\0"..., 4096) = 44
read(3, 0xea2534, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
read(3, 0xea2534, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
poll([{fd=3, events=POLLIN|POLLOUT}], 1, -1) = 1 ([{fd=3, revents=POLLOUT}])
writev(3, [{"\211\n\2\0\0\0\0\0", 8}, {NULL, 0}, {"", 0}], 3) = 8
poll([{fd=3, events=POLLIN}], 1, -1)    = 1 ([{fd=3, revents=POLLIN}])
read(3, "\1\0\34\0\0\0\0\0\0\0\0\340\0\0\0\0\0\0\0\0\0\0\0\2\240\22\0\0\0\0\0\0", 4096) = 32
read(3, 0xea2534, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
read(3, 0xea2534, 4096)                 = -1 EAGAIN (Resource temporarily unavailable)
mmap(NULL, 33554432, PROT_READ|PROT_WRITE, MAP_SHARED, 5, 0xe0000000) = 0x7f4cd8818000
mmap(NULL, 8192, PROT_READ|PROT_WRITE, MAP_SHARED, 5, 0x1b7ff000) = 0x7f4cdc391000
--- SIGILL (Illegal instruction) @ 0 (0) ---
+++ killed by SIGILL (core dumped) +++
Illegal instruction (core dumped)
I'm getting permission denied on some ioctl calls to /dev/dri/card0. I am a member of the video group, and selinux is set to permissive. I'm not sure about those resource unavailable errors either. At that point in time fd 3 is a handle to /tmp/.X11-unix/X0

Quote:
[philip@boron ~]$ ls -l /dev/dri/card0
crw-rw----+ 1 root video 226, 0 Dec 12 13:40 /dev/dri/card0
[philip@boron ~]$ ls -l /tmp/.X11-unix/X0
srwxrwxrwx. 1 root root 0 Dec 12 13:40 /tmp/.X11-unix/X0
the SIGILL is generated from within a call in libGL:

Code:
Starting program: /usr/bin/glxgears 
[Thread debugging using libthread_db enabled]

Program received signal SIGILL, Illegal instruction.
0x00007ffff7b443a7 in ?? () from /usr/lib64/libGL.so.1
(gdb) bt
#0  0x00007ffff7b443a7 in ?? () from /usr/lib64/libGL.so.1
#1  0x00007ffff7b45771 in ?? () from /usr/lib64/libGL.so.1
#2  0x00007ffff7b425a9 in ?? () from /usr/lib64/libGL.so.1
#3  0x00007ffff7b43556 in glXChooseVisual () from /usr/lib64/libGL.so.1
#4  0x0000000000402a37 in ?? ()
#5  0x0000003c57c1ee7d in __libc_start_main () from /lib64/libc.so.6
#6  0x00000000004017a9 in ?? ()
#7  0x00007fffffffe328 in ?? ()
#8  0x000000000000001c in ?? ()
#9  0x0000000000000001 in ?? ()
#10 0x00007fffffffe5f3 in ?? ()
#11 0x0000000000000000 in ?? ()
will post the stack trace again once I have the debuginfo rpms in.
 
Old 12-12-2010, 08:35 AM   #7
phil.d.g
Senior Member
 
Registered: Oct 2004
Posts: 1,272

Original Poster
Rep: Reputation: 154Reputation: 154
New and improved stack trace:

Code:
(gdb) run
Starting program: /usr/bin/glxgears 
[Thread debugging using libthread_db enabled]
Missing separate debuginfo for /usr/lib64/dri/vboxvideo_dri.so
Missing separate debuginfo for /usr/lib64/VBoxOGLcrutil.so
Missing separate debuginfo for /usr/lib64/VBoxOGLpackspu.so
Missing separate debuginfo for /usr/lib64/VBoxOGLerrorspu.so
Missing separate debuginfo for /usr/lib64/VBoxOGLfeedbackspu.so
Missing separate debuginfo for /usr/lib64/VBoxOGLpassthroughspu.so

Program received signal SIGILL, Illegal instruction.
__glXClientInfo (dpy=0x604010, opcode=154) at glxcmds.c:1286
1286	{
(gdb) bt
#0  __glXClientInfo (dpy=0x604010, opcode=154) at glxcmds.c:1286
#1  0x00007ffff7b45771 in __glXInitialize (dpy=0x604010) at glxext.c:865
#2  0x00007ffff7b425a9 in GetGLXPrivScreenConfig (dpy=0x604010, scrn=0, ppriv=0x7fffffffdf30, 
    ppsc=0x7fffffffdf28) at glxcmds.c:130
#3  0x00007ffff7b43556 in glXChooseVisual (dpy=0x604010, screen=0, attribList=0x7fffffffe100)
    at glxcmds.c:1152
#4  0x0000000000402a37 in make_window (argc=<value optimized out>, argv=<value optimized out>)
    at glxgears.c:515
#5  main (argc=<value optimized out>, argv=<value optimized out>) at glxgears.c:756
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Apps Using OpenGL cause X to (restart)? kalimakhus Linux - Software 1 05-11-2006 01:55 PM
fullscreen opengl apps with twinview Ljubomir Linux - Software 0 02-20-2005 08:37 AM
Getting openGL apps working. gauntalus Linux - Software 7 01-14-2005 05:54 PM
OpenGL apps pause every second or so cruane Linux - General 3 11-14-2002 02:04 AM
Instability in OpenGL apps SilentStrike Linux - General 12 05-24-2002 05:36 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Fedora

All times are GMT -5. The time now is 01:12 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration