Re: New nvidia drivers available

From: Doug Rabson <dfr_at_nlsystems.com>
Date: Sun, 15 Aug 2004 12:48:50 +0100
On Sunday 15 August 2004 10:24, Doug Rabson wrote:
> On Sunday 15 August 2004 09:39, Stefan Ehmann wrote:
> > On Sun, 2004-08-15 at 02:56, Johan Pettersson wrote:
> > > On Sat, 14 Aug 2004 19:34:24 +0100
> > >
> > > Doug Rabson <dfr_at_nlsystems.com> wrote:
> > > > The latest 6113 build of the nvidia graphics drivers has just
> > > > appeared
> > > >
> > > > on nvidia's web site. Check out
> > > > http://www.nvidia.com/object/freebsd_1.0-6113.html if you are
> > > > currently using the nvidia proprietary drivers. This driver
> > > > works nicely on FreeBSD-current and while this version is not
> > > > thread-safe, it does not conflict with libpthread or libthr's
> > > > use of %gs so you don't have to map everything down to libc_r
> > > > any more :-).
> > > >
> > > > There will be a thread-safe driver available for
> > > > FreeBSD-current sometime after I commit the pthread parts of
> > > > the TLS support code.
> > >
> > > Im running the new driver on a recent -CURRENT and xorg 6.7.0.
> > > When starting zsnes I get this:
> > >
> > > beard ~> zsnes
> > > Fatal error 'Exceeded maximum lock level' at line 261 in file
> > > /usr/src/lib/libpthread/thread/thr_cancel.c (errno = 0) Bus error
> > > (core dumped)
> > > beard ~>
> >
> > Same error message here when starting neverball. If I map
> > libpthread->libc_r it's working again.
> >
> > xawtv also stopped working. Fortunately setting -xvport manually
> > did fix that.
>
> This might be because libGL calls libpthread's version of open()
> before libpthread has initialised properly. This patch might fix it -
> it fixes neverball's map compiler for me but I haven't actually run
> neverball itself.
>
> Index: thr_kern.c
> ===================================================================
> RCS file: /home/ncvs/src/lib/libpthread/thread/thr_kern.c,v
> retrieving revision 1.109
> diff -u -r1.109 thr_kern.c
> --- thr_kern.c	7 Aug 2004 15:15:38 -0000	1.109
> +++ thr_kern.c	8 Aug 2004 09:57:55 -0000
> _at__at_ -2382,7 +2382,7 _at__at_
>  	if ((thread == NULL) &&
>  	    ((thread = malloc(sizeof(struct pthread))) != NULL)) {
>  		bzero(thread, sizeof(struct pthread));
> -		if ((thread->tcb = _tcb_ctor(thread)) == NULL) {
> +		if ((thread->tcb = _tcb_ctor(thread, curthread == NULL)) == NULL)
> { free(thread);
>  			thread = NULL;
>  		} else {


Ignore this part - thats some uncomitted TLS stuff.
Received on Sun Aug 15 2004 - 09:48:43 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:06 UTC