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

Issue 809666 link

Starred by 5 users

Issue metadata

Status: Duplicate
Owner:
Last visit > 30 days ago
Closed: Feb 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Display broken on nyan board

Project Member Reported by sdantul...@chromium.org, Feb 6 2018

Issue description

Build: 	10323.17.0, 65.0.3325.56 nyan-blaze

What steps will reproduce the problem?
(1) AU device from live build 10323.9.0 to 10323.17.0

What happens ?
Display broken after update.

Attached screenshot.
 
IMG-5586.JPG
2.6 MB View Download
Cc: reve...@chromium.org marc...@chromium.org
Owner: hoegsberg@chromium.org
We haven't changed the driver on nyan for a few years now, so it has to be a change on the chrome side. The most likely culprit is the modifier changes from hoegsberg@, so assigning to Kristian to start...
Cc: sontis@chromium.org matthewjoseph@chromium.org
 Issue 809667  has been merged into this issue.
That is gnarly, this will block releasing Nyan images...

Should we revert the changes merged in https://bugs.chromium.org/p/chromium/issues/detail?id=789292 or is this coming from something else? Or can we fix this with an additional patch in the next couple days?
I'll take a look, I expect I can fix it tomorrow.
Yes, I have a fix for it here for Tegra, testing on Rockchip and Intel boards now, since they also use format modifiers.
Issue 809670 has been merged into this issue.
Project Member

Comment 11 by bugdroid1@chromium.org, Feb 8 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/minigbm/+/2b8f89e45cea5b2b06bc5cc8a3c03e156ee42285

commit 2b8f89e45cea5b2b06bc5cc8a3c03e156ee42285
Author: Kristian H. Kristensen <hoegsberg@chromium.org>
Date: Thu Feb 08 09:24:07 2018

i915: Always set the modifier when allocating BOs

With CL:907756 we now pass modifiers around when export to and
importing from the rest of Chrome and we need to give the right answer
when ozone queries the modifier of a bo allocated with use flags.

Bug: 809670,  809666 
Change-Id: Iab5ea62d5e0da9ddd90013f559f802270de1e420
Reviewed-on: https://chromium-review.googlesource.com/907848
Commit-Ready: Kristian H. Kristensen <hoegsberg@chromium.org>
Tested-by: Kristian H. Kristensen <hoegsberg@chromium.org>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>

[modify] https://crrev.com/2b8f89e45cea5b2b06bc5cc8a3c03e156ee42285/i915.c

Does anyone have enough context to know if this is what's breaking the nyan_kitty-paladin?

https://logs.chromium.org/v/?s=chromeos%2Fbb%2Fchromeos%2Fnyan_kitty-paladin%2F4310%2F%2B%2Frecipes%2Fsteps%2FHWTest__bvt-cq_%2F0%2Fstdout
Project Member

Comment 13 by bugdroid1@chromium.org, Feb 8 2018

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

commit 2155337fde83ed15fbd4a92cb286a0fc9a36f4ba
Author: Kristian H. Kristensen <hoegsberg@chromium.org>
Date: Thu Feb 08 18:35:32 2018

ozone/drm: Always export format modifiers

We tried to be careful to only export modifiers if we knew we'd be
able to import them again. That is, if we could pass modifiers to
addfb2. It turns out, Tegra requires modifiers for eglCreateImageKHR
to correctly import dma-bufs, but Tegra KMS doesn't support modifiers.
Instead, let's always export modifiers, but only try to create a KMS
framebuffer with modifiers if the kernel says it supports it.

Bug: 809670,  809666 
Change-Id: I065498ee5da2b53ec9577a3c9c8099c9f0fe1aab
Reviewed-on: https://chromium-review.googlesource.com/907756
Commit-Queue: Kristian H. Kristensen <hoegsberg@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535450}
[modify] https://crrev.com/2155337fde83ed15fbd4a92cb286a0fc9a36f4ba/ui/ozone/platform/drm/gpu/drm_device.cc
[modify] https://crrev.com/2155337fde83ed15fbd4a92cb286a0fc9a36f4ba/ui/ozone/platform/drm/gpu/drm_device.h
[modify] https://crrev.com/2155337fde83ed15fbd4a92cb286a0fc9a36f4ba/ui/ozone/platform/drm/gpu/gbm_buffer.cc
[modify] https://crrev.com/2155337fde83ed15fbd4a92cb286a0fc9a36f4ba/ui/ozone/platform/drm/gpu/gbm_buffer.h

Labels: Merge-Request-65
Project Member

Comment 16 by sheriffbot@chromium.org, Feb 8 2018

Labels: -Merge-Request-65 Merge-Review-65 Hotlist-Merge-Review
This bug requires manual review: M65 has already been promoted to the beta branch, so this requires manual review
Please contact the milestone owner if you have questions.
Owners: cmasso@(Android), cmasso@(iOS), bhthompson@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Hotlist-Merge-Review -Merge-Review-65 Merge-Approved-65
Project Member

Comment 18 by bugdroid1@chromium.org, Feb 8 2018

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

commit efb862057e4d810056df15b0cc83ac4a2a9bf278
Author: Xiaoyin Hu <xiaoyinh@chromium.org>
Date: Thu Feb 08 22:00:07 2018

Revert "ozone/drm: Always export format modifiers"

This reverts commit 2155337fde83ed15fbd4a92cb286a0fc9a36f4ba.

Reason for revert: This breaks chrome with the following error in 
/var/log/ui/ui.LATEST:
[4195:4201:0208/132255.669620:ERROR:gbm_buffer.cc(87)] handles: 2, stride: 9728, offset: 0, modifier: 0
[4195:4201:0208/132255.670789:ERROR:gbm_buffer.cc(81)] AddFramebuffer2 failed: : Invalid argument (22)
[4195:4201:0208/132255.670922:ERROR:gbm_buffer.cc(82)] planes: 1, width: 2400, height: 1600, addfb_flags


Original change's description:
> ozone/drm: Always export format modifiers
> 
> We tried to be careful to only export modifiers if we knew we'd be
> able to import them again. That is, if we could pass modifiers to
> addfb2. It turns out, Tegra requires modifiers for eglCreateImageKHR
> to correctly import dma-bufs, but Tegra KMS doesn't support modifiers.
> Instead, let's always export modifiers, but only try to create a KMS
> framebuffer with modifiers if the kernel says it supports it.
> 
> Bug: 809670,  809666 
> Change-Id: I065498ee5da2b53ec9577a3c9c8099c9f0fe1aab
> Reviewed-on: https://chromium-review.googlesource.com/907756
> Commit-Queue: Kristian H. Kristensen <hoegsberg@chromium.org>
> Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#535450}

TBR=dcastagna@chromium.org,hoegsberg@chromium.org

Change-Id: I51c8ba5fcd97f0bd8f2c7d693196191f382fde3d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 809670,  809666 
Reviewed-on: https://chromium-review.googlesource.com/909554
Reviewed-by: Xiaoyin Hu <xiaoyinh@chromium.org>
Commit-Queue: Xiaoyin Hu <xiaoyinh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535537}
[modify] https://crrev.com/efb862057e4d810056df15b0cc83ac4a2a9bf278/ui/ozone/platform/drm/gpu/drm_device.cc
[modify] https://crrev.com/efb862057e4d810056df15b0cc83ac4a2a9bf278/ui/ozone/platform/drm/gpu/drm_device.h
[modify] https://crrev.com/efb862057e4d810056df15b0cc83ac4a2a9bf278/ui/ozone/platform/drm/gpu/gbm_buffer.cc
[modify] https://crrev.com/efb862057e4d810056df15b0cc83ac4a2a9bf278/ui/ozone/platform/drm/gpu/gbm_buffer.h

Project Member

Comment 19 by bugdroid1@chromium.org, Feb 8 2018

Labels: merge-merged-release-R65-10323.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/minigbm/+/ed1f0c940d80d1b4b77ce101b858c55f5838517e

commit ed1f0c940d80d1b4b77ce101b858c55f5838517e
Author: Kristian H. Kristensen <hoegsberg@chromium.org>
Date: Thu Feb 08 22:19:42 2018

i915: Always set the modifier when allocating BOs

With CL:907756 we now pass modifiers around when export to and
importing from the rest of Chrome and we need to give the right answer
when ozone queries the modifier of a bo allocated with use flags.

Bug: 809670,  809666 
Change-Id: Iab5ea62d5e0da9ddd90013f559f802270de1e420
Reviewed-on: https://chromium-review.googlesource.com/907795
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Commit-Queue: Kristian H. Kristensen <hoegsberg@chromium.org>
Tested-by: Kristian H. Kristensen <hoegsberg@chromium.org>

[modify] https://crrev.com/ed1f0c940d80d1b4b77ce101b858c55f5838517e/i915.c

Project Member

Comment 20 by bugdroid1@chromium.org, Feb 9 2018

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

commit d1809bb40a31f4488cdcc4a8b19e40af2860d7db
Author: Kristian H. Kristensen <hoegsberg@chromium.org>
Date: Fri Feb 09 04:13:18 2018

Reland "ozone/drm: Always export format modifiers"

This is a reland of 2155337fde83ed15fbd4a92cb286a0fc9a36f4ba.
This CL depends on minigbm CL:907848, regression was observed with
an older ChromeOS rootfs.

Original change's description:
> ozone/drm: Always export format modifiers
>
> We tried to be careful to only export modifiers if we knew we'd be
> able to import them again. That is, if we could pass modifiers to
> addfb2. It turns out, Tegra requires modifiers for eglCreateImageKHR
> to correctly import dma-bufs, but Tegra KMS doesn't support modifiers.
> Instead, let's always export modifiers, but only try to create a KMS
> framebuffer with modifiers if the kernel says it supports it.
>
> Bug: 809670,  809666 
> Change-Id: I065498ee5da2b53ec9577a3c9c8099c9f0fe1aab
> Reviewed-on: https://chromium-review.googlesource.com/907756
> Commit-Queue: Kristian H. Kristensen <hoegsberg@chromium.org>
> Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#535450}

Bug: 809670,  809666 
Change-Id: I9956dcbeba7519b2cb5a8968564f6b71fc5ac03e
Reviewed-on: https://chromium-review.googlesource.com/910069
Reviewed-by: David Reveman <reveman@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Commit-Queue: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#535634}
[modify] https://crrev.com/d1809bb40a31f4488cdcc4a8b19e40af2860d7db/ui/ozone/platform/drm/gpu/drm_device.cc
[modify] https://crrev.com/d1809bb40a31f4488cdcc4a8b19e40af2860d7db/ui/ozone/platform/drm/gpu/drm_device.h
[modify] https://crrev.com/d1809bb40a31f4488cdcc4a8b19e40af2860d7db/ui/ozone/platform/drm/gpu/gbm_buffer.cc
[modify] https://crrev.com/d1809bb40a31f4488cdcc4a8b19e40af2860d7db/ui/ozone/platform/drm/gpu/gbm_buffer.h

This should be fixed on master, just waiting to land CL:907963 now for M65.
Project Member

Comment 22 by bugdroid1@chromium.org, Feb 9 2018

Labels: -merge-approved-65 merge-merged-3325
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9f9aae55f8a478d45c1938050ede928d37d0fa65

commit 9f9aae55f8a478d45c1938050ede928d37d0fa65
Author: Kristian H. Kristensen <hoegsberg@chromium.org>
Date: Fri Feb 09 21:46:46 2018

ozone/drm: Always export format modifiers

We tried to be careful to only export modifiers if we knew we'd be
able to import them again. That is, if we could pass modifiers to
addfb2. It turns out, Tegra requires modifiers for eglCreateImageKHR
to correctly import dma-bufs, but Tegra KMS doesn't support modifiers.
Instead, let's always export modifiers, but only try to create a KMS
framebuffer with modifiers if the kernel says it supports it.

Bug: 809670,  809666 
Change-Id: I065498ee5da2b53ec9577a3c9c8099c9f0fe1aab
Reviewed-on: https://chromium-review.googlesource.com/907756
Commit-Queue: Kristian H. Kristensen <hoegsberg@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#535450}(cherry picked from commit 2155337fde83ed15fbd4a92cb286a0fc9a36f4ba)
Reviewed-on: https://chromium-review.googlesource.com/907963
Reviewed-by: David Reveman <reveman@chromium.org>
Cr-Commit-Position: refs/branch-heads/3325@{#414}
Cr-Branched-From: bc084a8b5afa3744a74927344e304c02ae54189f-refs/heads/master@{#530369}
[modify] https://crrev.com/9f9aae55f8a478d45c1938050ede928d37d0fa65/ui/ozone/platform/drm/gpu/drm_device.cc
[modify] https://crrev.com/9f9aae55f8a478d45c1938050ede928d37d0fa65/ui/ozone/platform/drm/gpu/drm_device.h
[modify] https://crrev.com/9f9aae55f8a478d45c1938050ede928d37d0fa65/ui/ozone/platform/drm/gpu/gbm_buffer.cc
[modify] https://crrev.com/9f9aae55f8a478d45c1938050ede928d37d0fa65/ui/ozone/platform/drm/gpu/gbm_buffer.h

I don't know which exact Chrome build that refers to but I tested 10389.0.0 which has Chrome 66.0.3343.0. That version of Chrome doesn't have CL:907756 yet (or the revert or reland).

Also, the original fix is in tags:

$ git tag --contains 2155337fde83ed15fbd4a92cb286a0fc9a36f4ba
66.0.3344.0
66.0.3344.1
66.0.3344.2

but so is the revert (efb862057e4d810056df15b0cc83ac4a2a9bf278) so those tags won't work either. The reland (d1809bb40a31f4488cdcc4a8b19e40af2860d7db) doesn't appear in any tags yet, as far as I can see.
The chrome version with this failure CQ is chromeos-chrome-66.0.3343.0_rc-r1 I think.

https://logs.chromium.org/v/?s=chromeos%2Fbb%2Fchromeos%2Fnyan_kitty-paladin%2F4322%2F%2B%2Frecipes%2Fsteps%2FSimpleChromeArtifacts%2F0%2Fstdout

I just know that it's chrome CLs. ChromeOS may need to wait for it to passes chrome PFQ first, then can obtain this fix.
Issue 811631 has been merged into this issue.
Mergedinto: 809670
Status: Duplicate (was: Untriaged)
As described in https://bugs.chromium.org/p/chromium/issues/detail?id=809670#c26 it's taken a while for ToT to integrate the right Chrome build that fixes the CQ.

All green builds here,

  https://uberchromegw.corp.google.com/i/chromeos/builders/nyan_kitty-paladin

closing this bug.

Sign in to add a comment