qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [qemu/qemu] 72d277: display/edid: add edid generator to q


From: GitHub
Subject: [Qemu-commits] [qemu/qemu] 72d277: display/edid: add edid generator to qemu.
Date: Mon, 01 Oct 2018 04:32:08 -0700

  Branch: refs/heads/master
  Home:   https://github.com/qemu/qemu
  Commit: 72d277a70e8b2d4eb1b3667ab934fb1fecf41410
      
https://github.com/qemu/qemu/commit/72d277a70e8b2d4eb1b3667ab934fb1fecf41410
  Author: Gerd Hoffmann <address@hidden>
  Date:   2018-09-27 (Thu, 27 Sep 2018)

  Changed paths:
    M MAINTAINERS
    M Makefile
    M configure
    M hw/display/Makefile.objs
    A hw/display/edid-generate.c
    A include/hw/display/edid.h
    A qemu-edid.c

  Log Message:
  -----------
  display/edid: add edid generator to qemu.

EDID is a metadata format to describe monitors.  On physical hardware
the monitor has an eeprom with that data block which can be read over
i2c bus.

On a linux system you can usually find the EDID data block in
/sys/class/drm/$card/$connector/edid.  xorg ships a edid-decode utility
which you can use to turn the blob into readable form.

I think it would be a good idea to use EDID for virtual displays too.
Needs changes in both qemu and guest kms drivers.  This patch is the
first step, it adds an generator for EDID blobs to qemu.  Comes with a
qemu-edid test tool included.

With EDID we can pass more information to the guest.  Names and serial
numbers, so the guests display configuration has no boring "Unknown
Monitor".  List of video modes.  Display resolution, pretty important
in case we want add HiDPI support some day.

Signed-off-by: Gerd Hoffmann <address@hidden>
Message-id: address@hidden


  Commit: e7992fc5a002003ae865685ad4635b952c1ca9bf
      
https://github.com/qemu/qemu/commit/e7992fc5a002003ae865685ad4635b952c1ca9bf
  Author: Gerd Hoffmann <address@hidden>
  Date:   2018-09-27 (Thu, 27 Sep 2018)

  Changed paths:
    M hw/display/edid-generate.c
    M include/hw/display/edid.h

  Log Message:
  -----------
  display/edid: add qemu_edid_size()

Helper function to figure the size of a edid blob, by checking how many
extensions are present.  Both the base edid blob and the extensions are
128 bytes in size.

Signed-off-by: Gerd Hoffmann <address@hidden>
Message-id: address@hidden


  Commit: 97917e9e02e04bbb5f3b14c0f2b58913ef5f09d2
      
https://github.com/qemu/qemu/commit/97917e9e02e04bbb5f3b14c0f2b58913ef5f09d2
  Author: Gerd Hoffmann <address@hidden>
  Date:   2018-09-27 (Thu, 27 Sep 2018)

  Changed paths:
    M hw/display/Makefile.objs
    A hw/display/edid-region.c
    M include/hw/display/edid.h

  Log Message:
  -----------
  display/edid: add region helper.

Create a io region for an EDID data block.

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-id: address@hidden


  Commit: 06510b899fbb43a709ddb5ba04610efa7fbef13b
      
https://github.com/qemu/qemu/commit/06510b899fbb43a709ddb5ba04610efa7fbef13b
  Author: Gerd Hoffmann <address@hidden>
  Date:   2018-09-27 (Thu, 27 Sep 2018)

  Changed paths:
    M include/hw/display/edid.h

  Log Message:
  -----------
  display/edid: add DEFINE_EDID_PROPERTIES

Add a define for edid monitor properties.

Signed-off-by: Gerd Hoffmann <address@hidden>
Message-id: address@hidden


  Commit: d46b40fce2e3f5187bb9a67d348e8bfd4f73ad3b
      
https://github.com/qemu/qemu/commit/d46b40fce2e3f5187bb9a67d348e8bfd4f73ad3b
  Author: Gerd Hoffmann <address@hidden>
  Date:   2018-09-27 (Thu, 27 Sep 2018)

  Changed paths:
    M docs/specs/standard-vga.txt
    M hw/display/vga-pci.c
    M hw/display/vga_int.h
    M hw/display/virtio-vga.c

  Log Message:
  -----------
  display/stdvga: add edid support.

This patch adds edid support to the qemu stdvga.  It is turned off by
default and can be enabled with the new edid property.  The patch also
adds xres and yres properties to specify the video mode you want the
guest use.  Works only with edid enabled and updated guest driver.

The mmio bar of the stdvga has some unused address space at the start.
It was reserved just in case it'll be needed for virtio, but it turned
out to not be needed for that.  So let's use that region to place the
EDID data block there.

Signed-off-by: Gerd Hoffmann <address@hidden>
Message-id: address@hidden


  Commit: 979f7ef8966bc4495a710ed9e4af42098f92ee79
      
https://github.com/qemu/qemu/commit/979f7ef8966bc4495a710ed9e4af42098f92ee79
  Author: Gerd Hoffmann <address@hidden>
  Date:   2018-09-27 (Thu, 27 Sep 2018)

  Changed paths:
    M hw/display/qxl-render.c
    M hw/display/qxl.c
    M hw/display/qxl.h

  Log Message:
  -----------
  qxl: use guest_monitor_config for local renderer.

When processing monitor config from guest store head0 width and height
for single-head configurations.  Use these when creating the
DisplaySurface in the local renderer.

This fixes a rendering issue with wayland.  Wayland rounds up the
framebuffer width and height to a multiple of 64, so with odd
resolutions (800x600 for example) the framebuffer is larger than the
actual screen.  The monitor config has the actual screen size though.

This fixes guest display for anything using the local renderer
(non-spice UI, screendump monitor command).

Signed-off-by: Gerd Hoffmann <address@hidden>
Reviewed-by: Marc-André Lureau <address@hidden>
Message-id: address@hidden


  Commit: 36ffc122dcd69ab66db4afab3a13cfca46bfc323
      
https://github.com/qemu/qemu/commit/36ffc122dcd69ab66db4afab3a13cfca46bfc323
  Author: Peter Wu <address@hidden>
  Date:   2018-09-27 (Thu, 27 Sep 2018)

  Changed paths:
    M hw/display/qxl-render.c
    M ui/cursor.c

  Log Message:
  -----------
  qxl: support mono cursors with inverted colors

Monochrome cursors are still used by Windows guests with the
QXL-WDDM-DOD driver. Such cursor types have one odd feature, inversion
of colors. GDK does not seem to support it, so implement an alternative
solution: fill the inverted pixels and add an outline to make the cursor
more visible. Tested with the text cursor in Notepad and Windows 10.

cursor_set_mono is also used by the vmware GPU, so add a special check
to avoid breaking its 32bpp format (tested with Kubuntu 14.04.4). I was
unable to find a guest which supports the 1bpp format with a vmware GPU.

The old implementation was buggy and removed in v2.10.0-108-g79c5a10cdd
("qxl: drop mono cursor support"), this version improves upon that by
adding bounds validation, clarifying the semantics of the two masks and
adds a workaround for inverted colors support.

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1611984
Signed-off-by: Peter Wu <address@hidden>
Message-id: address@hidden

[ kraxel: minor codestyle fix ]

Signed-off-by: Gerd Hoffmann <address@hidden>


  Commit: cc28dce2eccdcfc2660b8bf680eaa340ef2067d5
      
https://github.com/qemu/qemu/commit/cc28dce2eccdcfc2660b8bf680eaa340ef2067d5
  Author: Peter Maydell <address@hidden>
  Date:   2018-10-01 (Mon, 01 Oct 2018)

  Changed paths:
    M MAINTAINERS
    M Makefile
    M configure
    M docs/specs/standard-vga.txt
    M hw/display/Makefile.objs
    A hw/display/edid-generate.c
    A hw/display/edid-region.c
    M hw/display/qxl-render.c
    M hw/display/qxl.c
    M hw/display/qxl.h
    M hw/display/vga-pci.c
    M hw/display/vga_int.h
    M hw/display/virtio-vga.c
    A include/hw/display/edid.h
    A qemu-edid.c
    M ui/cursor.c

  Log Message:
  -----------
  Merge remote-tracking branch 'remotes/kraxel/tags/vga-20180927-pull-request' 
into staging

vga: add edid support, qxl bugfixes.

# gpg: Signature made Thu 27 Sep 2018 08:12:32 BST
# gpg:                using RSA key 4CB6D8EED3E87138
# gpg: Good signature from "Gerd Hoffmann (work) <address@hidden>"
# gpg:                 aka "Gerd Hoffmann <address@hidden>"
# gpg:                 aka "Gerd Hoffmann (private) <address@hidden>"
# Primary key fingerprint: A032 8CFF B93A 17A7 9901  FE7D 4CB6 D8EE D3E8 7138

* remotes/kraxel/tags/vga-20180927-pull-request:
  qxl: support mono cursors with inverted colors
  qxl: use guest_monitor_config for local renderer.
  display/stdvga: add edid support.
  display/edid: add DEFINE_EDID_PROPERTIES
  display/edid: add region helper.
  display/edid: add qemu_edid_size()
  display/edid: add edid generator to qemu.

Signed-off-by: Peter Maydell <address@hidden>


Compare: https://github.com/qemu/qemu/compare/e7f5f0b6e6f2...cc28dce2eccd
      **NOTE:** This service has been marked for deprecation: 
https://developer.github.com/changes/2018-04-25-github-services-deprecation/

      Functionality will be removed from GitHub.com on January 31st, 2019.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]