On 04/11/15 09:08, cbergstrom at pathscale.com wrote:> Is anyone actually and or actively working on this? > Github.com/pathscale/pscnv is totally bitrot but waaay more portable > base. Nouveau made hard Linux assumptions that will be difficult to > overcome afaik.As pointed out by Ilia, this is not true anymore. Nouveau can also partially run in the userspace, the hard dependencies on Linux have been abstracted. Also, pscnv does not support the newest GPUs and receives no further development because everything it provided is now provided by Nouveau. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.freedesktop.org/archives/nouveau/attachments/20151104/f2de5117/attachment.html>
On Wed, Nov 4, 2015 at 3:33 PM, Martin Peres <martin.peres at free.fr> wrote:> On 04/11/15 09:08, cbergstrom at pathscale.com wrote: > > Is anyone actually and or actively working on this? > Github.com/pathscale/pscnv is totally bitrot but waaay more portable base. > Nouveau made hard Linux assumptions that will be difficult to overcome > afaik. > > > As pointed out by Ilia, this is not true anymore. Nouveau can also partially > run in the userspace, the hard dependencies on Linux have been abstracted. > > Also, pscnv does not support the newest GPUs and receives no further > development because everything it provided is now provided by Nouveau.I did mention pscnv was bitrot, but I'm not yet convinced that some of the key things which are implemented in nouveau were done to a comparable level of quality (would need to evaluate and don't have time/interest) ------- To bring this conversation back on track - where would someone start *exactly* to port this to another OS? What kernel dependencies are there?
On 04/11/15 10:38, C Bergström wrote:> On Wed, Nov 4, 2015 at 3:33 PM, Martin Peres <martin.peres at free.fr> wrote: >> On 04/11/15 09:08, cbergstrom at pathscale.com wrote: >> >> Is anyone actually and or actively working on this? >> Github.com/pathscale/pscnv is totally bitrot but waaay more portable base. >> Nouveau made hard Linux assumptions that will be difficult to overcome >> afaik. >> >> >> As pointed out by Ilia, this is not true anymore. Nouveau can also partially >> run in the userspace, the hard dependencies on Linux have been abstracted. >> >> Also, pscnv does not support the newest GPUs and receives no further >> development because everything it provided is now provided by Nouveau. > I did mention pscnv was bitrot, but I'm not yet convinced that some of > the key things which are implemented in nouveau were done to a > comparable level of quality (would need to evaluate and don't have > time/interest) > ------- > To bring this conversation back on track - where would someone start > *exactly* to port this to another OS? What kernel dependencies are > there?This needs to be ported to the other OS, along with drm and ttm (which I believe have already been ported to all the BSDs): http://cgit.freedesktop.org/~darktama/nouveau/tree/lib/include/nvif/os.h
On Wed, Nov 4, 2015 at 3:38 AM, C Bergström <cbergstrom at pathscale.com> wrote:> To bring this conversation back on track - where would someone start > *exactly* to port this to another OS? What kernel dependencies are > there?drivers/gpu/drm/nouveau/{nvkm,nvif,usif} can be dropped in wholesale with just a small handful of shims and helper functions. This is the code that presents the GPU's internals in a fairly generation-agnostic way, and also provides some high-level functionality. drivers/gpu/drm/nouveau/* needs to be ported to the other OS's infrastructure. If the OS also has a port of linux's DRM and TTM infrastructures, a lot of that will be able to be taken wholesale. This is the code that interacts with the core above. Decodes ioctls, manages memory, performs kernel-side modesetting, etc. Cheers, -ilia