On Mon, 17 Jun 2019 at 19:16, Ilia Mirkin <imir...@alum.mit.edu> wrote: > > On Mon, Jun 17, 2019 at 6:37 AM <mathias.froehl...@gmx.net> wrote: > > > > From: Mathias Fröhlich <mathias.froehl...@gmx.net> > > > > > > Emil, > > > > that one probably matches your original intent then. > > > > please review > > Thanks > > > > Mathias > > > > > > Do not offer a hardware drm backed egl device if no render node > > is available. The current implementation will fail on this > > egl device. On top it issues a warning that is actually missleading. > > There are finally more error paths that can fail on the way to a > > hardware backed egl device. Fixing all of them would kind of require > > opening the drm device and see if there is a usable driver associated > > with the device. The taken approach avoids a full probe and fixes at > > least this kind of problem on kvm virtualization hosts I observe here. > > > > Signed-off-by: Mathias Fröhlich <mathias.froehl...@web.de> > > --- > > src/egl/main/egldevice.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/src/egl/main/egldevice.c b/src/egl/main/egldevice.c > > index 76b8960fa5b..99d8a6c1886 100644 > > --- a/src/egl/main/egldevice.c > > +++ b/src/egl/main/egldevice.c > > @@ -108,9 +108,9 @@ static int > > _eglAddDRMDevice(drmDevicePtr device, _EGLDevice **out_dev) > > { > > _EGLDevice *dev; > > + const int wanted_nodes = 1 << DRM_NODE_RENDER | 1 << DRM_NODE_PRIMARY; > > Why check for primary? Why require both at this point? I guess the > original intent was to require render *or* primary... but some devices > will not have a primary node if they don't have any outputs... > My original intent was to require both, although I got it wrong.
Why we require both - simple the spec more or less mandates a card/primary node. Since there an be other software running hence getting authenticated will be a pita and primary nodes are not accessible* render node seems like the only robust solution. HTH Emil * There's a bit more to it: Users not in the video group and w/o systemd - opening the primary node will fail with EPERM. Platforms running systemd - logind relaxes the primary node permission, only when a local user has logged in. _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev