Re: Require for drm control-node

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jared,

I met a problem that the kmssink will have permission issue when running with x11 and wayland.
This is intentional, at least with the current DRM KMS API design only one application is allowed to control a DRM device.

So I’m change the code to use control node “controlD64” for display and file node card0 for memory management. It work really well.
That sounds like a rather big bug to me, as far as I know control nodes are completely deprecated and should never be used concurrently with the DRM master on the primary node.

What hardware are trying this on?

Regards,
Christian.

Am 10.08.2017 um 10:27 schrieb Jared Hu:

Hi All,

 

I’m a gstreamer developer and is trying to implement a video display plugin based on DRM/KMS which is named “kmssink”.

 

I met a problem that the kmssink will have permission issue when running with x11 and wayland. Because these two window system will hold DRM-Master in their life time. So I’m change the code to use control node “controlD64” for display and file node card0 for memory management. It work really well. Video can show on multi display with wayland and x11. But I notice that in the Linux kernel mainline, below commit remove the control node:

 

commit 8a357d10043c75e980e7fcdb60d2b913491564af

Author: Daniel Vetter <daniel.vetter@xxxxxxxx>

Date:   Fri Oct 28 10:10:50 2016 +0200

 

    drm: Nerf DRM_CONTROL nodes

    

    Looking at the ioctl permission checks I noticed that it's impossible

    to import gem buffers into a control nodes, and fd2handle/handle2fd

    also don't work, so no joy with dma-bufs.

    

    The only way to do anything with a control node is by drawing stuff

    into a dumb buffer and displaying that. I suspect control nodes are an

    entirely unused thing, and a cursory check shows that there does not

    seem to be any callers of drmOpenControl nor of the other drmOpen

    functions using DRM_MODE_CONTROL.

    

    Since I don't like dead uabi, let's remove it. But since this would be

    a really big change I think it's better to start out small by simply

    not registering anything. We can garbage-collect the dead code later

    on, once we're sure it's really not used anywhere.

    

    Acked-by: Dave Airlie <airlied@xxxxxxxxx>

    Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx>

    Link: http://patchwork.freedesktop.org/patch/msgid/20161028081050.1042-1-daniel.vetter@xxxxxxxx

 

This will have big impace on my case, and I cannot figure out how to fix this issue. I think control node is useful, actually many users are using this node for application development including rockchip and amlogic. details please refer to: http://gstreamer-devel.966125.n4.nabble.com/Can-kmssink-run-with-x11-or-wayland-which-is-based-on-drm-kms-also-td4683783.html#a4683819

 

I‘m sending this mail for require restoring control node in file system, or is there any other way to fix my permission issue?

 

Thanks.

 

Best wishes

cid:image002.png@01D13808.32F8E040

Haihua Hu

MPU Mulitmedia Software

NXP Semiconductors

No.288 ZhuYuan Road

Suzhou New District 215011, P.R.C

Phone: +86-512-680566738

jared.hu@xxxxxxx

cid:image003.png@01D13808.32F8E040

 

 



_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel


_______________________________________________
dri-devel mailing list
dri-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/dri-devel

[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux