[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