dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* Ilija Hadzic's Virtual CRTCs feature discuss
@ 2014-08-18 22:35 Derek
  2014-08-25 13:12 ` Daniel Vetter
  0 siblings, 1 reply; 6+ messages in thread
From: Derek @ 2014-08-18 22:35 UTC (permalink / raw)
  To: dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 1802 bytes --]

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.

Best wishes
Derek

[-- Attachment #1.2: Type: text/html, Size: 2165 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ilija Hadzic's Virtual CRTCs feature discuss
  2014-08-18 22:35 Ilija Hadzic's Virtual CRTCs feature discuss Derek
@ 2014-08-25 13:12 ` Daniel Vetter
  2014-08-25 19:02   ` Derek
  0 siblings, 1 reply; 6+ messages in thread
From: Daniel Vetter @ 2014-08-25 13:12 UTC (permalink / raw)
  To: Derek; +Cc: dri-devel

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ilija Hadzic's Virtual CRTCs feature discuss
  2014-08-25 13:12 ` Daniel Vetter
@ 2014-08-25 19:02   ` Derek
  2014-08-26  8:18     ` Daniel Vetter
  0 siblings, 1 reply; 6+ messages in thread
From: Derek @ 2014-08-25 19:02 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 3877 bytes --]

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.

Best wishes
Derek


On Mon, Aug 25, 2014 at 6:12 AM, Daniel Vetter <daniel@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
>

[-- Attachment #1.2: Type: text/html, Size: 5053 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ilija Hadzic's Virtual CRTCs feature discuss
  2014-08-25 19:02   ` Derek
@ 2014-08-26  8:18     ` Daniel Vetter
       [not found]       ` <CAOMUgmhOGBE8_LDFa9pMcyyhott4SaA5jm0wQgxJXZ2+-9u=HA@mail.gmail.com>
  0 siblings, 1 reply; 6+ messages in thread
From: Daniel Vetter @ 2014-08-26  8:18 UTC (permalink / raw)
  To: Derek; +Cc: dri-devel

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@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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ilija Hadzic's Virtual CRTCs feature discuss
       [not found]       ` <CAOMUgmhOGBE8_LDFa9pMcyyhott4SaA5jm0wQgxJXZ2+-9u=HA@mail.gmail.com>
@ 2014-08-27 17:54         ` Daniel Vetter
  2014-08-27 18:05           ` Derek
  0 siblings, 1 reply; 6+ messages in thread
From: Daniel Vetter @ 2014-08-27 17:54 UTC (permalink / raw)
  To: Derek, dri-devel

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@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@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@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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Ilija Hadzic's Virtual CRTCs feature discuss
  2014-08-27 17:54         ` Daniel Vetter
@ 2014-08-27 18:05           ` Derek
  0 siblings, 0 replies; 6+ messages in thread
From: Derek @ 2014-08-27 18:05 UTC (permalink / raw)
  To: Daniel Vetter; +Cc: dri-devel


[-- Attachment #1.1: Type: text/plain, Size: 7474 bytes --]

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@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@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@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@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
>

[-- Attachment #1.2: Type: text/html, Size: 11431 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2014-08-27 18:05 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-08-18 22:35 Ilija Hadzic's Virtual CRTCs feature discuss Derek
2014-08-25 13:12 ` Daniel Vetter
2014-08-25 19:02   ` Derek
2014-08-26  8:18     ` Daniel Vetter
     [not found]       ` <CAOMUgmhOGBE8_LDFa9pMcyyhott4SaA5jm0wQgxJXZ2+-9u=HA@mail.gmail.com>
2014-08-27 17:54         ` Daniel Vetter
2014-08-27 18:05           ` Derek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox