CALL FOR TESTERS: linux-f8 infrastructure ports

Alexander Leidinger Alexander at Leidinger.net
Thu Apr 17 07:05:32 UTC 2008


Quoting Boris Samorodov <bsam at ipt.ru> (from Wed, 16 Apr 2008 21:27:36 +0400):

> On Wed, 16 Apr 2008 17:59:22 +0200 Alexander Leidinger wrote:
>> Quoting Marcus von Appen <mva at sysfault.org> (from Wed, 16 Apr 2008
>> 17:24:07 +0200):
>> > On, Wed Apr 16, 2008, Boris Samorodov wrote:
>
>> >> Do you by any chance use nvidia card and WITH_NVIDIA=YES variable?
>> >> I myself can't use google-earth because it segfaults while it
>> >> is reported to work fine for other users.
>> >
>> > Yes, I do use a nvidia card. Sorry for mnot mentioning that :-).
>> > Maybe some issue with the libglu/libgl linux ports?
>
>> Hardware accelerated 3D does not work ATM. We need someone looking
>> into updating the corresponding linux port in a suitable way. AFAIR
>> this involves taking some source, massaging it somehow, compiling it
>> on linux and then making a tarball. Any chance you volunteer to have a
>> look into this? Nobody else is doing this ATM.
>
> First of, I totally agree with you, Alexander.
>
> But, second, do you mean that it's the case (that an updated port
> may help Marcus)? You didn't _say_ so but did you assume it? ;-)

My message was a little bit short, as my GF was waiting for me to go out. :)

> My point of view is that those ports which use nvidia drivers
> should work as is. I.e. if I have installed nvidia drivers built
> with linux support and install a port (say, astro/google-earth)
> using apropriate variable (WITH_NVIDIA_GL=YES for google-earth)
> then the port sould work. If it doesn't then it's a bug either
> at nvidia driver or at our linuxulator (or more wide).

There's a little bit more involved here. Unfortunately I don't have  
the necessary knowledge to give a full technical explanation. The 3D  
world in X11 as I see it in this case is as follows.

The native X server is doing the 3D stuff. The application connects to  
it and tells do to some 3D (indirect rendering, most probably not  
hardware accelerated). This is done in a high level standard way and  
as such does not cause a problem.

With the NVidia GL libs on the other hand, there's some kind of bypass  
of the X server after the 3D setup (direct rendering, AFAIK always  
hardware accelerated, at least partially). NVidia is a little bit  
special, as it does it's own direct rendering stuff, not the official  
DRI. But AFAIK some parts of the linux-dri port _may_ be used. The  
linux-dri port is specially crafted for FreeBSD as described in my  
previous mail. With the new X.org version there may be some changes  
needed.

The troublesome part in general, and not directly related to NVidia  
is, that the DRI stuff has undergone several revisions which need to  
be taken care of in the 3D stuff. As far as I remember, the revision  
in our kernel changed at some point (but is far away from being on the  
same level than the DRI stuff in linux), but the corresponding linux  
port was not updated. So we have a version mismatch in the linux-dri  
port and we don't get hardware accelerated 3D in linux. Anholt@ should  
know more about it, but he puts more energy into X.org stuff than into  
FreeBSD, so I don't expect that we will see some work from him there  
soon (I haven't asked him, shame on me).

The easy solution would be to take the sources and fix it for the  
current stuff. The person doing this should contact Anholt, he should  
know a little bit more about it and maybe he has a little bit of time  
to explain some things (if the person wants to provide some notes in a  
public place, we can arrange access to the FreeBSD wiki).

The ideal solution would be to first have a look at the differences  
between the linux DRI stuff and the FreeBSD DRI stuff, take  
appropriate action, and then have a look at the things above (maybe we  
can use the corresponding stuff from linux directly then).

Again, there's a lot of lack of domain specific knowledge on my side,  
so there may be some errors/inaccuracies in my explanation above. Take  
it with a grain of salt (corrections welcome).

Bye,
Alexander.

-- 
Life is like a buffet; it's not good but there's plenty of it.

http://www.Leidinger.net    Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org       netchild @ FreeBSD.org  : PGP ID = 72077137


More information about the freebsd-emulation mailing list