Dave,
What is the drm control device nodes really used for?
On my fc14 system it seems like it has world rw privileges, and full access to all modesetting ioctls. Is that the intention?
/Thomas
On Fri, Oct 21, 2011 at 3:06 PM, Thomas Hellstrom thellstrom@vmware.com wrote:
Dave,
What is the drm control device nodes really used for?
On my fc14 system it seems like it has world rw privileges, and full access to all modesetting ioctls. Is that the intention?
No, and I just realised we packaged a broken udev rule.
It should be root only, oops.
Its intention is for setting up multi-seat and gpgpu access to the drm.
change /etc/udev/rules.d/91-modeset.rules to be 0600.
Dave.
On Fri, Oct 21, 2011 at 3:18 PM, Dave Airlie airlied@gmail.com wrote:
On Fri, Oct 21, 2011 at 3:06 PM, Thomas Hellstrom thellstrom@vmware.com wrote:
Dave,
What is the drm control device nodes really used for?
On my fc14 system it seems like it has world rw privileges, and full access to all modesetting ioctls. Is that the intention?
No, and I just realised we packaged a broken udev rule.
It should be root only, oops.
Its intention is for setting up multi-seat and gpgpu access to the drm.
change /etc/udev/rules.d/91-modeset.rules to be 0600.
I've filed updates to Fedora to fix this, no other distro should be using or caring about these device nodes yet, since we never really got GPGPU going yet.
Dave.
On 10/21/2011 04:36 PM, Dave Airlie wrote:
On Fri, Oct 21, 2011 at 3:18 PM, Dave Airlieairlied@gmail.com wrote:
On Fri, Oct 21, 2011 at 3:06 PM, Thomas Hellstromthellstrom@vmware.com wrote:
Dave,
What is the drm control device nodes really used for?
On my fc14 system it seems like it has world rw privileges, and full access to all modesetting ioctls. Is that the intention?
No, and I just realised we packaged a broken udev rule.
It should be root only, oops.
Its intention is for setting up multi-seat and gpgpu access to the drm.
change /etc/udev/rules.d/91-modeset.rules to be 0600.
I've filed updates to Fedora to fix this, no other distro should be using or caring about these device nodes yet, since we never really got GPGPU going yet.
Dave.
Sounds good. I was actually mostly curios on the intended usage pattern of the control node. I found some things on the DRM wikis, but it doesn't at all seem consistent with what's in DRM.
Why do we have CONTROL_ALLOW on all modesetting ioctls?, also this code in drm_crtc.c seems odd:
if (file_priv->master->minor->type == DRM_MINOR_CONTROL) { ...
Isn't that equivalent to
if (file_priv->minor->type == DRM_MINOR_CONTROL) { ?
Any enlightenment would be appreciated.
Thanks, /Thomas
Why do we have CONTROL_ALLOW on all modesetting ioctls?, also this code in drm_crtc.c seems odd:
The plan was to allow a master daemon to create seats and compute nodes, on reflection it probably didn't need *all* the modesetting ioctls, just the GetResources one.
So gdm or some equivalent would keep control over the control node, and could be used to establish seats via render nodes. Render nodes could have various crtc/outputs assigned to them. A GPGPU render node would have 0 output pieces attached.
if (file_priv->master->minor->type == DRM_MINOR_CONTROL) { ...
Isn't that equivalent to
if (file_priv->minor->type == DRM_MINOR_CONTROL) { ?
Yeah most likely just over thinking something. should be the same.
I had a tree on k.org with this stuff more fleshed out, I've just pushed it out here: http://cgit.freedesktop.org/~airlied/linux/log/?h=drm-render-nodes
Dave.
On 10/21/2011 06:48 PM, Dave Airlie wrote:
Why do we have CONTROL_ALLOW on all modesetting ioctls?, also this code in drm_crtc.c seems odd:
The plan was to allow a master daemon to create seats and compute nodes, on reflection it probably didn't need *all* the modesetting ioctls, just the GetResources one.
So gdm or some equivalent would keep control over the control node, and could be used to establish seats via render nodes. Render nodes could have various crtc/outputs assigned to them. A GPGPU render node would have 0 output pieces attached.
if (file_priv->master->minor->type == DRM_MINOR_CONTROL) { ...
Isn't that equivalent to
if (file_priv->minor->type == DRM_MINOR_CONTROL) { ?
Yeah most likely just over thinking something. should be the same.
I had a tree on k.org with this stuff more fleshed out, I've just pushed it out here: http://cgit.freedesktop.org/~airlied/linux/log/?h=drm-render-nodes
OK. Thanks. Got a better understanding what it's all about now.
/Thomas
Dave.
dri-devel@lists.freedesktop.org