[Nouveau] Porting nouveau/ttm/drm to FreeBSD/OpenSolaris

Krzysztof Smiechowicz deadwood at wp.pl
Sat Jan 23 06:20:46 PST 2010


C. Bergström pisze:
> Hi all,
> 

Hi Christopher

> nouveau itself should be relatively easy to port, but what information 
> do others have with regards to the surrounding dependencies.

I can give you some information my work porting the nouveau/drm/ttm to 
AROS (http://www.aros.org/). AROS is AmigaOS clone and it's very very 
very far in terms of API and concepts from Linux kernel so I think it's 
a good example to talk about portability.

Currently my work is only focused on 3D part, not touching the 2D part 
at all. Generally it took me about 1,5 months of evenings to port the 
current (sources from December 2009) nouvea/drm/ttm/libdrm/nouvea 
gallium driver to AROS (I would call it alpha version of the port 
though) however I have never been working with graphics or graphics 
drivers before.

In terms of portability I would rate the modules in following order 
(starting from most portable)

nouveau gallium 3D drivers
nouveau NV0X-NV40 drm drivers
libdrm
nouveau "common code" (files named nouveau_XXX)
drm "common code" (files named drm_XXX)
nouveau NV50 drm driver
ttm

Basically the only module that does not seem to be specially written 
with portability in mind and has a lot of Linux dependencies it ttm. I 
implemented some of those dependencies in my AROS port (reference 
counting, atomics, spin locks) and disabled some others (swapping 
support, work queues)

If you are interested in any specific topic, please let me know :)

Best regards,
Krzysztof


More information about the Nouveau mailing list