[RFC PATCH 0/2] libdrm: Add master <> render node helpers

Jonathan Gray jsg at jsg.id.au
Tue Feb 10 15:32:19 PST 2015


On Tue, Feb 10, 2015 at 10:37:16PM +0000, Emil Velikov wrote:
> On 02/02/15 00:14, Emil Velikov wrote:
> > Hi all,
> > 
> > As mentioned a couple of days ago at #dri-devel some(most) users of 
> > render nodes tend to rely on strict mapping between the primary and 
> > render node. I.e. something along the lines of
> > 
> >   fstat(render_fd, &sbuf);
> >   sprintf(primary_node, "/dev/dri/card%d",
> >                         ((sbuf.st_rdev & 0x3f) | 0x80));
> > 
> > Currently the following are (ab)using the above code:
> >  - xf86-video-nouveau
> >  - xf86-video-intel
> >  - libva (vaapi)
> > 
> > As reminded by David Herrman, this is not the correct solution - thus 
> > I've added a couple of helpers which walk through sysfs of the 
> > respecitive device and return the correct device name.
> > 
> > I'm not 100% happy with the function names, so suggestions are greatly 
> > appreciated. Any other comments are also welcome :)
> > 
> > Note: BSD guys - you'll likely need your own version of these functions.
> > 
> David, Daniel
> 
> Can you please take a look at these two patches. Would be great if we
> can minimize the above assumptions before they get too wide spread.
> 
> *BSD guys,
> 
> Please take a look and/or forward this to the relevant people. I fear
> that my *BSD knowledge is virtually none :\
> 
> Cheers,
> Emil

I can't speak for other projects but OpenBSD drm is currently based
on Linux 3.8 with no render nodes or prime.

There is no sysfs/udev etc so when/if render nodes work it will
likely involve either a fixed mapping or ioctls.


More information about the dri-devel mailing list