Bug 855199

Summary: Since Mesa update on December the 9th 2013 OpenGL reports error
Product: [openSUSE] openSUSE 13.1 Reporter: Predrag Boksic <junkerade>
Component: X.OrgAssignee: E-mail List <xorg-maintainer-bugs>
Status: RESOLVED INVALID QA Contact: E-mail List <xorg-maintainer-bugs>
Severity: Normal    
Priority: P3 - Medium    
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 13.1   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Predrag Boksic 2013-12-12 16:36:18 UTC
User-Agent:       Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36

This is debug info from the initialization process of my Java application since yesterday. I am set to receive automatic updates in Open SuSE 13.1 64bit. 

libGL: screen 0 does not appear to be DRI2 capablelibGL: OpenDriver: trying /usr/lib/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib/dri/swrast_dri.so
libGL error: dlopen /usr/lib/dri/swrast_dri.so failed (/usr/lib/dri/swrast_dri.so: wrong ELF class: ELFCLASS32)
libGL: OpenDriver: trying /usr/lib64/dri/tls/swrast_dri.so
libGL: OpenDriver: trying /usr/lib64/dri/swrast_dri.so
libGL: Can't open configuration file /home/gamma/.drirc: No such file or directory.
libGL error: failed to load driver: swrast

I am using Ati Radeon Catalyst latest beta driver for a long time with success.


Reproducible: Always

Steps to Reproduce:
1. when I start my java application using Run option in IntelliJIdea IDE, the start up parameter is 
-Dsun.java2d.opengl=True 
which causes the error to be displayed.
Comment 1 Stefan Dirsch 2013-12-13 14:22:38 UTC
Hmm. This looks like a mess up in Mesa and AMD's drivers (likely you installed AMD's driver manually, not via RPM). I suggest to uninstall AMD's driver, then reinstall Mesa and then install AMD's driver again.
Comment 2 Predrag Boksic 2013-12-13 22:24:39 UTC
(In reply to comment #1)
> Hmm. This looks like a mess up in Mesa and AMD's drivers (likely you installed
> AMD's driver manually, not via RPM). I suggest to uninstall AMD's driver, then
> reinstall Mesa and then install AMD's driver again.

Beta driver from AMD site failed to uninstall using the commmand:

./amd-catalyst-13.11-beta\ V9.4-linux-x86.x86_64.run --force --uninstall

*** AMD Catalyst(TM) Proprietary Driver Uninstall Log 2013-12-13 23:13:01 ***
Symbolic link has been modified, //usr/lib64/libGL.so.1.2, since last install.
One or more files have been altered since installation.
Uninstall will not be completed.

To force uninstall, removing all installed files without verification,
run /usr/share/ati/amd-uninstall.sh --force.

Forcing uninstall is not recommended and may cause system corruption.


Symlink points to libGL.so.1.2.0

I am installing RPM for the beta driver using advice from:
http://lizards.opensuse.org/2013/11/23/yippee-yeah-another-proprietary-amdati-catalyst-fglrx-13-11-beta-v9-4-13-25-18-2-rpm-are-released-for-any-opensuse-version/


Executing:
 
zypper ar -n FGLRX-BETA -cgf http://geeko.ioda.net/mirror/amd-fglrx-beta/openSUSE_`lsb-release -r | awk '{print $2}'` FGLRX-BETA

Installing fglrx64... using YaST.

Ok.

I uninstalled old beta after all:

/usr/share/ati/amd-uninstall.sh --force

The script obviously belongs to the RPM version of driver, because it was not found previously.

Reinstalling using YaST...

OK. Going to reboot and test...
Comment 3 Predrag Boksic 2013-12-13 22:49:19 UTC
Some new errors spotted, although application works (it uses very little graphics).

libGL: AtiGetClientDriverName: 13.25.5 fglrx (screen 0)
libGL: OpenDriver: trying /usr/lib/dri/fglrx_dri.so
libGL error: OpenDriver: failed to open /usr/lib/dri/fglrx_dri.so, error[/usr/lib/dri/fglrx_dri.so: wrong ELF class: ELFCLASS32]
libGL: OpenDriver: trying /usr/lib64/dri/fglrx_dri.so
ukiDynamicMajor: found major device number 250
ukiDynamicMajor: found major device number 250
ukiDynamicMajor: found major device number 250
ukiOpenDevice: node name is /dev/ati/card0
ukiOpenDevice: open result is 17, (OK)
ukiGetBusid returned 'PCI:0:1:0'
ukiOpenDevice: node name is /dev/ati/card1
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card2
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card3
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card4
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card5
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card6
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card7
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card8
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card9
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card10
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card11
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card12
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card13
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card14
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card15
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiDynamicMajor: found major device number 250
ukiOpenByBusid: Searching for BusID PCI:0:1:0
ukiOpenDevice: node name is /dev/ati/card0
ukiOpenDevice: open result is 17, (OK)
ukiOpenByBusid: ukiOpenMinor returns 17
ukiOpenByBusid: ukiGetBusid reports PCI:0:1:0
ukiDynamicMajor: found major device number 250
ukiDynamicMajor: found major device number 250
ukiOpenByBusid: Searching for BusID PCI:0:1:0
ukiOpenDevice: node name is /dev/ati/card0
ukiOpenDevice: open result is 18, (OK)
ukiOpenByBusid: ukiOpenMinor returns 18
ukiOpenByBusid: ukiGetBusid reports PCI:0:1:0
ukiDynamicMajor: found major device number 250
ukiDynamicMajor: found major device number 250
ukiDynamicMajor: found major device number 250
ukiOpenDevice: node name is /dev/ati/card0
ukiOpenDevice: open result is 24, (OK)
ukiGetBusid returned 'PCI:0:1:0'
ukiOpenDevice: node name is /dev/ati/card1
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card2
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card3
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card4
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card5
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card6
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card7
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card8
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card9
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card10
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card11
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card12
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card13
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card14
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card15
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiDynamicMajor: found major device number 250
ukiOpenByBusid: Searching for BusID PCI:0:1:0
ukiOpenDevice: node name is /dev/ati/card0
ukiOpenDevice: open result is 24, (OK)
ukiOpenByBusid: ukiOpenMinor returns 24
ukiOpenByBusid: ukiGetBusid reports PCI:0:1:0

Now updating Mesa using YaST unconditionally...
error remains. 

Tried to update all Mesa-related packages. Failed.

Reinstalling driver via YaST. No noticeable difference. Will check results later.
Comment 4 Predrag Boksic 2013-12-14 01:20:20 UTC
After rebooting, same error messages, but desktop and Java application seem to function well. Nothing special tested.
Comment 5 Predrag Boksic 2013-12-14 01:44:27 UTC
Okay... I uninstalled RPM too... I ran by force uninstall scripts found in /usr/share/ati

I reinstalled the proprietary driver...

I uninstalled it immediately, and it really cleaned a lot of things...

I reinstalled RPM.

I assume its not going to work without rebooting a single time! I'll think about it tomorrow.
Comment 6 Predrag Boksic 2013-12-14 16:01:36 UTC
After rebooting, messages are different:

libGL: AtiGetClientDriverName: 13.25.5 fglrx (screen 0)
ukiDynamicMajor: found major device number 250
ukiDynamicMajor: found major device number 250
ukiDynamicMajor: found major device number 250
ukiOpenDevice: node name is /dev/ati/card0
ukiOpenDevice: open result is 17, (OK)
ukiGetBusid returned 'PCI:0:1:0'
ukiOpenDevice: node name is /dev/ati/card1
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card2
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card3
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card4
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card5
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card6
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card7
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card8
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card9
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card10
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card11
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card12
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card13
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card14
Welcome to Perceptron...
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card15
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiDynamicMajor: found major device number 250
ukiOpenByBusid: Searching for BusID PCI:0:1:0
ukiOpenDevice: node name is /dev/ati/card0
ukiOpenDevice: open result is 17, (OK)
ukiOpenByBusid: ukiOpenMinor returns 17
ukiOpenByBusid: ukiGetBusid reports PCI:0:1:0
ukiDynamicMajor: found major device number 250
ukiDynamicMajor: found major device number 250
ukiOpenByBusid: Searching for BusID PCI:0:1:0
ukiOpenDevice: node name is /dev/ati/card0
ukiOpenDevice: open result is 18, (OK)
ukiOpenByBusid: ukiOpenMinor returns 18
ukiOpenByBusid: ukiGetBusid reports PCI:0:1:0
ukiDynamicMajor: found major device number 250
ukiDynamicMajor: found major device number 250
ukiDynamicMajor: found major device number 250
ukiOpenDevice: node name is /dev/ati/card0
ukiOpenDevice: open result is 24, (OK)
ukiGetBusid returned 'PCI:0:1:0'
ukiOpenDevice: node name is /dev/ati/card1
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card2
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card3
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card4
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card5
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card6
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card7
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card8
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card9
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card10
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card11
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card12
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card13
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card14
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiOpenDevice: node name is /dev/ati/card15
ukiOpenDevice: UKI_ERR_NOT_ROOT
ukiDynamicMajor: found major device number 250
ukiOpenByBusid: Searching for BusID PCI:0:1:0
ukiOpenDevice: node name is /dev/ati/card0
ukiOpenDevice: open result is 24, (OK)
ukiOpenByBusid: ukiOpenMinor returns 24
ukiOpenByBusid: ukiGetBusid reports PCI:0:1:0
OpenGL pipeline enabled for default config on screen 0

(whatever :-)
Comment 7 Stefan Dirsch 2013-12-16 11:36:58 UTC
Well, not much I can do here with Mesa conflicting with manually installed fglrx driver. 

Make sure that fglrx driver is uninstalled (however this can be verified). Then reinstall Mesa again. Then install fglrx driver again. Use the fglrx driver RPMs for openSUSE (you need to build them first). Otherwise you run into this trouble again with the next Mesa update.
Comment 8 Predrag Boksic 2013-12-16 13:30:08 UTC
I am using RPM for suse downloaded from the mentioned, official repository. The messages that you see in my previous post remain, but they don't seem to affect the operation.

I tried to uninstall AMD driver first, but I did not find the uninstall script initially. Later I found and ran two uninstall scripts from the /usr/share/ati and later reinstalled RPM.
Comment 9 Predrag Boksic 2013-12-16 22:15:25 UTC
Sorry to interrupt you. I don't understand quite why this is not a Mesa problem, because I cannot find a way out of the bug regardless of any Radeon driver.

I experimented more and found this with driver from AMD and the driver from SUSE, and the second error with absent driver. This is a JOGL application starting - and running in Intellijidea IDE. 

libEGL warning: DRI2: failed to authenticate
X11Util.Display: Shutdown (JVM shutdown: true, open (no close attempt): 1/1, reusable (open, marked uncloseable): 1, pending (open in creation order): 2)
X11Util: Open X11 Display Connections: 1
X11Util: Open[0]: NamedX11Display[:0, 0x7f9cd4658830, refCount 1, unCloseable true]




libGL error: failed to load driver: swrast
libGL error: Try again with LIBGL_DEBUG=verbose for more details.
OpenGL pipeline enabled for default config on screen 0
libEGL warning: DRI2: failed to authenticate
libGL error: failed to load driver: swrast
libGL error: Try again with LIBGL_DEBUG=verbose for more details.
libGL error: failed to load driver: swrast
libGL error: Try again with LIBGL_DEBUG=verbose for more details.