On Mon, 2010-01-04 at 01:15 +0900, Norikatsu Shigemura wrote:
> Hi rnoland.
> 
> On Tue, 22 Dec 2009 11:13:14 -0600
> Robert Noland <rnol...@freebsd.org> wrote:
> > The problem is that updating nouveau will mean that drm support will be
> > lost.  The fake buffer object bits were removed only leaving full TTM
> > support.  We don't have TTM support in the kernel yet and my kernel
> > patch relies on the fake buffer object code to function.
> > > P.S. libdrm was update to 2.4.17, so I'll update...
> > That is the issue, if we update libdrm then we lose drm support for
> > nouveau.  The only immediate option that I see is to repo-copy libdrm to
> > keep 2.4.12 for nouveau, but that leads to dependency nightmares...
> 
>       I did combination tests, Mesa3D 7.4.4/libdrm 2.4.12 v.s.
>       Mesa3D 7.6.1/libdrm 2.4.17, xf86-video-radeonhd-devel on
>       Radeon HD 4860 v.s. xf86-video-nouveau/nvidia-driver195.22 on
>       GeForce GT240 v.s. xf86-video-intel on Intel i915.
> 
> 
>       [I] Intel i915 [G] GeForce GT240 [R] Radeon HD 4860
>       NG = doesn't compile.
>       OK = compile and run some 3D applications OK.
>                               libdrm
>                       | 2.4.12        | 2.4.17
>       Mesa3D  --------+---------------+------------
>               7.4.4   |OK [I][G]      | NG
>               7.6.1   |NG             | OK [I][R]

The key issue is libdrm_nouveau.  It is needed for nouveau to continue
to work for EXA and Xv.  Hardware 3d is not supported / working, so as
long as swrast is ok, then that is the only concern for mesa w/ nouveau.

One additional option that I've been considering, though I haven't tried
it yet, it to construct a patch for 2.4.17 that essentially rolls
libdrm_nouveau back to the 2.4.12 API.  If we can pull that off, then
everything is solved, at least for now.

I have kernel work queued up that is going to break nouveau already.  I
have additional patches that will fix things up again, but it is going
to get a bit more complicated determining which kernel patch to use for
which branch.

What you have outlined seems fairly reasonable, although not a trivial
amount of work.  If you would like to attempt the reverse patch on the
nouveau directory in libdrm, that may be far simpler.  I will try and
put this together in the next few days if not.

robert.

>       On Mesa3D 7.6.1/libdrm 2.4.17 and nvidia-driver-195.22, I
>       confirmed that 3D applications run OK.
>       [SEE ALSO] attached Xorg-radeon-and-geforce.log
> 
>       So I suggest that:
>       1. repocopy libdrm -> libdrm2412 and introduce WITH_NOUVEAU
>           global macro for depending on libdrm2412. (fixing all
>           ports depending on libdrm)
> 
>       2. libdrm and libdrm2412 are CONFLICTS.
> 
>       3. bsd.mesalib.mk supports 7.4.4 and 7.6.1, and switches version
>          WITH_NOUVEAU.  Of course switch pkg_plist WITH_NOUVEAU.
> 
>       4. xf86-video-nouveau depends on libdrm2412, explicitly.
> 
>       5. update libdrm to 2.4.17.
> 
>       6. on no 'WITH_NOUVEAU' (= default), Mesa3D 7.6.1 and libdrm 2.4.17
>          are installing.
> 
>       Maybe, I should be announce on UPDATING before these update for
>       xf86-video-nouveau user, do 'portupgrade -o graphics/libdrm2412
>       libdrm-2.4.12'.
> 
>       How about?  If OK, I'll make patches and write closeup procedure manual.
> 
>       I have some additional ideas:
>       [no repocopy idea]
>       libdrm supports 2.4.12 and 2.4.17 switching WITH_NOUVEAU.
> 
>       [OPTIONS idea]
>       I can add OPTIONS=NOUVEAU for all Mesa3D7.4.4 and libdrm 2.4.12
>       related ports, if you hate global WITH_NOUVEAU macro.
-- 
Robert Noland <rnol...@freebsd.org>
FreeBSD

_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to