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"