[PATCH libdrm] libdrm: Allow dynamic drm majors on linux

Daniel Vetter daniel at ffwll.ch
Mon Sep 3 16:33:10 UTC 2018


On Mon, Sep 03, 2018 at 11:16:29AM +0200, Thomas Hellstrom wrote:
> On 08/31/2018 05:30 PM, Thomas Hellstrom wrote:
> > On 08/31/2018 05:27 PM, Emil Velikov wrote:
> > > On 31 August 2018 at 15:38, Michel Dänzer <michel at daenzer.net> wrote:
> > > > [ Adding the amd-gfx list ]
> > > > 
> > > > On 2018-08-31 3:05 p.m., Thomas Hellstrom wrote:
> > > > > On 08/31/2018 02:30 PM, Emil Velikov wrote:
> > > > > > On 31 August 2018 at 12:54, Thomas Hellstrom <thellstrom at vmware.com>
> > > > > > wrote:
> > > > > > > To determine whether a device node is a drm device
> > > > > > > node or not, the code
> > > > > > > currently compares the node's major number to the static drm major
> > > > > > > device
> > > > > > > number.
> > > > > > > 
> > > > > > > This breaks the standalone vmwgfx driver on XWayland dri clients,
> > > > > > > 
> > > > > > Any particular reason why the code doesn't use a fixed node there?
> > > > > > It will make the diff vs the in-kernel driver a bit smaller.
> > > > > Because then it won't be able to interoperate with other in-tree
> > > > > drivers, like virtual drm drivers or passthrough usb drm drivers.
> > > > > There is no clean way to share the minor number allocation
> > > > > with in-tree
> > > > > drm, so standalone vmwgfx is using dynamic major allocation.
> > > > I wonder why I haven't heard of any of these issues with the standalone
> > > > version of amdgpu shipped in packaged AMD releases. Does that
> > > > also use a
> > > > different major number? If yes, maybe it's just that nobody has tried
> > > > Xwayland clients with that driver. If no, how does it avoid the other
> > > > issues described above?
> > > > 
> > > AFAICT, the difference is that the standalone vmwgfx uses an internal
> > > copy of drm core.
> > > It doesn't reuse the in-kernel drm, hence it cannot know which minor
> > > it can use.
> > > 
> > > -Emil
> > 
> > Actually, standalone vmwgfx could perhaps also try to allocate minors
> > from 63 and downwards. That might work, but needs some verification.
> > 
> 
> So unfortuntately this doesn't work since the in-tree drm's file operations
> are registered with the DRM_MAJOR.
> So I still think the patch is the way to go. If people are concerned that
> also fbdev file descriptors are allowed, perhaps there are other sysfs
> traits we can look at?

Somewhat out of curiosity, but why do you have to overwrite all of drm?
amdgpu seems to be able to pull their stunt off without ...
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list