[PATCH 00/13] drm/amdgpu: Add virtual display feature.

Alex Deucher alexdeucher at gmail.com
Thu Aug 4 16:53:04 UTC 2016


On Thu, Aug 4, 2016 at 12:24 PM, Daniel Vetter <daniel at ffwll.ch> wrote:
> On Thu, Aug 04, 2016 at 10:59:38AM -0400, Alex Deucher wrote:
>> Adding dri-devel.
>>
>> This patch set basically adds a driver option to enable virtual
>> display hw if the user needs it (e.g., virtualization environments,
>> headless cards, pre-silicon environments, etc.).  It looks like a
>> regular KMS crtc/encoder/connector and works with existing userspace
>> unchanged.
>
> We autodetect this already for virtualized envirnments and pre-silicon.

What do you mean?  What do you do in those cases?

> Not so sure about headless cards, on those we don't bother to expose
> anything if there's nothing connected (i.e. no crtc/encoder/plane or
> connector objects at all). Why do you want fake outputs in that case?

We have some customers that want to run X or other desktops on
hardware without display connectors or even chips without display hw
at all.

>
> Anyway, if this is just a modparam and disabled by default I don't see any
> issue really at all.

Yes, this is controlled by a module option and is intended to only be
enabled by the user for specific use cases.

Alex

> -Daniel
>
>>
>> Alex
>>
>> On Thu, Aug 4, 2016 at 3:04 AM, Emily Deng <Emily.Deng at amd.com> wrote:
>> > The Virtual Display feature is to fake a display engine in amdgpu kernel driver, which allows any other kernel modules or user mode components to work as expected even without real display HW. User can get the desktop/primary surface through remote desktop tools instead of displaying HW associated with the GPU.
>> > The virtual display feature is designed for following cases:
>> > 1)Headless GPU, which has no display engine, while for some reason the X server is required to initialize in this GPU;
>> > 2)GPU with head (display engine) but Video BIOS disables display capability for some reason. For example, SR-IOV virtualization enabled Video BIOS often disables display connector. Some S-series Pro-Graphics designed for headless computer also disable display capability in Video BIOS;
>> > 3)For whatever reason, end user wants to enable a virtual display (don’t need HW display capability).
>> >
>> > Emily Deng (13):
>> >   drm/amdgpu: Add virtual connector and encoder macros.
>> >   drm/amdgpu: Initialize dce_virtual_ip_funcs
>> >   drm/amdgpu: Initialize dce_virtual_display_funcs.
>> >   drm/amdgpu: Initialize crtc, pageflip irq funcs
>> >   drm/amdgpu: Initialize dce_virtual_crtc_helper_funcs
>> >   drm/amdgpu: Initialize dce_virtual_crtc_funcs.
>> >   drm/amdgpu: Disable VGA render and crtc when init GMC.
>> >   drm/amdgpu: Use software timer to generate vsync interrupt.
>> >   drm/amdgpu: Call pageflip irq funtion when receiced vsync interrupt.
>> >   drm/amdgpu: Add DRM_MODE_CONNECTOR_VIRTUAL connector in
>> >     amdgpu_connector_add.
>> >   drm/amdgpu: Define vitual display ip blocks.
>> >   drm/amdgpu: Define one variable for virtual display.
>> >   drm/amdgpu: Set ip_blocks according variable amdgpu_virtual_display.
>> >
>> >  drivers/gpu/drm/amd/amdgpu/Makefile            |   3 +-
>> >  drivers/gpu/drm/amd/amdgpu/ObjectID.h          |   7 +
>> >  drivers/gpu/drm/amd/amdgpu/amdgpu.h            |   3 +
>> >  drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c   |  27 +
>> >  drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.h   |   2 +
>> >  drivers/gpu/drm/amd/amdgpu/amdgpu_connectors.c |  95 +++
>> >  drivers/gpu/drm/amd/amdgpu/amdgpu_device.c     |   5 +
>> >  drivers/gpu/drm/amd/amdgpu/amdgpu_display.c    |   5 +-
>> >  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c        |   4 +
>> >  drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h       |   9 +-
>> >  drivers/gpu/drm/amd/amdgpu/cik.c               | 445 +++++++++++--
>> >  drivers/gpu/drm/amd/amdgpu/dce_v10_0.c         |  75 +++
>> >  drivers/gpu/drm/amd/amdgpu/dce_v10_0.h         |   2 +
>> >  drivers/gpu/drm/amd/amdgpu/dce_v11_0.c         |  83 +++
>> >  drivers/gpu/drm/amd/amdgpu/dce_v11_0.h         |   2 +
>> >  drivers/gpu/drm/amd/amdgpu/dce_v8_0.c          |  82 +++
>> >  drivers/gpu/drm/amd/amdgpu/dce_v8_0.h          |   2 +
>> >  drivers/gpu/drm/amd/amdgpu/dce_virtual.c       | 855 +++++++++++++++++++++++++
>> >  drivers/gpu/drm/amd/amdgpu/dce_virtual.h       |  31 +
>> >  drivers/gpu/drm/amd/amdgpu/vi.c                | 416 ++++++++++--
>> >  20 files changed, 2062 insertions(+), 91 deletions(-)
>> >  create mode 100644 drivers/gpu/drm/amd/amdgpu/dce_virtual.c
>> >  create mode 100644 drivers/gpu/drm/amd/amdgpu/dce_virtual.h
>> >
>> > --
>> > 1.9.1
>> >
>> > _______________________________________________
>> > amd-gfx mailing list
>> > amd-gfx at lists.freedesktop.org
>> > https://lists.freedesktop.org/mailman/listinfo/amd-gfx
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> http://blog.ffwll.ch


More information about the amd-gfx mailing list