intel / KVMGT-kernel

Other
41 stars 20 forks source link

Does KVMGT support indirect display mode? #4

Open terry84 opened 9 years ago

terry84 commented 9 years ago

Hello.

Does KVMGT support indirect display mode like XenGT doing? If it supports it, could you tell me how can I enable it in KVMGT? If not, do you have a plan to support?

Please let me know about them.

Thank you in advance.

l1viathan commented 9 years ago

They are theoretically the same with regards to display mode. Are you able to use indirect mode with XenGT now?

terry84 commented 9 years ago

Thank you your reply.

They are theoretically the same with regards to display mode. Are you able to use indirect mode with XenGT now?

Yes I could enable indirect mode with XenGT. So you mean KVMGT will possible to enable the indirect mode if XenGT possible?

And I have another question. According to some kind of XenGT presentation, it seems the indirect mode makes possible to composite DomU's frame buffer with Dom0's it. For example, show DomU's screen on Dom0's screen via opengl application. However, after reading source code of XenGT, currently I'm guessing the indirect mode of XenGT doesn't composite guest's framebuffer but just remaps display port from virtual to phsyical.

Am I right? Or is there something I lost? Could you tell me about whether it is possible to composite framebuffers between guests in XenGT/KVMGT, or not?

Thank you in advance. I will wait your reply in anticipation :)

l1viathan commented 9 years ago

sorry, forgot to answer this question.

I checked the repository, found that in current version, there is no vgtbuffer built in the host i915 driver. We'll address that in next drop.

However, after reading source code of XenGT, currently I'm guessing the indirect mode of XenGT doesn't composite guest's framebuffer but just remaps display port from virtual to phsyical.

I don't know the right answer, will find someone to have a look.

zhiyuanlv commented 9 years ago

Hello terry84,

The composition of guest framebuffer depends on two things: first is to expose guest VM's framebuffer to dom0(host); second is to have a compositor application to render an X window with that buffer object. The first one as Jike mentioned, it is not in the previous release due to kernel rebase. but we should be able to include it in the next release. The code is the same as the one for XenGT. Regarding the second one, we have a prototype implementation but is not target for opensource. The basic idea of the compositor is to utilize EGL extension for creating EGL image from drm buffer object, then define a texture with it, and render X window with that texture. Hope that helps. Thanks!