Android 10 - i.MX8MMini - g2d rotation issue

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Android 10 - i.MX8MMini - g2d rotation issue

ソリューションへジャンプ
9,299件の閲覧回数
gary_bisson
Senior Contributor III

Hi,

I've found an issue with the G2D HWC layer on i.MX8M Mini, here is my setup:

- Android 10.0.0-1.0.0 release

- i.MX8M Mini EVK platform

- MIPI display (1280x800 in my case)

- SF_PRIMARY_DISPLAY_ORIENTATION set to 90 (standard AOSP orientation variable)

That last variable changes the default display orientation from landscape to portrait in my case.

When using the default hwcomposer setting ("g2d 2D composition enabled!") rotation fails as you can see in the pictures attached:

- android10-imx8mm-portrait-g2dcompose.png = screencap output, looks correct/expected

- android10-imx8mm-portrait-g2dcompose-real-life.jpg = what I actually get on the screen

Now if I disable g2d hwc ("Opengl ES 3D composition enabled!"), it works as expected, it looks exactly like the screencap picture.

Let me know if you need any other info.

Regards,

Gary

1 解決策
8,373件の閲覧回数
nxf56472
NXP Employee
NXP Employee

Attaching a more recent version of the patches proposed on this post that can help with this issue.

元の投稿で解決策を見る

25 返答(返信)
2,812件の閲覧回数
ChinhLD4
Contributor I

Hi,

The property: SF_PRIMARY_DISPLAY_ORIENTATION is a property set rotation for Primary display, so what is the property set rotation for Sub Display? 

I can't set Sub Display is a portrait

0 件の賞賛
8,374件の閲覧回数
nxf56472
NXP Employee
NXP Employee

Attaching a more recent version of the patches proposed on this post that can help with this issue.

7,390件の閲覧回数
aber
Contributor III

Hi nxf56472

Refer to your patch system to rotate, but the video played under the system does not rotate. Have you encountered this problem?

0 件の賞賛
7,695件の閲覧回数
gary_bisson
Senior Contributor III

Hi,

Thanks, I confirm that it works.

Regards

0 件の賞賛
6,519件の閲覧回数
aber
Contributor III

Hi gary_bisson

    Have you ever tried whether there is a problem with the rotation of the mipi screen when the screen is vertical? Our screen resolution is (800x1280) and the video will not rotate when playing.Tks!

0 件の賞賛
8,000件の閲覧回数
matt_frandsen
Contributor II

Is there any update on an actual fix for this?  I have the same issue and resolved it similarly by hacking the composer, but this is not a robust solution.  NXP is there any updates or a timeline for a resolution for this issue?  Thanks

8,208件の閲覧回数
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi,

"It is framework not pass the rotation information to HWC, no formal way to fix it."    Please use work round method now. Internal team will update if there will be HWC public code introduced the rotation information.

Regards

0 件の賞賛
8,208件の閲覧回数
gary_bisson
Senior Contributor III

Hi,

Thank you for your feedback although I highly doubt this sentence is true as I know for a fact such rotation works fine with HWC from other silicon vendors. Let me know if you want the name of a platform that has HWC working as expected.

Regards,

Gary

8,208件の閲覧回数
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hi,

This is not NXP HWC issue. framework doesn't consider it support in HWC.  there is only a workround to meet this  rotation anywhere request. 

Regards

0 件の賞賛
8,208件の閲覧回数
gary_bisson
Senior Contributor III

Hi,

How come the "framework doesn't consider it support in HWC"? It must be something missing in the HWC declaration.

Can you point to the source code?

Why does it work on HWC of other vendors like Qualcomm?

Regards,

Gary

0 件の賞賛
8,209件の閲覧回数
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello Gary,

I forgot copy the above patch “rotation_anyway_0610.patch.zip”  Can you try it?

Regards

0 件の賞賛
8,209件の閲覧回数
gary_bisson
Senior Contributor III

Hi,

It says "Unauthorized".

Regards,

Gary

0 件の賞賛
8,209件の閲覧回数
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Here is

0 件の賞賛
8,209件の閲覧回数
gary_bisson
Senior Contributor III

Hi,

That is indeed a workaround that works for 1 value. Will NXP integrate such approach for all possibilities (switch case basically)?

Regards,

Gary

0 件の賞賛
8,208件の閲覧回数
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello Gary,

This issue can be reproduced on 8mm-evk + 10.0.0_1.0.0 ga with build in rotation setting.

But with cmd line , it work well.  We will check this issue.

Regards

8,208件の閲覧回数
gary_bisson
Senior Contributor III

Hi,

Do you have any update on this issue?

Thanks,

Gary

0 件の賞賛
8,208件の閲覧回数
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

I found the cause that composer layer should also rotate 90 when build in  SF_PRIMARY_DISPLAY_ORIENTATION=90,

can you try :

 

vendor\nxp-opensource\imx\display\display\Composer.cpp
int Composer::composeLayer(Layer* layer, bool bypass)
{
    if (layer == NULL || mTarget == NULL) {
        ALOGE("composeLayer: invalid layer or target");
        return -EINVAL;
    }
 // test composer rot90  // adding below code 
 layer->transform = 4; 

Regards

0 件の賞賛
8,208件の閲覧回数
gary_bisson
Senior Contributor III

Hi,

I confirm that it fixes part of the problem, but then it breaks the user rotation:

content insert --uri content://settings/system --bind name:s:user_rotation --bind value:i:1

Do you have any timeframe on the proper solution?

Regards,

Gary

0 件の賞賛
8,209件の閲覧回数
Bio_TICFSL
NXP TechSupport
NXP TechSupport

Hello,

it can't  rotate both these two methods. 

if they want to build in rotation , to use this way,  others please use cmd line to ration.

Regards

0 件の賞賛
8,209件の閲覧回数
gary_bisson
Senior Contributor III

Hi,

I'm not sure i understand your reply.

But yes both rotation can happen, the one I'm talking about is the display orientation, that sets the display "default" rotation for a user rotation of 0. But then user can still rotate the display (via accelerometer or content command) that "adds" the rotation to original display orientation. That is how it works for 3G GPU rendering or with hwcomposer of other vendors.

Regards,

Gary

0 件の賞賛