From owner-freebsd-emulation@FreeBSD.ORG Sat Oct 27 14:23:22 2007 Return-Path: Delivered-To: freebsd-emulation@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 48B3C16A4A7 for ; Sat, 27 Oct 2007 14:23:22 +0000 (UTC) (envelope-from bsam@ipt.ru) Received: from services.ipt.ru (services.ipt.ru [194.62.233.110]) by mx1.freebsd.org (Postfix) with ESMTP id B60DD13C4B9 for ; Sat, 27 Oct 2007 14:23:21 +0000 (UTC) (envelope-from bsam@ipt.ru) Received: from srv.sem.ipt.ru ([192.168.12.1]) by services.ipt.ru with esmtp (Exim 4.54 (FreeBSD)) id 1IlmZL-000KSU-Fq; Sat, 27 Oct 2007 18:23:19 +0400 To: Zephiris References: <66147675@ipt.ru> <98294959@ipt.ru> <19713641@serv3.int.kfs.ru> <44625948@srv.sem.ipt.ru> <62540272@srv.sem.ipt.ru> From: Boris Samorodov Date: Sat, 27 Oct 2007 18:27:00 +0400 In-Reply-To: (zephiris@gmail.com's message of "Fri\, 26 Oct 2007 18\:46\:49 -0700") Message-ID: <98203547@srv.sem.ipt.ru> User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.99 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: freebsd-emulation@freebsd.org Subject: Re: Nvidia LibGL and RELENG_7 linuxulator X-BeenThere: freebsd-emulation@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Development of Emulators of other operating systems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 27 Oct 2007 14:23:22 -0000 On Fri, 26 Oct 2007 18:46:49 -0700 Zephiris wrote: > Boris Samorodov wrote: > > On Fri, 26 Oct 2007 03:45:54 -0700 Zephiris wrote: > >> Boris Samorodov wrote: > >> > On Thu, 25 Oct 2007 23:31:44 -0700 Zephiris wrote: > >> >> Boris Samorodov wrote: > >> >> > 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? > >> > > >> > Nobody can help you if you don't want to. > > > >> Other non-GL apps work alright when everything is installed via ports, > >> including X11 and otherwise. Acrobat Reader works, linux-firefox works, > >> linux-opera works, etc. > > > > OK, good. Thanks for the answer. > > > >> >> >> >> 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"? I'd like to get an answer for this question. [2] > >> >> >> That's for a linux glxinfo. > >> >> > > >> >> > Don't understand you answer. Is it from ports? Or does you > >> >> > installed it by hand? > >> >> It's from linux_dri, so put there by hand, > >> > > >> > Can't follow you: "It's from ports, so put it somewhere by hand..." > > > >> Okay, a different example then. Neverwinter Night's nwmain installed > >> from ports (against regular FC6 and everything else specifically via > >> ports): > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > Seems you are misleading yourself. Take a look at [1]. Those libraries > > do not belong to the base system. > No, that's why they're installed via ports? Pretty clear? Fair enough. But you didn't prove it (give an answer for [2]) and still show that libraries from ports got installed to /usr/lib. If you don't change a default configuration they should go either to /usr/local or /compat/linux. If not then the port is broken and it's worth a PR. > Why would any of > the linux compatibility libraries be installed as "part of the base > system"? This is just the question I wanted to ask you. ;-) With the default configuration they shouldn't. > >> nwmain: > >> libm.so.6 => /lib/libm.so.6 (0x28642000) > >> libpthread.so.0 => /lib/libpthread.so.0 (0x2866a000) > >> libGL.so.1 => /usr/lib/libGL.so.1 (0x28680000) > > ^^^^^^^^^^^^^^^^^^^ [1] Seconded [2] and do you really have /usr/lib/libGL.so.1 (a file or a link etc.)? Or is a linuxbase (/compat/linux) is somehow got stripped? So far seems that it is a main question. 'cause this file can be at /usr/local/lib, /usr/X11R6/lib, /compat/linux/ but not at /usr/lib. > >> libGLU.so.1 => /usr/X11R6/lib/libGLU.so.1 (0x28716000) > >> libmss.so.6 => not found > >> libSDL-1.2.so.0 => /usr/lib/libSDL-1.2.so.0 (0x28796000) > > ^^^^^^^^^^^^^^^^^^^^^^^^ [1] > >> libc.so.6 => /lib/libc.so.6 (0x2881c000) > >> /lib/ld-linux.so.2 (0x28623000) > >> libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0x28960000) > > ^^^^^^^^^^^^^^^^^^^^^^^ [1] > >> libnvidia-tls.so.1 => /usr/lib/libnvidia-tls.so.1 (0x292f8000) > > ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [1] > >> libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x292fa000) > >> libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x29309000) > >> libdl.so.2 => /lib/libdl.so.2 (0x293dc000) > >> libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x293e1000) > >> libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x294ca000) > > > >> > Anyway this configuration is not supported by the FreeBSD-emulation > >> > team. > > > >> Alright, switching back over to ports everything again, > > > > Hope, it's clear to you that you didn't succeed in it. > /compat/linux/usr/lib/libSDL-1.2.so.0 was installed by package > linux-sdl-1.2.10,1 > /compat/linux/usr/lib/libGL.so.100.14.19 was installed by package > nvidia-driver-100.14.19 > /compat/linux/usr/lib/libGLcore.so.100.14.19 was installed by package > nvidia-driver-100.14.19 > /compat/linux/usr/lib/libnvidia-tls.so.100.14.19 was installed by package > nvidia-driver-100.14.19 That's good. > (the respective Nvidia libraries are symlinks to the longer versioned ones) And this is not clear. Symlinked to where? As far as I can see to /usr/lib which shouldn't happen. > >> the issues of > >> everything that tries to load OpenGL crashing still persist. Running > >> ktrace+linux_kdump doesn't appear to yield any pattern of behavior or > >> calls before the segfault. > > > > Actually you get a system which may fault any time (I mean > > linuxulator). You don't have a control over your system now. > > Linux (and may be other) libraries are spread here and there. > > > > I'd recommend you reinstalling the system from scratch, sorry. > As I've said, I've done that several times already. You suggested that > before, and I did it again then. If you give answers to some questions and leave alone others -- I have to deal with it. Hence I may give wrong recommendations, sorry. > Did it change the result? No. Everything > in /compat/linux/ right now is only what's there installed via > ports. Everithing in /compat/linux was never a question at this thread. But /usr/lib has been. > I'm > not mixing and matching or spreading around anything. OK, there is enough questions at this letter to prove your point. > Again, the only things there right now are official ports, hence no libglut > or glxinfo now, either. BTW, about glx. I installed it at a test host (without nvidia stuff) and here it is: ----- # uname -srm FreeBSD 7.0-BETA1 i386 # ldd `which glxinfo` /usr/local/bin/glxinfo: libglut.so.4 => /usr/local/lib/libglut.so.4 (0x28080000) libGLU.so.1 => /usr/local/lib/libGLU.so.1 (0x280b7000) libGL.so.1 => /usr/local/lib/libGL.so.1 (0x28134000) libXext.so.6 => /usr/local/lib/libXext.so.6 (0x28195000) libXmu.so.6 => /usr/local/lib/libXmu.so.6 (0x281a3000) libXi.so.6 => /usr/local/lib/libXi.so.6 (0x281b8000) libX11.so.6 => /usr/local/lib/libX11.so.6 (0x281c0000) libm.so.5 => /lib/libm.so.5 (0x282ac000) libthr.so.3 => /lib/libthr.so.3 (0x282c1000) libc.so.7 => /lib/libc.so.7 (0x282d4000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x283d1000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x284bb000) libXxf86vm.so.1 => /usr/local/lib/libXxf86vm.so.1 (0x284c6000) libXdamage.so.1 => /usr/local/lib/libXdamage.so.1 (0x284cb000) libXfixes.so.3 => /usr/local/lib/libXfixes.so.3 (0x284ce000) libdrm.so.2 => /usr/local/lib/libdrm.so.2 (0x284d3000) libXau.so.6 => /usr/local/lib/libXau.so.6 (0x284e2000) libXt.so.6 => /usr/local/lib/libXt.so.6 (0x284e5000) libSM.so.6 => /usr/local/lib/libSM.so.6 (0x28535000) libICE.so.6 => /usr/local/lib/libICE.so.6 (0x2853d000) libXdmcp.so.6 => /usr/local/lib/libXdmcp.so.6 (0x28554000) librpcsvc.so.4 => /usr/lib/librpcsvc.so.4 (0x28559000) ----- Libraries from ports and base system are at the designed directories. > The only thing thus far which doesn't work as > expected is accelerated OpenGL. That's why I'm trying hard to get it > working, and have suggested alternatives, but with everything at suggested > and stated defaults, all linux apps will apparently do is crash once they > try to load libGL.so.1. If I knew why or had been able to find an answer, > I'd include it. That's why I suggested that specifically might just be an > interaction with the older X11 libraries, too, but I'm not the expert. All you use (but linux_base-fc6) is a default configuration. It should work. Let's find out why it doesn't. WBR -- Boris Samorodov (bsam) Research Engineer, http://www.ipt.ru Telephone & Internet SP FreeBSD committer, http://www.FreeBSD.org The Power To Serve