opensuse with nvidia displays no text in menu

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
joba1 Offline
Junior Member
Posts: 3
Joined: Oct 2014
Reputation: 0
Post: #1
Hi,

I just discovered the solution for this with some helpful hints from opensuse forum moderator wolfi323. Since I couldn't find it here, I post it now, so it might help others:

Opensuse version is 13.1
Nvidia drivers tested are G02 (old cards) and G03
xbmc versions tested are Gotham as packaged on pacman and compiled from source. I also tested from todays git.

All combinations show the same result: when the xbmc/kodi fullscreen is displayed, there is no text in the menues.

The problem is a conflicting package Mesa-libGL1.
I had to force xbmc/kodi to use the Nvidia libGL by setting the library path.

Quick check:

Code:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/X11R6/lib64:/usr/X11R6/lib kodi

Permanent solution:

as root (needs re-login to take effect):
Code:
echo "export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/X11R6/lib64:/usr/X11R6/lib" >/etc/profile.d/force-nvidia-GL.sh
(This post was last modified: 2014-10-21 20:23 by joba1.)
find quote
wsnipex Offline
Team-Kodi Member
Posts: 3,833
Joined: Jun 2011
Reputation: 94
Post: #2
the proper solution is to fix the nvidia driver package to install the correct libGL. You should open a bug for the opensuse nvidia package.
find quote
joba1 Offline
Junior Member
Posts: 3
Joined: Oct 2014
Reputation: 0
Post: #3
The libgl is installed.
In the path I set in ld_library_path.
The system linker knows about that, even withour the variable set (configured in /etc/ld.so.conf.d/).
Every gl prog I tested finds the correct lib.
Even every subprocess of xbmc finds it (you can see that with strace).
Except for one process that for some reason chooses to ignore the system library search path.

Sorry, but I'm *sure* this is no distro bug!
find quote
wsnipex Offline
Team-Kodi Member
Posts: 3,833
Joined: Jun 2011
Reputation: 94
Post: #4
if you are sure its a xbmc bug, provide proper debug info with current master.
find quote
joba1 Offline
Junior Member
Posts: 3
Joined: Oct 2014
Reputation: 0
Post: #5
I tracked the problem down a bit.

For some reason kodi explicitly sets the RUNPATH of the executable.
RUNPATH is used to direct the executable to some specialized lib that overrides a standard lib if needed.
It does not make sense here (to me at least), since RUNPATH is just set to the main standard library path /usr/lib64.
All other gl progs I checked have an empty RUNPATH. Why not kodi?

Code:
$ readelf --dynamic /usr/bin/glxgears | grep PATH
$ readelf --dynamic /usr/local/lib64/kodi/kodi.bin | grep PATH
0x000000000000000f (RPATH)              Library rpath: [/usr/lib64]
0x000000000000001d (RUNPATH)            Library runpath: [/usr/lib64]

I'll open a bug for this.

EDIT: Bug is here: http://trac.xbmc.org/ticket/15497
(This post was last modified: 2014-10-22 19:16 by joba1.)
find quote
wsnipex Offline
Team-Kodi Member
Posts: 3,833
Joined: Jun 2011
Reputation: 94
Post: #6
for anyone stumbling on this, it turned out to be a silly thing opensuse does in their samba package. Details on the trac ticket.
find quote