On Fri, 7 Nov 2014 12:11:08 +1000 Dave Airlie <airlied at gmail.com> wrote> >> > >> On 06/11/14 19:05, Chris wrote: > >> > Greetings, > >> > I remember Nouveau being in the ports tree on FreeBSD some > >> > time ago. As I see it isn't there now. I was wondering if anyone > >> > else might have, or be working on a BSD branch. Or might be able > >> > to provide some insight on getting a branch of Nouveau running > >> > on FreeBSD. > >> > > >> > Thank you for all your time, and consideration. > >> > > >> Afaik currently there is no port for (Free)BSD. > >> > >> On the positive side nouveau's current infrastructure ("core", interface > >> "nvif" and "drm glue") will make things quite easy for anyone familiar > >> with BSD's equivalent of core drm,ttm,etc. One only needs to port the > >> "drm glue". > >> > >> Iirc Jean-Sébastien (Cc'd) did mention nouveau + FreeBSD at XDC, > >> although I'm not sure what his current plans are. Perhaps he might be > >> able to give you some ideas, if you're willing to give it a go ? > > Thank you very much for the informative reply, Emil. > > I'm happy to make the investment (creating the FreeBSD port). > > I currently already maintain several FreeBSD ports. So it's not > > all that unfamiliar. :) > > I just didn't want to "start from scratch" if I didn't need to. :) > > I give a closer look, and see what I can find. Maybe Jean-Sébastien > > will also have something to say. > > > > Thank you again, Emil, for the reply. > > > > I think you missed the point, > > this is a kernel driver that needs porting, not just a userspace driver, > there are no userspace drivers anymore. porting the X.org userspace > driver is required but not sufficient.Indeed. I _think_ I understood correctly. I can't envision any _real_ problems. If I understand correctly, it'll be a matter of creating a kernel module for the BSD platform, and making it loadable (kldload, in BSD speak). Which will allow it to work with the resources made available to the kernel (hardware). In fact it should be even easier, given that there is a Linux ABI available on BSD which even nVidia makes use of, with the blobs they provide. Do I seem on track? Thank you, Dave. For taking the time to reply. --Chris> > Dave.
On 07.11.2014 03:22, Chris wrote:> On Fri, 7 Nov 2014 12:11:08 +1000 Dave Airlie <airlied at gmail.com> wrote >> this is a kernel driver that needs porting, not just a userspace driver, >> there are no userspace drivers anymore. porting the X.org userspace >> driver is required but not sufficient. > > Indeed. I _think_ I understood correctly. I can't envision any _real_ > problems. If I understand correctly, it'll be a matter of creating a > kernel module for the BSD platform, and making it loadable (kldload, > in BSD speak). Which will allow it to work with the resources made > available to the kernel (hardware). In fact it should be even easier, > given that there is a Linux ABI available on BSD which even nVidia > makes use of, with the blobs they provide. > Do I seem on track?Hi! The Nouveau kernel driver is close to the Radeon kernel in terms of DRM/TTM infrastructure requirements. We have that working in FreeBSD. So the task consists of: 1. Taking Nouveau from Linux, preferrably 3.8 to keep our DRM code on the same base (so we can update the whole consistently). 2. Adding the source files to the FreeBSD kernel 3. Start the porting effort: the locking primitives, the PCI API, how memory is allocated, etc. are different compared to Linux. It's probably not that difficult to do, however, it needs time. I would recommend to not start this effort right now: we are in the process of updating the DRM device-independent code to match Linux 3.8. Furthermore, I'm preparing a proposal to have some sort of Linux kernel API wrapper above FreeBSD facilities to reduce the diff with Linux and help with porting new drivers. -- Jean-Sébastien Pédron -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 949 bytes Desc: OpenPGP digital signature URL: <http://lists.freedesktop.org/archives/nouveau/attachments/20141107/66260559/attachment.sig>
On Fri, 07 Nov 2014 10:06:06 +0100 Jean-Sébastien Pédron <dumbbell at FreeBSD.org> wrote> On 07.11.2014 03:22, Chris wrote: > > On Fri, 7 Nov 2014 12:11:08 +1000 Dave Airlie <airlied at gmail.com> wrote > >> this is a kernel driver that needs porting, not just a userspace driver, > >> there are no userspace drivers anymore. porting the X.org userspace > >> driver is required but not sufficient. > > > > Indeed. I _think_ I understood correctly. I can't envision any _real_ > > problems. If I understand correctly, it'll be a matter of creating a > > kernel module for the BSD platform, and making it loadable (kldload, > > in BSD speak). Which will allow it to work with the resources made > > available to the kernel (hardware). In fact it should be even easier, > > given that there is a Linux ABI available on BSD which even nVidia > > makes use of, with the blobs they provide. > > Do I seem on track? > > Hi! > > The Nouveau kernel driver is close to the Radeon kernel in terms of > DRM/TTM infrastructure requirements. We have that working in FreeBSD.Good news!> > So the task consists of: > 1. Taking Nouveau from Linux, preferrably 3.8 to keep our DRM code > on the same base (so we can update the whole consistently). > 2. Adding the source files to the FreeBSD kernel > 3. Start the porting effort: the locking primitives, the PCI API, > how memory is allocated, etc. are different compared to Linux. >OK> It's probably not that difficult to do, however, it needs time. I would > recommend to not start this effort right now: we are in the process of > updating the DRM device-independent code to match Linux 3.8.Ahh. Thanks for the potential time savings. :)> Furthermore, I'm preparing a proposal to have some sort of Linux kernel > API wrapper above FreeBSD facilities to reduce the diff with Linux and > help with porting new drivers.Excellent. Please keep me in the loop. I have the time, and resources to devote to helping, or taking it all on as a whole, if necessary. Thanks for taking the time to reply. --Chris> > -- > Jean-Sébastien Pédron