2017-09-28 15:08 GMT+08:00 Daniel Vetter <daniel@xxxxxxxx>: > On Thu, Sep 28, 2017 at 8:49 AM, Chih-Wei Huang <cwhuang@xxxxxxxxxxxxxxx> wrote: >> 2017-09-26 13:26 GMT+08:00 Daniel Vetter <daniel@xxxxxxxx>: >>> On Mon, Sep 25, 2017 at 09:06:55AM +0200, Tomeu Vizoso wrote: >>>> On 09/25/2017 04:44 AM, Chih-Wei Huang wrote: >>>> > Hey Robert, thank you for the reply. >>>> > >>>> > 2017-09-22 23:43 GMT+08:00 Robert Foss <robert.foss@xxxxxxxxxxxxx>: >>>> >> Hey Chih-Wei, >>>> >> On Fri, 2017-09-22 at 10:40 +0800, Chih-Wei Huang wrote: >>>> > >>>> >> The android-ia project has supported using drm_hwcomposer and an >>>> >> alternative hwcomposer, so it would think there should be no issues. >>>> > >>>> > By x86 GPUs, I meant i915(i965)/nouveau/radeon/amdgpu/virgl/vmwgfx. >>>> > Among these only virgl works with the current drm_hwcomposer. >>>> > All the others don't have a ready atomic mode-setting API to use it. >>>> > That's the problem which should be addressed I meant. >>>> >>>> Most if not all of those drivers support the atomic updates API in >>>> mainline (and have for a few releases by now). >>> >>> amdgpu does not (but will once DC has landed, at least when you enable >>> DC). Radeon doesn't, and likely never will. Nouveau is atomic only for >>> nv50+. >> >> Thank you for the clarification. >> >> I have made test with kernel 4.13 + >> gbm_grallc + drm_hwcomposer + mesa 17.1 >> on Android-x86 7.1. >> Except virgl all others just failed as expected. >> >> i915 (i965) was tested in Intel Broxton. >> It's the best result. SurfaceFlinger runs and >> bootanimation is shown. However, after boot >> complete it only shown systemui + navbar with >> black background. No app icons or mouse cursor >> in the desktop. I guess the composition of 3+ >> layers has some problems. > > Could be a bug in either drm_hwcomposer making assumptions that don't > hold, or i915 for implementing stuff wrongly. Would need someone to > debug. Given that we have products shipping on bxt using atomic (CrOS) > I'm leaining towards drm_hwcomposer making bad assumptions. > >> nouveau is tested on GTX 1060. >> drm_hwcomposer init failed so SurfaceFlinger crashed. >> Seems the driver is not atomic: >> >> 09-28 13:21:39.719 3096 3096 E hwc-drm-resources: Failed to set atomic cap -1 >> >> which comes from this line of drmresources.cpp: >> >> ret = drmSetClientCap(fd(), DRM_CLIENT_CAP_ATOMIC, 1); > > nouveau.atomic=1 or you won't get the atomic ioctl. Not sure why it's > not enabled by default for nv50+. If it works, perhaps submit a patch > to change the default? Ah! Thank you for the hint. By setting atomic=1 for nouveau it works. But similar to i965 case, after boot complete it only shows systemui + navbar + black background Besides, it's quite unstable. I tried to do something (move mouse, press some keys) then system_server crashes. Log: https://drive.google.com/open?id=0B3GICgSwrKXcVTJfblY1NGllUXM >> vmwgfx also has issues on drm_hwcomposer >> initialization. SurfaceFlinger didn't crashes but >> no bootanimation. It seems just blocked. >> >> 09-28 04:46:09.043 3389 3389 E hwcomposer-drm: Failed to set active >> config d=1 ret=-19 >> 09-28 04:46:09.043 3389 3389 E hwcomposer-drm: Failed to set initial >> config for d=1 ret=-19 >> 09-28 04:46:09.043 3389 3389 E hwcomposer-drm: Failed to initialize display 1 >> 09-28 04:46:09.043 3389 3389 E hwcomposer-drm: Failed to enumerate >> displays: Unknown error -19 > > Sounds like the vmwgfx implementation of atomic is a big buggy. Bug > filing for this would be good I think. Will do. Thank you! -- Chih-Wei Android-x86 project http://www.android-x86.org _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel