New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 837209 link

Starred by 21 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Task


Show other hotlists

Hotlists containing this issue:
Chromium-bugs-related-to-Crostini


Sign in to add a comment

Add DMABuf support to virtio wayland driver.

Project Member Reported by reve...@chromium.org, Apr 26 2018

Issue description

Add a new allocation type that returns a virtual FD that maps to host side DMABuf backed memory.

The FD should work with the linux_dmabuf protocol that can be used over virtio wayland connections. 
 
Project Member

Comment 1 by bugdroid1@chromium.org, May 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/board-overlays/+/2ea7246aa7e9b0f2a203342c53137d8dd0491db8

commit 2ea7246aa7e9b0f2a203342c53137d8dd0491db8
Author: David Reveman <reveman@chromium.org>
Date: Tue May 08 00:23:44 2018

Add crosvm user to video group

BUG= chromium:837209 
TEST=local build
CQ-DEPEND=CL:1034087

Change-Id: I0ecce29bbce6428eb7260f694503ccfa555741ad
Reviewed-on: https://chromium-review.googlesource.com/1047194
Commit-Ready: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/2ea7246aa7e9b0f2a203342c53137d8dd0491db8/project-freon/profiles/base/accounts/group/video

Project Member

Comment 2 by bugdroid1@chromium.org, May 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/chromite/+/22db73d65ebc0984311d8bcda65b89c808452acd

commit 22db73d65ebc0984311d8bcda65b89c808452acd
Author: David Reveman <reveman@chromium.org>
Date: Tue May 08 00:23:45 2018

Add crosvm to video group.

BUG= chromium:837209 
TEST=local build
CQ-DEPEND=CL:1034222, CL:1047194

Change-Id: Ifee5f217ba71f1c8aba3765943f4870b00ed1ac5
Reviewed-on: https://chromium-review.googlesource.com/1034087
Commit-Ready: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/22db73d65ebc0984311d8bcda65b89c808452acd/cros/test/usergroup_baseline.py

Project Member

Comment 3 by bugdroid1@chromium.org, May 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/eclass-overlay/+/c7e022d4ad09444346eaedd44d4f5190797717d7

commit c7e022d4ad09444346eaedd44d4f5190797717d7
Author: David Reveman <reveman@chromium.org>
Date: Tue May 08 00:23:43 2018

Add crosvm to the video group

Add crosvm to the video group since it needs access to DRM devices.

BUG= chromium:837209 
CQ-DEPEND=CL:1034087
TEST=display-accts.py

Change-Id: I22fe7d922b4af3887ad7ae0d3a3081882a0fbb8f
Reviewed-on: https://chromium-review.googlesource.com/1034222
Commit-Ready: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/c7e022d4ad09444346eaedd44d4f5190797717d7/profiles/base/accounts/group/video

Project Member

Comment 4 by bugdroid1@chromium.org, May 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/28f8a1e54312466fd461169edee26d53dbee0d62

commit 28f8a1e54312466fd461169edee26d53dbee0d62
Author: chromite-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com <chromite-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Date: Tue May 08 07:24:20 2018

Roll src/third_party/chromite/ 5c50bf92e..da3ce5f23 (2 commits)

https://chromium.googlesource.com/chromiumos/chromite.git/+log/5c50bf92e6fb..da3ce5f235a2

$ git log 5c50bf92e..da3ce5f23 --date=short --no-merges --format='%ad %ae %s'
2018-04-25 yunlian add elfutils to host packages.
2018-04-29 reveman Add crosvm to video group.

Created with:
  roll-dep src/third_party/chromite
BUG= chromium:701659 , chromium:837209 


The AutoRoll server is located here: https://chromite-chromium-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=chrome-os-gardeners@chromium.org

Change-Id: Ief473bca3ca4f12541910fb806f6503a6e8a6905
Reviewed-on: https://chromium-review.googlesource.com/1049275
Reviewed-by: Chromite Chromium Autoroll <chromite-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Commit-Queue: Chromite Chromium Autoroll <chromite-chromium-autoroll@skia-buildbots.google.com.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#556715}
[modify] https://crrev.com/28f8a1e54312466fd461169edee26d53dbee0d62/DEPS

Labels: Hotlist-Crostini-Platform
Project Member

Comment 6 by bugdroid1@chromium.org, May 15 2018

Labels: merge-merged-chromeos-4.14
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/4d9bff60fff8af91b4a0cef05552958b1a072993

commit 4d9bff60fff8af91b4a0cef05552958b1a072993
Author: David Reveman <reveman@chromium.org>
Date: Tue May 15 04:30:02 2018

CHROMIUM: virtwl: add dmabuf vfd support

This change supports the new dmabuf VFD type, which provides zero-copy
graphics output.

TEST=use linux_dmabuf protocol in sommelier
BUG= chromium:837209 

Change-Id: Icdc1f7bca07be3766b123074d5f47311262fcfcd
Signed-off-by: David Reveman <reveman@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1030032
Reviewed-by: Zach Reizner <zachr@chromium.org>

[modify] https://crrev.com/4d9bff60fff8af91b4a0cef05552958b1a072993/include/uapi/linux/virtwl.h
[modify] https://crrev.com/4d9bff60fff8af91b4a0cef05552958b1a072993/drivers/virtio/virtio_wl.c
[modify] https://crrev.com/4d9bff60fff8af91b4a0cef05552958b1a072993/include/uapi/linux/virtio_wl.h

Project Member

Comment 7 by bugdroid1@chromium.org, May 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/63484963b7ec07758757af85a7de8d6d12861137

commit 63484963b7ec07758757af85a7de8d6d12861137
Author: David Reveman <reveman@chromium.org>
Date: Wed May 16 12:08:27 2018

linux-headers: update virtio-wayland kernel headers

BUG= chromium:837209 
TEST=emerge-tatl sys-kernel/linux-headers
CQ-DEPEND=CL:1030032

Change-Id: I38d95fa6b33571ea9203a462166b26db9c0ad852
Reviewed-on: https://chromium-review.googlesource.com/1046158
Commit-Ready: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>
Reviewed-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>

[modify] https://crrev.com/63484963b7ec07758757af85a7de8d6d12861137/sys-kernel/linux-headers/files/0019-virtwl-add-virtwl-driver.patch
[rename] https://crrev.com/63484963b7ec07758757af85a7de8d6d12861137/sys-kernel/linux-headers/linux-headers-4.4-r20.ebuild

Project Member

Comment 8 by bugdroid1@chromium.org, May 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/crosvm/+/52ba4e5c6492d69a8ff57e87a0134c148a74a1f2

commit 52ba4e5c6492d69a8ff57e87a0134c148a74a1f2
Author: David Reveman <reveman@chromium.org>
Date: Wed May 16 15:34:40 2018

virtwl: Add DMABuf allocation support.

This implements DMABuf allocation type in the virtio wayland
device.

We attempt to locate a supported DRM device prior to engaging
the device jail. If found, the DRM device is passed to the
wayland device code and used to serve DMABuf allocations.

DMABuf support can be disabled by not providing crosvm with
access to any DRM device nodes.

The guest is expected to handle the case when DMABuf allocation
fails and fall-back to standard shared memory.

This initial change uses DRM directly but is structured in a
way that would allow the allocator to be replaced by minigbm
with minimal effort.

BUG= chromium:837209 
TEST=crosvm finds drm device and returns valid dmabufs to guest

Change-Id: Ic1fd776dfdfefae2d7b321d449273ef269e9cc62
Reviewed-on: https://chromium-review.googlesource.com/1034088
Commit-Ready: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>

[modify] https://crrev.com/52ba4e5c6492d69a8ff57e87a0134c148a74a1f2/gpu_buffer/Cargo.toml
[modify] https://crrev.com/52ba4e5c6492d69a8ff57e87a0134c148a74a1f2/src/main.rs
[modify] https://crrev.com/52ba4e5c6492d69a8ff57e87a0134c148a74a1f2/devices/src/virtio/wl.rs
[modify] https://crrev.com/52ba4e5c6492d69a8ff57e87a0134c148a74a1f2/src/linux.rs
[add] https://crrev.com/52ba4e5c6492d69a8ff57e87a0134c148a74a1f2/gpu_buffer/src/rendernode.rs
[modify] https://crrev.com/52ba4e5c6492d69a8ff57e87a0134c148a74a1f2/Cargo.lock
[modify] https://crrev.com/52ba4e5c6492d69a8ff57e87a0134c148a74a1f2/gpu_buffer/src/lib.rs
[modify] https://crrev.com/52ba4e5c6492d69a8ff57e87a0134c148a74a1f2/Cargo.toml
[modify] https://crrev.com/52ba4e5c6492d69a8ff57e87a0134c148a74a1f2/vm_control/src/lib.rs
[modify] https://crrev.com/52ba4e5c6492d69a8ff57e87a0134c148a74a1f2/devices/Cargo.toml

Project Member

Comment 9 by bugdroid1@chromium.org, May 18 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/1f2658fdb756944a6873aef4bea942647fd058a4

commit 1f2658fdb756944a6873aef4bea942647fd058a4
Author: David Reveman <reveman@chromium.org>
Date: Fri May 18 17:05:25 2018

crosvm: enable virtio wayland dmabuf support

This also adds a crosvm-wl-dmabuf USE-flag that can be used to turn
this feature off.

BUG= chromium:837209 
TEST=emerge-eve crosvm
CQ-DEPEND=CL:1034088

Change-Id: Ibcf57b0a9f89123668387cb2a35564ffe1c633a4
Reviewed-on: https://chromium-review.googlesource.com/1056015
Commit-Ready: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>
Reviewed-by: Chirantan Ekbote <chirantan@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>
Reviewed-by: Mike Frysinger <vapier@chromium.org>

[modify] https://crrev.com/1f2658fdb756944a6873aef4bea942647fd058a4/chromeos-base/crosvm/crosvm-9999.ebuild

Project Member

Comment 10 by bugdroid1@chromium.org, May 18 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/crosvm/+/f0656b661c97281f56d91e24224334b7e4d6ebc4

commit f0656b661c97281f56d91e24224334b7e4d6ebc4
Author: David Reveman <reveman@chromium.org>
Date: Fri May 18 17:05:19 2018

virtwl: Fix wayland-dmabuf argument typo.

Remove "enable-" prefix from wayland-dmabuf argument. This prefix is not
used when specifying the argument in run_vm.

BUG= chromium:837209 
TEST=crosvm usage output matches what is a valid argument

Change-Id: Ib9402842c6ce58b4b3d1646c0df3acb5c5de4b0c
Reviewed-on: https://chromium-review.googlesource.com/1064725
Commit-Ready: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>

[modify] https://crrev.com/f0656b661c97281f56d91e24224334b7e4d6ebc4/src/main.rs

Project Member

Comment 11 by bugdroid1@chromium.org, May 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/crosvm/+/fe0abe4a7882e2db5eae45e9cf2c617ba5cf4c20

commit fe0abe4a7882e2db5eae45e9cf2c617ba5cf4c20
Author: David Reveman <reveman@chromium.org>
Date: Sat May 19 03:08:22 2018

virtwl: Fix DMABuf support on when building for 32bit.

name/date/desc_len fields of drm_version struct are of type __kernel_size_t
and not unsigned long long.

BUG= chromium:837209 
TEST=crosvm finds DRM device on kevin

Change-Id: If940b31cb730cbaa46ed781021cbe60189da9f65
Reviewed-on: https://chromium-review.googlesource.com/1064913
Commit-Ready: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>

[modify] https://crrev.com/fe0abe4a7882e2db5eae45e9cf2c617ba5cf4c20/gpu_buffer/src/rendernode.rs

Project Member

Comment 12 by bugdroid1@chromium.org, May 22 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/f378b02a0e78b7be559480db658e2b383abd1eb4

commit f378b02a0e78b7be559480db658e2b383abd1eb4
Author: David Reveman <reveman@chromium.org>
Date: Tue May 22 16:49:31 2018

vm_tools: Enable crosvm wayland DMABuf support.

This updates the concierge config file in order to give crosvm
access to DRM devices and adds the --wayland-dmabuf flag to
the crosvm arguments in order to enable this feature.

BUG= chromium:837209 
TEST=sommelier can allocate and use dmabufs

Change-Id: I69195d11e9484e13495c279a40cdd977d3c60a12
Reviewed-on: https://chromium-review.googlesource.com/1046138
Commit-Ready: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>
Reviewed-by: Stephen Barber <smbarber@chromium.org>
Reviewed-by: Dylan Reid <dgreid@chromium.org>

[modify] https://crrev.com/f378b02a0e78b7be559480db658e2b383abd1eb4/vm_tools/concierge/virtual_machine.cc
[modify] https://crrev.com/f378b02a0e78b7be559480db658e2b383abd1eb4/vm_tools/init/vm_concierge.conf

Project Member

Comment 13 by bugdroid1@chromium.org, May 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/4601e8c7d104d3b06acc6d7e6419fb5cc83180bf

commit 4601e8c7d104d3b06acc6d7e6419fb5cc83180bf
Author: David Reveman <reveman@chromium.org>
Date: Thu May 24 07:22:59 2018

vm_tools: sommelier: Add virtwl DMABuf support.

This allows sommelier to use the virtwl DMABuf API to allocate
buffers that can be shared with host compositor using the
linux_dmabuf protocol.

This is done by introducing a new shm driver named
'virtwl-dmabuf'. This driver is now the default
shm driver on all devices.

README.md has also been updated to reflect this change.

BUG= chromium:837209 
TEST=sommelier can allocate and use dmabufs
CQ-DEPEND=CL:1069945

Change-Id: I4b76030cef5b5b2f1389999b6dc82d707ee21262
Reviewed-on: https://chromium-review.googlesource.com/1034220
Commit-Ready: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>

[modify] https://crrev.com/4601e8c7d104d3b06acc6d7e6419fb5cc83180bf/vm_tools/sommelier/sommelier.c
[modify] https://crrev.com/4601e8c7d104d3b06acc6d7e6419fb5cc83180bf/vm_tools/sommelier/README.md
[modify] https://crrev.com/4601e8c7d104d3b06acc6d7e6419fb5cc83180bf/vm_tools/sommelier/sommelier.gyp

Project Member

Comment 14 by bugdroid1@chromium.org, May 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/e96a69151735be870816071243f602c05a20ce2c

commit e96a69151735be870816071243f602c05a20ce2c
Author: David Reveman <reveman@chromium.org>
Date: Thu May 24 07:22:58 2018

virtwl: xwayland: Add DMABuf support

Adds DMABuf support to xwayland.

This also adds a patch to reduce over-damage in xwayland as
that is now useful.

BUG= chromium:837209 
TEST=emerge-tatl xwayland termina_container_tools
CQ-DEPEND=CL:1069945

Change-Id: I4fbdae2782fd3a0731e4a018fcfbdca92bcd1573
Reviewed-on: https://chromium-review.googlesource.com/1034221
Commit-Ready: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>

[delete] https://crrev.com/0a54feba4925b60f7894ae33e37df2aba9aabec3/x11-base/xwayland/files/0002-xwayland-virtwl-backing-pixmap-1.19.5.patch
[add] https://crrev.com/e96a69151735be870816071243f602c05a20ce2c/x11-base/xwayland/files/0001-xwayland-reduce-over-damage.patch
[rename] https://crrev.com/e96a69151735be870816071243f602c05a20ce2c/x11-base/xwayland/xwayland-1.19.5-r3.ebuild
[add] https://crrev.com/e96a69151735be870816071243f602c05a20ce2c/x11-base/xwayland/files/0001-xwayland-virtwl-with-dmabuf-1.19.5.patch

Project Member

Comment 15 by bugdroid1@chromium.org, May 26 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/crosvm/+/5f5e7ec3ba04e29b68244e56f1bce0d87ff6f7d9

commit 5f5e7ec3ba04e29b68244e56f1bce0d87ff6f7d9
Author: David Reveman <reveman@chromium.org>
Date: Sat May 26 17:19:50 2018

virtwl: better multi-plane DMABuf support

Multi-plane DMABufs are useful for efficient video playback. The
guest can already use this but has to guess the stride and offsets
for the second and third plane as they are not passed by virtwl
to the guest kernel.

This extracts the correct strides and offsets for each buffer and
passes them back to the guest in the allocation response message.

BUG= chromium:837209 
TEST=sommelier can use nv12 buffers without guessing stride/offset

Change-Id: I36ae2fad6605293c907802121676296cbc607a57
Reviewed-on: https://chromium-review.googlesource.com/1070799
Commit-Ready: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>

[modify] https://crrev.com/5f5e7ec3ba04e29b68244e56f1bce0d87ff6f7d9/src/linux.rs
[modify] https://crrev.com/5f5e7ec3ba04e29b68244e56f1bce0d87ff6f7d9/devices/src/virtio/wl.rs
[modify] https://crrev.com/5f5e7ec3ba04e29b68244e56f1bce0d87ff6f7d9/gpu_buffer/src/lib.rs
[modify] https://crrev.com/5f5e7ec3ba04e29b68244e56f1bce0d87ff6f7d9/vm_control/src/lib.rs

Project Member

Comment 16 by bugdroid1@chromium.org, May 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/e5be9b29228ebaead8190411b5c1cb8b637c850d

commit e5be9b29228ebaead8190411b5c1cb8b637c850d
Author: David Reveman <reveman@chromium.org>
Date: Wed May 30 19:49:58 2018

vm_tools: sommelier: add support for NV12 shm format

This adds support for NV12 as a wl_shm format when shm driver
is is 'virtwl-dmabuf' and host compositor supports this dmabuf
format.

Suppot for this format is possible as we copy into dmabufs when
using the 'virtwl-dmabuf' driver. The mmap utilities have been
updated to support multi-plane formats. The code is still limited
to 2 planes and the same bpp for all planes as that's all we need
for NV12. It can be made even more flexible if needed in the
future.

NV12 is useful for efficient video playback. It allows a software
decode pipeline to output NV12 and a single copy before planes
can be scanned out using an HW overlay.

BUG= chromium:837209 
TEST=gst-launch-1.0 playbin video-sink=waylandsink uri=http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_1080p_60fps_normal.mp4

Change-Id: I6f4a4cb48ef9912c46d082606cda87c6bd18e0b6
Reviewed-on: https://chromium-review.googlesource.com/1074552
Commit-Ready: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>
Reviewed-by: David Reveman <reveman@chromium.org>

[modify] https://crrev.com/e5be9b29228ebaead8190411b5c1cb8b637c850d/vm_tools/sommelier/sommelier.c
[modify] https://crrev.com/e5be9b29228ebaead8190411b5c1cb8b637c850d/vm_tools/sommelier/sommelier-shm.c
[modify] https://crrev.com/e5be9b29228ebaead8190411b5c1cb8b637c850d/vm_tools/sommelier/sommelier-compositor.c
[modify] https://crrev.com/e5be9b29228ebaead8190411b5c1cb8b637c850d/vm_tools/sommelier/sommelier.h

Project Member

Comment 17 by bugdroid1@chromium.org, Jun 2 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/kernel/+/838f0480d46ea0d18c23fdb32b981a610750e594

commit 838f0480d46ea0d18c23fdb32b981a610750e594
Author: David Reveman <reveman@chromium.org>
Date: Sat Jun 02 00:44:45 2018

CHROMIUM: virtwl: add dmabuf sync ioctl

This can be used to synchronize access to dmabuf backed virtio
buffers. The virtio wayland device will use this to issue
matching DMA_BUF_SYNC ioctls. The dmabuf driver on the host side
can then handle this correctly (e.g. flush memory before it is
potentially scanned out by display hardware).

TEST=cache-line artifacts no longer noticeable
BUG= chromium:837209 

Change-Id: I0e797123fc0cfbc179a44e98ffd2ce7def53e2f5
Signed-off-by: David Reveman <reveman@chromium.org>
Reviewed-on: https://chromium-review.googlesource.com/1076927
Reviewed-by: Dmitry Torokhov <dtor@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>

[modify] https://crrev.com/838f0480d46ea0d18c23fdb32b981a610750e594/include/uapi/linux/virtwl.h
[modify] https://crrev.com/838f0480d46ea0d18c23fdb32b981a610750e594/drivers/virtio/virtio_wl.c
[modify] https://crrev.com/838f0480d46ea0d18c23fdb32b981a610750e594/include/uapi/linux/virtio_wl.h

Project Member

Comment 18 by bugdroid1@chromium.org, Jun 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/6bf79d033e79ef662982a83b61e5112d22038209

commit 6bf79d033e79ef662982a83b61e5112d22038209
Author: David Reveman <reveman@chromium.org>
Date: Tue Jun 05 12:42:21 2018

linux-headers: update virtio-wayland kernel headers

Add dmabuf sync support.

BUG= chromium:837209 
TEST=emerge-tatl sys-kernel/linux-headers

Change-Id: I732cc3e5214e181fcaf9b394eb1fa996d8527826
Reviewed-on: https://chromium-review.googlesource.com/1081756
Commit-Ready: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>

[modify] https://crrev.com/6bf79d033e79ef662982a83b61e5112d22038209/sys-kernel/linux-headers/files/0019-virtwl-add-virtwl-driver.patch
[rename] https://crrev.com/6bf79d033e79ef662982a83b61e5112d22038209/sys-kernel/linux-headers/linux-headers-4.4-r21.ebuild

Project Member

Comment 19 by bugdroid1@chromium.org, Jun 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/crosvm/+/22272dd4b26cf1e3797ea8f7ea0331d71cbd399a

commit 22272dd4b26cf1e3797ea8f7ea0331d71cbd399a
Author: David Reveman <reveman@chromium.org>
Date: Tue Jun 19 21:38:53 2018

virtwl: implement dmabuf sync support

This provides proper synchronization for guest access to
DMABufs.

Virtio wayland device is given access to the DMA_BUF_SYNC ioctl
in order to implement this. Being able to use this directly in
the virtio wayland device process is important as these calls
can sometimes be relatively expensive and they are frequent
enough that avoiding another context switch is useful for good
performance.

TEST=cache-line artifacts no longer noticeable
BUG= chromium:837209 

Change-Id: Ibb8d7c01f70ed5b74afd69288015a65186fec52a
Reviewed-on: https://chromium-review.googlesource.com/1076928
Commit-Ready: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>
Reviewed-by: Zach Reizner <zachr@chromium.org>

[modify] https://crrev.com/22272dd4b26cf1e3797ea8f7ea0331d71cbd399a/devices/src/virtio/wl.rs
[modify] https://crrev.com/22272dd4b26cf1e3797ea8f7ea0331d71cbd399a/seccomp/x86_64/wl_device.policy
[modify] https://crrev.com/22272dd4b26cf1e3797ea8f7ea0331d71cbd399a/seccomp/aarch64/wl_device.policy

Project Member

Comment 20 by bugdroid1@chromium.org, Jun 24 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/1cbd678946dc150a95fd4de5f84edc1aceea258c

commit 1cbd678946dc150a95fd4de5f84edc1aceea258c
Author: David Reveman <reveman@chromium.org>
Date: Sun Jun 24 23:31:01 2018

virtwl: xwayland: Fix DMABuf sync support

Update xwayland dmabuf patch to include sync calls needed
for buffers to be flushed before presentation.

BUG= chromium:837209 
TEST=emerge-tatl xwayland termina_container_tools

Change-Id: I5d79b0f2e478d4d3157a1226e9d36176b8bb5539
Reviewed-on: https://chromium-review.googlesource.com/1111384
Commit-Ready: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>
Reviewed-by: Stephen Barber <smbarber@chromium.org>

[rename] https://crrev.com/1cbd678946dc150a95fd4de5f84edc1aceea258c/x11-base/xwayland/xwayland-1.19.5-r4.ebuild
[modify] https://crrev.com/1cbd678946dc150a95fd4de5f84edc1aceea258c/x11-base/xwayland/files/0001-xwayland-virtwl-with-dmabuf-1.19.5.patch

Project Member

Comment 21 by bugdroid1@chromium.org, Jun 25 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/c6c5ab11b7fe0ebe1720c7451a5a99d7e78e1f3b

commit c6c5ab11b7fe0ebe1720c7451a5a99d7e78e1f3b
Author: David Reveman <reveman@chromium.org>
Date: Mon Jun 25 05:28:48 2018

vm_tools: sommelier: synchronize virtio dmabuf access

Use virtio wayland API provided to synchronize access to DMABufs
with host. This removes rendering artifacts from writes to the
buffer not having been flushed before presentation.

This also updates the access hooks and flags to reflect that
sommelier only writes to these buffers.

BUG= chromium:837209 
TEST=sommelier weston-simple-egl

Change-Id: I7ae59822cf253fc51545157e3f718f373bf9bc43
Reviewed-on: https://chromium-review.googlesource.com/1108817
Commit-Ready: David Reveman <reveman@chromium.org>
Tested-by: David Reveman <reveman@chromium.org>
Reviewed-by: Stephen Barber <smbarber@chromium.org>

[modify] https://crrev.com/c6c5ab11b7fe0ebe1720c7451a5a99d7e78e1f3b/vm_tools/sommelier/sommelier.c
[modify] https://crrev.com/c6c5ab11b7fe0ebe1720c7451a5a99d7e78e1f3b/vm_tools/sommelier/sommelier-compositor.c
[modify] https://crrev.com/c6c5ab11b7fe0ebe1720c7451a5a99d7e78e1f3b/vm_tools/sommelier/sommelier.h

Status: Fixed (was: Assigned)

Sign in to add a comment