Nvidia LibGL and RELENG_7 linuxulator

Boris Samorodov bsam at ipt.ru
Mon Oct 22 06:02:17 PDT 2007


On Sat, 20 Oct 2007 16:44:12 -0700 Zephiris wrote:

> >> >> I've been getting a rather strange issue between Nvidia driver and
> >> >> the linux compatibility.
> >> > 
> >> >> I've tried this with default Fedora Core 4 libraries, default 2.4
> >> >> version emulation, 2.6.16, FC6, F7, and now Gentoo. With older Linux
> >> >> X11 libraries
> >> > 
> >> > As of 2.6.16: did you follow instructions from /usr/ports/UPDATING
> >> > while upgrade to 2.6.16?
> > 
> >> I just tried it again explicitly following those instructions from the
> >> start, identical results.
> > 
> >> >> (eg, those from ports), anything trying to use Nvidia's libGL that
> >> >> installs into the linux compat area will crash immediately. To get
> >> >> this
> >> > 
> >> > Crash... Did you ugrade your system and may be forgot to upgrade the
> >> > port? Or did you upgrade the OS without reinstalling ports?
> > 
> >> This was a pretty fresh installation from CURRENT, not a long upgrade
> >> chain or from 6.x. Everything's up to date. Via ports itself, there's no
> >> way to get newer X11 libraries than 6.8 itself, correct?
> > 
> > If you mean linux libraries then yes.
> > 
> > OK. can you describe in details how do you install ports/options/etc
> > to populate /compat/linux from scratch? And which options do you use
> > for nvidia-driver port and other *GL* ports?

> I install in order emulators/linux_base-fc6, x11/linux-xorg-libs,
> x11/nvidia-driver (with ACPI and LINUX flags), x11-toolkits/linux-gtk2,
> then x11-toolkits/linux-gtk. It's enough to test a number of things.

So far so good. Did you try to use a linux-app here? Acrobat Reader or
else?

> >> ldd glxinfo
> >> glxinfo:
> >> libGLU.so.1 => /usr/X11R6/lib/libGLU.so.1 (0x2806a000)
> >> libGL.so.1 => /usr/lib/libGL.so.1 (0x280eb000)
> > 
> > That is very strange. This library should be at least at
> > /usr/local/lib directory. Can you show an output of
> > "pkg_info -W /usr/lib/libGL.so.1"?
> > 
> That's for a linux glxinfo.

Don't understand you answer. Is it from ports? Or does you installed
it by hand?

> >> libc.so.6 => /lib/libc.so.6 (0x28181000)
> >> libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x282c4000)
> >> libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x282d3000)
> >> libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x283a6000)
> >> libm.so.6 => /lib/libm.so.6 (0x2848f000)
> >> libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x284b7000)
> >> libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0x284c3000)
> >> libnvidia-tls.so.1 => /usr/lib/libnvidia-tls.so.1 (0x28e5b000)
> >> libdl.so.2 => /lib/libdl.so.2 (0x28e5d000)
> >> /lib/ld-linux.so.2 (0x2804b000)
> > 
> > You don't use linux with nvidia... Here is what I have:

> I thought my point was trying to get accelerated OpenGL with linux binaries
> as well?

> > -----
> > localhost% ldd `which skype_bin`
> > /usr/local/bin/skype_bin:
> > libGL.so.1 => /compat/linux/usr/X11R6/lib/libGL.so.1 (0x28c2d000)
> > libXmu.so.6 => /compat/linux/usr/X11R6/lib/libXmu.so.6 (0x28c89000)
> > libXrandr.so.2 => /compat/linux/usr/X11R6/lib/libXrandr.so.2 (0x28ca0000)
> > libXcursor.so.1 => /compat/linux/usr/X11R6/lib/libXcursor.so.1
> > (0x28ca4000) libXft.so.2 => /compat/linux/usr/X11R6/lib/libXft.so.2
> > (0x28cae000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x28cc1000)
> > libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x28d42000)
> > libSM.so.6 => /compat/linux/usr/X11R6/lib/libSM.so.6 (0x28d6c000)
> > libICE.so.6 => /compat/linux/usr/X11R6/lib/libICE.so.6 (0x28d75000)
> > libdl.so.2 => /lib/libdl.so.2 (0x28d8f000)
> > libXext.so.6 => /compat/linux/usr/X11R6/lib/libXext.so.6 (0x28d93000)
> > libX11.so.6 => /compat/linux/usr/X11R6/lib/libX11.so.6 (0x28da3000)
> > libpthread.so.0 => /lib/libpthread.so.0 (0x28e76000)
> > libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x28e8c000)
> > libm.so.6 => /lib/libm.so.6 (0x28f45000)
> > libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x28f6c000)
> > libc.so.6 => /lib/libc.so.6 (0x28f78000)
> > libXxf86vm.so.1 => /compat/linux/usr/X11R6/lib/libXxf86vm.so.1
> > (0x290bb000) libXdamage.so.1 =>
> > /compat/linux/usr/X11R6/lib/libXdamage.so.1 (0x290c1000) libXfixes.so.3
> > => /compat/linux/usr/X11R6/lib/libXfixes.so.3 (0x290c4000) libdrm.so.2 =>
> > /usr/lib/libdrm.so.2 (0x290c9000) libXt.so.6 =>
> > /compat/linux/usr/X11R6/lib/libXt.so.6 (0x290d2000) libXrender.so.1 =>
> > /compat/linux/usr/X11R6/lib/libXrender.so.1 (0x29127000) libexpat.so.0 =>
> > /usr/lib/libexpat.so.0 (0x29130000) libz.so.1 => /usr/lib/libz.so.1
> > (0x2914f000) /lib/ld-linux.so.2 (0x28c0a000)
> > -----
> > 
> >> I moved the previous semi-working /compat/linux attempt (gentoo) out of
> >> the way then reinstalled all of the Linux ports including base, after
> >> following the instructions. All of the files, layouts, and settings
> >> appear normal compared to previous attempts, but the result is the same.
> >> Anything that tries to load libGL crashes immediately after loading it.
> > 
> > I have a wild guess. If you don't use nvidia-driver with linux support
> > (i.e. without FreeBSD AGP) please try it.

> I already am, if the linux flag wasn't set, I imagine it wouldn't be trying
> to load the Nvidia-specific libraries either. And it wouldn't print out
> Nvidia diagnostic messages on Gentoo, where it gets further.

> I forgot, but I wanted to point out a stack trace from the 'pstack' command
> on the linux glxinfo when run with everything installed via ports.

> pstack -e glxinfo glxinfo.core
> pstack: unable to open executable '(object name unreadable)': No such file
> or directory
> (core file "glxinfo.core"): glxinfo
> ----------------- thread -1 (running) -----------------
>  0x281a3d42 __ctype_b_loc (f5e616f2, 282da5d5, 282da5c7, 0, 0, 1) + 32
>  0x282e79b7 _X11TransConnectDisplay (804a4a8, bfbfe9b0, bfbfe9ac, bfbfe9a8,
> bfbfe9a4, bfbfe99c) + ed
>  0x282f8963 XOpenDisplay (804a4a8, 1, 0, 804b508, bfbfe9e8, 80488aa) + eb
>  0x8049adc main (1, bfbfea70, bfbfea78, 280583e2, 0, 284b6c80) + ec
>  0x28196dec __libc_start_main (80499f0, 1, bfbfea70, 8048880, 8049bcc,
> 28058d00) + dc


PS. I'm returning back from a business trip and won't be avalable for
some two-three days.


WBR
-- 
Boris Samorodov (bsam)
Research Engineer, http://www.ipt.ru Telephone & Internet SP
FreeBSD committer, http://www.FreeBSD.org The Power To Serve


More information about the freebsd-emulation mailing list