[Nouveau] DRM changes
stuart at freedesktop.org
Wed Mar 11 10:15:08 PDT 2009
Stephane Marchesin wrote:
> As part of aiming at upstreaming our code, I suppose we have to
> discuss the DRM situation a little. In order to aim for merging, I
> think we'd better be working on a linux kernel tree layout. And
> considering we're technically the only ones still working in drm.git,
> it doesn't really make sense to keep doing that for the sake of
> sharing code with other drivers.
> As we discussed on irc, there would be multiple changes related to this:
> - we move to a linux kernel-like tree, that should make it easier when
> upstreaming the code.
> - this new tree is hosted in freedekstop.org in the nouveau/ git so we
> don't need additional accounts for everyone all around and people can
> keep pushing things (even better, all nouveau people can push to the
> drm, which used to require mesa rights before)
> - we keep a(some) branch(es) in the tree for backwards compat with
> older kernels. Either in the form of separate kernel versions
> including nouveau, or in the form of an out-of-tree-compilable
> drm/nouveau module.
> So, does that plan sound sane? Do you have better plans?
(apologies for the crappy mailman archive->email forgery)
I have reservations about a full Linux kernel tree, if that's the proposal.
Assuming it is a relatively important goal that people should test
Nouveau, then it makes sense to make it as easy as possible for them to
do so. Certainly as long as Nouveau has not merged to the Linux kernel,
our repository is the only (non-packaged) source for those wishing to
test. Post merge, some repository other than Linus' kernel is still
going to be the place to point people at for new development and fixes
which are not in a kernel.org stable release.
I'd suggest that a) requiring 0.5 - 1 hour to git clone the half-gig or
so of our new kernel-based tree (longer if the fd.o machinery is having
a bad day), and b) needing people to then checkout some random branch in
order for it to work with their kernel ( c) would be rebuild their
kernel, if the out-of-tree compilable thing doesn't happen ), are all
barriers to testers that are not currently there. Although my usage may
be atypical (or git outdated), the repository size issue also bites
developers; cold-cache git diff and git status on the linux kernel takes
a noticeable time, and gitk, even if regularly invoked, eats disk and
processor for ages on each execution.
If the goal of these changes is to have a more Linux kernel-like layout,
could we not just change drm/linux-core, or make a new repo, so that it
mirrored everything necessary under drivers/drm? I believe airlied
suggested this ages ago, and it would make moving code from Linux to
Nouveau or the other way round simpler. Admittedly this doesn't work if
for some reason your development demands changes elsewhere in the Linux
tree, but in that case you may well have already failed the back-compat
As for branching and back-compat, I'd have thought it more useful to
keep compat on the main branch (again, helping testers), and split
specific kernel-merge-aimed branches off from that, as automating ifdef
removal on a branch ought to be easier than manually adding compat to a
bunch of branches, but I guess in some way the solutions here are all
equivalent, and it's just which branch you bless as being called master.
More information about the Nouveau