Ilija Hadzic's Virtual CRTCs feature discuss

Derek derek0883 at gmail.com
Wed Aug 27 11:05:08 PDT 2014


Thanks for loop dri-devel back. I didn't realize that I clicked "reply"
instead of "reply-all"  :(

Best wishes
Derek


On Wed, Aug 27, 2014 at 10:54 AM, Daniel Vetter <daniel at ffwll.ch> wrote:

> Please don't drop mailing lists, especially when you've dug out some
> good information like the stuff below. Readding dri-devel.
> -Danel
>
> On Wed, Aug 27, 2014 at 7:21 PM, Derek <derek0883 at gmail.com> wrote:
> > Hi Daniel
> > Thanks, Hans Verkuil's git repository is here
> > git://linuxtv.org/hverkuil/media_tree.git. branch name vivid2.
> > his slide is here:
> >
> http://events.linuxfoundation.org/sites/events/files/slides/v4l2-testing.pdf
> > And I'm agree that it isn't for virtual drm driver.
> >
> > I found that there are two virtual drm driver in kernel source code.
> > first one is vmwgfx      driver/gpu/drm/vmwgfx
> > according to
> > http://mesa3d.org/vmware-guest.html
> > This driver gives a Linux virtual machine access to the host's GPU for
> > hardware-accelerated 3D.
> >
> > another one is gxl  drivers/gpu/drm/gxl
> > It is for readhat virtualization KVM + spice.
> >
> > and seems drm infrastructure support virtual driver already. just search
> > DRM_MODE_ENCODER_VIRTUAL/DRM_MODE_CONNECTOR_VIRTUAL
> >
> > both driver need user space XServer driver support.
> >
> > I will take a look these drivers find out if i can use similar driver to
> > create virtual CRTC based on drm without extra userspace xserver driver.
> and
> > develop a virtualMonitor which allow you to use compute, tablet,
> smartphone
> > as a second monitor for your primary computer.  an example page is
> > http://virtualmonitor.github.io
> >
> > Thanks a lots
> >
> > Best wishes
> > Derek
> >
> >
> >
> > On Tue, Aug 26, 2014 at 1:18 AM, Daniel Vetter <daniel at ffwll.ch> wrote:
> >>
> >> On Mon, Aug 25, 2014 at 12:02:09PM -0700, Derek wrote:
> >> > Hi, Daniel
> >> > Thanks for your response!
> >> > Talking about v4l's virtual gpu driver?  Could you please tell some
> more
> >> > informations. is this driver in
> >> > git.linuxtv.org/cgit.cgi/media_tree.git
> >> > I want to take a look this driver. but I can't find it in their git
> >> > repository. Or is there any introduction post related this driver?
> >> > Thanks.
> >>
> >> It isn't merged yet afaik, but Hans Verkuil has made a nice presentation
> >> about it at LinuxCon. Unfortunately the linuxcon page doesn't even have
> >> the slides afaics.
> >>
> >>
> >>
> http://lccona14.sched.org/event/2e156d3ce84309b2932f2e7a512904e0#.U_xCcjSmXmE
> >>
> >> The driver was called vidid (there's an older one called vidi
> apparently).
> >> But I don't think it's a good model for a virtual drm driver, if that's
> >> why you want to look at it. Just mentioned it to show that there's lots
> of
> >> uses for virtual drivers.
> >> -Daniel
> >>
> >> >
> >> > Best wishes
> >> > Derek
> >> >
> >> >
> >> > On Mon, Aug 25, 2014 at 6:12 AM, Daniel Vetter <daniel at ffwll.ch>
> wrote:
> >> >
> >> > > On Mon, Aug 18, 2014 at 03:35:16PM -0700, Derek wrote:
> >> > > > Hi every one
> >> > > > I'm currently working on VirtualMonitor in my leisure time. It
> >> > > > allows you
> >> > > > to use compute/tablet/smartphone as a second monitor for your
> >> > > > primary
> >> > > > computer. please refer to http://virtualmonitor.github.io for
> more
> >> > > > information. Currently I have released very basic version for
> >> > > > windows2000-windows7 to demonstrate the project is feasible. When
> I
> >> > > > was
> >> > > > trying to make a further step on windows, I realized it is
> difficult
> >> > > > for
> >> > > an
> >> > > > individual, as it is not open source and also without technical
> >> > > > support
> >> > > > from Microsoft.
> >> > > >
> >> > > > Then I want to move to linux, and I found Ilija Hadzic's post
> about
> >> > > Virtual
> >> > > > CRTCs. his post is here:
> >> > > >
> >> > >
> >> > >
> http://lists.freedesktop.org/archives/dri-devel/2011-November/015975.html
> >> > > > In his implementation, GPU driver can create arbitrary number of
> >> > > > CRTCs
> >> > > > (configurable by user) instead of only those CRTCs that represent
> >> > > > real
> >> > > > hardware.
> >> > > > It is very useful not only for VirtualMonitor, but also
> >> > > > VNC/Virtualization/USB display etc. based on this implementation
> >> > > > those
> >> > > > application will be able to take full advantage of the physical
> >> > > > graphic
> >> > > > card(3D acceleration).
> >> > > >
> >> > > > I want raise Ilijia's original question agian, if anybody in this
> >> > > community
> >> > > > think Virtual CRTCs is useful, and willing to work together to
> make
> >> > > > a
> >> > > > further progress.
> >> > > > My thought is if can implement a driver independent layer between
> >> > > > dri and
> >> > > > vendor specific GPU driver, with some general API. maybe implement
> >> > > > this
> >> > > > based one vendor related GPU first? e.g. based on Ilijia's
> >> > > > implementation
> >> > > > for Radeon as a daemon?
> >> > > >
> >> > > > GPU driver is not my expertise, If some expert from this community
> >> > > > think
> >> > > > this feature is interesting, and willing to initiate a project for
> >> > > > this
> >> > > > feature, that will be great. Then people can work and discuss
> >> > > > together.
> >> > > >
> >> > > > Any comments regarding to Virtual CRTC or VirtualMonitor are very
> >> > > welcome.
> >> > > > Thanks.
> >> > >
> >> > > I think the concept is overall sound (haven't looked at the old
> >> > > patches in
> >> > > detail).For the actual implementation I think a separate virtual drm
> >> > > driver is now
> >> > > the better approach, since with dma-buf and soon native fence
> support
> >> > > we
> >> > > can do this now properly.
> >> > >
> >> > > And especially now that we have multi-gpu support in X it should
> >> > > integrate
> >> > > almost seamlessly into X (and other display managers with multi-gpu
> >> > > support). Instead of requering special support in all drivers.
> >> > >
> >> > > Another thing for which iirc no one ever proposed a decent solution
> is
> >> > > synchronization to consumers of the frontbuffers for virtual gpus.
> So
> >> > > I
> >> > > guess the driver-private ioctl interface to make that magic work
> will
> >> > > be
> >> > > key.
> >> > >
> >> > > A (configurable) virtual gpu should also be really useful for
> >> > > automated
> >> > > testing, e.g. of hot-plug and unplug (both drm core and userspace).
> >> > > The
> >> > > v4l folks have such a driver (recently massively revamped for 3.18)
> >> > > and it
> >> > > looks extremely useful.
> >> > >
> >> > > For the configuration interface I guess a few simple module options
> to
> >> > > get
> >> > > started should be enough, eventually we can switch to configfs (or
> >> > > similar) to be able to configure and create/destroy virtual gpus at
> >> > > runtime.
> >> > >
> >> > > Just my random thoughts, probably good to kickstart the discussion
> >> > > with
> >> > > some quick patches and chat with people on #dri-devel on freenode
> irc.
> >> > >
> >> > > Cheers, Daniel
> >> > > --
> >> > > Daniel Vetter
> >> > > Software Engineer, Intel Corporation
> >> > > +41 (0) 79 365 57 48 - http://blog.ffwll.ch
> >> > >
> >>
> >> --
> >> Daniel Vetter
> >> Software Engineer, Intel Corporation
> >> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
> >
> >
>
>
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20140827/fe4d47a5/attachment-0001.html>


More information about the dri-devel mailing list