A virtual DRM/KMS device

Frank Mehnert frank.mehnert at kernkonzept.com
Wed Nov 15 16:22:35 UTC 2017


Hi all,

I'm working on GPU virtualization on the Renesas rcar-du embedded platform.
My setup consists of

 - a primary Linux instance which controls all DUs (display units) and the
   GPU (3D engine) and
 - secondary Linux instances which have virtual access to the GPU and to
   selected DUs.

I try to find out what's necessary to allow the secondary Linux instance(s)
access to selected DUs (which are controlled by the primary Linux instance).

To my understanding I need a kernel module which is able to forward certain
ioctls, at least

 - DRM_IOCTL_MODE_GETRESOURCES
 - DRM_IOCTL_MODE_GETCONNECTOR
 - DRM_IOCTL_MODE_GETENCODER
 - DRM_IOCTL_MODE_CREATE_DUMB
 - DRM_IOCTL_MODE_MAP_DUMB
 - DRM_IOCTL_MODE_GETCRTC
 - DRM_IOCTL_MODE_SETCRTC
 - DRM_IOCTL_MODE_ADDFB
 - DRM_IOCTL_MODE_PAGE_FLIP

maybe more. At least I see 'mpv' in opengl/drm mode doing these syscalls
during display setup.

As the board contains 4 DUs and 4 connectors (VGA, HDMI0, HDMI1, LVDS) I
try to assign one of the HDMI connectors exclusively to a secondary Linux
instance.

I wonder if there are related projects and if my list of ioctls to be
emulated is complete.

Thanks,

Frank


More information about the dri-devel mailing list