drm_hwcomposer moving to fd.o

Chih-Wei Huang cwhuang at android-x86.org
Thu Sep 28 06:49:01 UTC 2017


2017-09-26 13:26 GMT+08:00 Daniel Vetter <daniel at ffwll.ch>:
> 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 at collabora.com>:
>> >> 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.


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);


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

Full log:
https://drive.google.com/open?id=0B3GICgSwrKXcci1lbDdaSlJBRE0


Shall I create bugs in the Bugzilla?


More information about the dri-devel mailing list