Bug 115911

Summary: OpenGL applications segfault with VIA driver
Product: [openSUSE] SUSE LINUX 10.0 Reporter: Daniel Gollub <dgollub>
Component: X.OrgAssignee: Stefan Dirsch <sndirsch>
Status: RESOLVED FIXED QA Contact: Stefan Dirsch <sndirsch>
Severity: Major    
Priority: P5 - None    
Version: RC 1   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Found By: Development Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: hwinfo
X log
LIBGL_ALWAYS_INDIRECT=1 glxinfo
gdb /usr/X11R6/bin/glxinfo ...

Description Daniel Gollub 2005-09-08 16:44:35 UTC
Segfault with "via" driver since beta4. On beta3 GL applications work fine. RC1
is still affected. reproduce with glxgears, glxinfo, KDE OpenGL Screensaver ...
as user. root is not affected.

Machine: Maxdata M-book 1200X

I'll submit hwinfo and X log.

Are/which other log(s) needed?
Comment 1 Daniel Gollub 2005-09-08 16:48:18 UTC
Created attachment 49241 [details]
hwinfo

hwinfo output
Comment 2 Daniel Gollub 2005-09-08 16:49:07 UTC
Created attachment 49242 [details]
X log
Comment 3 Stefan Dirsch 2005-09-08 17:47:47 UTC
Sure, that your user is in group video?
Comment 4 Stefan Dirsch 2005-09-08 20:10:32 UTC
Critical --> Major. 
Comment 5 Daniel Gollub 2005-09-09 08:08:09 UTC
user is in group video:

tux@g173:~> id tux
uid=1000(tux) gid=100(users) groups=100(users),16(dialout),33(video)
tux@g173:~> glxgears
Segmentation fault
tux@g173:~>

do you need other logs?
Comment 6 Stefan Dirsch 2005-09-09 08:16:07 UTC
Yes, I think so. Results of:

1) LIBGL_ALWAYS_INDIRECT=1 glxinfo
2) gdb /usr/X11R6/bin/glxinfo (install gdb package for this)
   run
   bt
Comment 7 Daniel Gollub 2005-09-09 08:25:05 UTC
Created attachment 49337 [details]
LIBGL_ALWAYS_INDIRECT=1 glxinfo
Comment 8 Daniel Gollub 2005-09-09 08:25:53 UTC
Created attachment 49338 [details]
gdb /usr/X11R6/bin/glxinfo ...
Comment 9 Stefan Dirsch 2005-09-09 09:07:00 UTC
Ok. It would be an option to set LIBGL_ALWAYS_INDIRECT by default when via
driver is in use by adding /etc/profile.d/via.{sh,csh}.

via.sh:
-------
if [ -f /var/log/Xorg.0.log ]; then
  grep -q \"via\" /var/log/Xorg.0.log
  if [ $? -eq 0 ]; then 
    export LIBGL_ALWAYS_INDIRECT=1
  fi
fi

via.csh:
--------
if ( -f /var/log/Xorg.0.log ) then
  grep -q \"via\" /var/log/Xorg.0.log
  if ( $? == 0 ) then
    setenv LIBGL_ALWAYS_INDIRECT 1
  endif
endif
Comment 10 Stefan Dirsch 2005-09-09 09:47:25 UTC
I'll do so. Fixed for RC2.
Comment 11 Daniel Gollub 2005-09-09 09:50:26 UTC
works fine.
Comment 12 Daniel Gollub 2006-02-10 13:35:19 UTC
This is no longer needed for 10.1 Beta3.
Tested with same machine ( Maxdata M-book 1200X ) without workround.

Comment 13 Stefan Dirsch 2006-02-10 13:49:49 UTC
Ok. Will change this for Beta4. Thanks for the feedback!
Comment 14 Daniel Gollub 2006-02-13 11:00:09 UTC
New problem with Maxdata M-book 1200X without LIBGL_ALWAYS_INDIRECT.
glxinfo and glxgears and several GL screensaver works, but krandom.kss will freeze the X until krandom.kss will be killed. calling the single KDE GL screensaver works too - only krandom.kss is freezing and crashing.

Setting LIBGL_ALWAYS_INDIRECT=1 works for krandom.kss

Is this an krandom.kss problem or a via module problem?

I try to get a backtrace of crashing krandom.kss

Reenabling the old workaround? 
Reopen this bug? New bug assigend to?
Comment 15 Stefan Dirsch 2006-02-13 11:31:19 UTC
Ok. I think I should better reenable the workaround. :-(
Comment 16 Stefan Dirsch 2006-02-13 11:47:31 UTC
changed for Beta4.