This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

HDMI Output Orientation Omap4430

Im Using The LG Cosmo Board the problem is that on Android 4.1.2 the hdmi output is always in potrait mode regardles of device orientation here isthe link to the kernel in use https://github.com/CyanogenMod/lge-kernel-omap4/tree/android-omap-3.0/drivers/video

the hdmi uses /sys/devices/platform/omapdss/overlay3

output size is 646,1080 it should be 1920,1080

im not sure how overlay3 output_size and positions are set

i cannot use echo "0" > /sys/class/graphics/fb0/rotate  nor echo "1" > /sys/devices/omapdss/display1/rotate sysfs changes don't seem to take place is possible to either force hdmi to output in landscape instead of potrait?

is possible to enable settings from sysfs in the kernel somehow?

Thanks any Help would be great George

  • I also need this information if someone has ever heard of that please let us know 

    thanks a lot 

    kenny 

  • Sorry for the delayed answer.

    There is this post that could help,

    http://e2e.ti.com/support/embedded/android/f/509/p/230218/808625.aspx#808625

    I think the solution is last in the post that worked.

  • i tried the methods suggested in the link but still the hdmi output remains in potrait is the a way to set and lock the hdmi in landscape in the kernel perhaps below i did a dumpsys of surfaceflinger which i believe is the cause not sure if this helps the device has a 3d display in Jellybean 3D is disabled could it be that the Cyanogenmod JB Source is using lcd2 layer for hdmi. Could it be an SGX driver issue?

    something weird i use persist.hwc.mirroring.region=0:0:1920:1080 and play a video using hardware decode in potrait mode the video streches beyond 648x1080 i have tried everthing i can think of

    Visible layers (count = 6)
    + Layer 0x41150008 (com.android.systemui.ImageWallpaper)
      Region transparentRegion (this=0x411501e4, count=0)
      Region transparentRegionScreen (this=0x4115003c, count=0)
      Region visibleRegionScreen (this=0x41150018, count=0)
          z=    21010, pos=(-274,0), size=( 960, 800), crop=( 274,   0, 960, 480), isOpaque=1, needsDithering=0, invalidate=0, alpha=0xff, flags=0x00000001, tr=[1.00, 0.00][0.00, 1.00]
          client=0x41e33bc0, identity=3
          format= 2, activeBuffer=[ 960x 800: 960,  2], transform-hint=0x04, queued-frames=0, mRefreshPending=0
                mTexName=-1563003837, mAbandoned=0
                next   : {crop=[0,0,0,0], transform=0x00, current=0}
                -BufferQueue mBufferCount=3, mSynchronousMode=1, default-size=[960x800], mPixelFormat=2, FIFO(0)={}
                >[00] state=ACQUIRED, crop=[0,0,0,0], xform=0x00, time=0x64cb480df, scale=FREEZE, 0x419b8750 [ 960x 800: 960,  2]
                 [01] state=FREE    , crop=[0,0,-1,-1], xform=0x00, time=0, scale=FREEZE
                 [02] state=FREE    , crop=[0,0,-1,-1], xform=0x00, time=0, scale=FREEZE
    + LayerDim 0x41fb2958 (DimSurface)
      Region transparentRegion (this=0x41fb2b34, count=0)
      Region transparentRegionScreen (this=0x41fb298c, count=0)
      Region visibleRegionScreen (this=0x41fb2968, count=0)
          z=    21014, pos=(0,0), size=( 480, 800), crop=(   0,   0,  -1,  -1), isOpaque=0, needsDithering=0, invalidate=0, alpha=0xff, flags=0x00000001, tr=[1.00, 0.00][0.00, 1.00]
          client=0x419b8f48, identity=160
    + Layer 0x4115e008 (jackpal.androidterm/jackpal.androidterm.Term)
      Region transparentRegion (this=0x4115e1e4, count=0)
      Region transparentRegionScreen (this=0x4115e03c, count=0)
      Region visibleRegionScreen (this=0x4115e018, count=1)
        [  0,   0, 480, 800]
          z=    21020, pos=(0,0), size=( 800, 480), crop=(   0,   0, 800, 480), isOpaque=1, needsDithering=0, invalidate=0, alpha=0xff, flags=0x00000000, tr=[1.00, 0.00][0.00, 1.00]
          client=0x41b845d8, identity=903
          format= 1, activeBuffer=[ 480x 800: 480,  5], transform-hint=0x04, queued-frames=0, mRefreshPending=0
                mTexName=193675561, mAbandoned=0
                next   : {crop=[0,0,0,0], transform=0x07, current=1}
                -BufferQueue mBufferCount=3, mSynchronousMode=1, default-size=[800x480], mPixelFormat=5, FIFO(0)={}
                 [00] state=FREE    , crop=[0,0,0,0], xform=0x07, time=0x2b1d7cb6d6f1, scale=FREEZE, 0x41871298 [ 480x 800: 480,  5]
                >[01] state=ACQUIRED, crop=[0,0,0,0], xform=0x07, time=0x2b1d7dc5dac0, scale=FREEZE, 0x428c2d40 [ 480x 800: 480,  5]
                 [02] state=DEQUEUED, crop=[0,0,0,0], xform=0x07, time=0x2b1cf4d9337a, scale=FREEZE, 0x4186fdc0 [ 480x 800: 480,  5]
    + Layer 0x41160008 (InputMethod)
      Region transparentRegion (this=0x411601e4, count=0)
      Region transparentRegionScreen (this=0x4116003c, count=0)
      Region visibleRegionScreen (this=0x41160018, count=1)
        [  0,   0, 442, 800]
          z=    21025, pos=(0,38), size=( 800, 442), crop=(   0,   0, 800, 442), isOpaque=0, needsDithering=0, invalidate=0, alpha=0xff, flags=0x00000000, tr=[1.00, 0.00][0.00, 1.00]
          client=0x418692e0, identity=908
          format= 1, activeBuffer=[ 800x 442: 800,  1], transform-hint=0x04, queued-frames=0, mRefreshPending=0
                mTexName=914556940, mAbandoned=0
                next   : {crop=[0,0,0,0], transform=0x00, current=1}
                -BufferQueue mBufferCount=3, mSynchronousMode=1, default-size=[800x442], mPixelFormat=1, FIFO(0)={}
                 [00] state=FREE    , crop=[0,0,0,0], xform=0x00, time=0x2b1d779d2018, scale=FREEZE, 0x41964690 [ 800x 442: 800,  1]
                >[01] state=ACQUIRED, crop=[0,0,0,0], xform=0x00, time=0x2b1d7dd3d308, scale=FREEZE, 0x41b840f8 [ 800x 442: 800,  1]
                 [02] state=FREE    , crop=[0,0,0,0], xform=0x00, time=0x2b1cfac4edb7, scale=FREEZE, 0x42c141b0 [ 800x 442: 800,  1]
    + LayerDim 0x41d4aad0 (DimAnimator)
      Region transparentRegion (this=0x41d4acac, count=0)
      Region transparentRegionScreen (this=0x41d4ab04, count=0)
      Region visibleRegionScreen (this=0x41d4aae0, count=0)
          z=    21039, pos=(-200,-120), size=(1200, 720), crop=(   0,   0,  -1,  -1), isOpaque=0, needsDithering=0, invalidate=0, alpha=0x00, flags=0x00000001, tr=[1.00, 0.00][0.00, 1.00]
          client=0x419b8f48, identity=6
    + Layer 0x419d7008 (StatusBar)
      Region transparentRegion (this=0x419d71e4, count=0)
      Region transparentRegionScreen (this=0x419d703c, count=0)
      Region visibleRegionScreen (this=0x419d7018, count=1)
        [442,   0, 480, 800]
          z=   151000, pos=(0,0), size=( 800,  38), crop=(   0,   0, 800,  38), isOpaque=0, needsDithering=0, invalidate=0, alpha=0xff, flags=0x00000000, tr=[1.00, 0.00][0.00, 1.00]
          client=0x41e33bc0, identity=2
          format= 1, activeBuffer=[ 800x  38: 800,  1], transform-hint=0x04, queued-frames=0, mRefreshPending=0
                mTexName=1505553220, mAbandoned=0
                next   : {crop=[0,0,0,0], transform=0x00, current=1}
                -BufferQueue mBufferCount=3, mSynchronousMode=1, default-size=[800x38], mPixelFormat=1, FIFO(0)={}
                 [00] state=FREE    , crop=[0,0,0,0], xform=0x00, time=0x2b1d724668d5, scale=FREEZE, 0x41872ca8 [ 800x  38: 800,  1]
                >[01] state=ACQUIRED, crop=[0,0,0,0], xform=0x00, time=0x2b1d7dceb3ba, scale=FREEZE, 0x41870b98 [ 800x  38: 800,  1]
                 [02] state=FREE    , crop=[0,0,0,0], xform=0x00, time=0x2b1d6601862c, scale=FREEZE, 0x419647e0 [ 800x  38: 800,  1]
    Purgatory state (0 entries)
    SurfaceFlinger global state:
    GLES: Imagination Technologies, PowerVR SGX 540, OpenGL ES-CM 1.1
    EGL : 1.4 build 1.8@869593
    EXTS: GL_EXT_debug_marker GL_OES_byte_coordinates GL_OES_fixed_point GL_OES_single_precision GL_OES_matrix_get GL_OES_read_format GL_OES_compressed_paletted_texture GL_OES_point_sprite GL_OES_point_size_array GL_OES_matrix_palette GL_OES_draw_texture GL_OES_query_matrix GL_OES_texture_env_crossbar GL_OES_texture_mirrored_repeat GL_OES_texture_cube_map GL_OES_blend_subtract GL_OES_blend_func_separate GL_OES_blend_equation_separate GL_OES_stencil_wrap GL_OES_extended_matrix_palette GL_OES_framebuffer_object GL_OES_rgb8_rgba8 GL_OES_depth24 GL_OES_stencil8 GL_OES_compressed_ETC1_RGB8_texture GL_OES_mapbuffer GL_OES_EGL_image GL_OES_EGL_image_external GL_EXT_multi_draw_arrays GL_OES_required_internalformat GL_IMG_read_format GL_IMG_texture_compression_pvrtc GL_IMG_texture_format_BGRA8888 GL_EXT_texture_format_BGRA8888 GL_OES_egl_sync GL_IMG_vertex_array_object
      Region WormholeRegion (this=0x4116ace0, count=0)
      orientation=1, canDraw=1
      last eglSwapBuffers() time: 7720.947000 us
      last transaction time     : 0.000000 us
      transaction-flags         : 00000000
      refresh-rate              : 68.000000 fps
      x-dpi                     : 213.894730
      y-dpi                     : 216.170212
      density                   : 1.500000
      eglSwapBuffers time: 0.000000 us
      transaction time: 0.000000 us
    VSYNC state: enabled
      soft-vsync: disabled
      numListeners=10,
      events-delivered: 569300
        0x40e17368: count=0
        0x4115d1c0: count=-2
        0x41aafec0: count=-2
        0x41e33aa0: count=-2
        0x428c12d0: count=-2
        0x42945290: count=-2
        0x429473b8: count=-2
        0x42c14b08: count=-2
        0x45839780: count=-2
        0x4599bcb8: count=-2
    h/w composer state:
      h/w composer present and enabled
    Hardware Composer state:
      mDebugForceFakeVSync=0
      numHwLayers=3, flags=00000000
       type   |  handle  |   hints  |   flags  | tr | blend |  format  |       source crop         |           frame           name
    ----------+----------+----------+----------+----+-------+----------+---------------------------+--------------------------------
           FB | 428c2d40 | 00000000 | 00000000 | 00 | 00100 | 00000005 | [    0,    0,  480,  800] | [    0,    0,  480,  800] jackpal.androidterm/jackpal.androidterm.Term
           FB | 41b840f8 | 00000000 | 00000000 | 04 | 00105 | 00000001 | [    0,    0,  800,  442] | [    0,    0,  442,  800] InputMethod
           FB | 41870b98 | 00000000 | 00000000 | 04 | 00105 | 00000001 | [    0,    0,  800,   38] | [  442,    0,  480,  800] StatusBar
    omap4_hwc 2:
      idle timeout: 250ms
      layer 0:
         enabled:true buff:0x0 480x800 stride:1920
         src:(0,0) 480x800 dst:(0,0) 480x800 ix:0 zorder:0
      layer 1:
         enabled:true buff:0x42946c30 480x800 stride:1920
         src:(0,0) 480x800 dst:(636,0) 648x1080 ix:3 zorder:1

    Allocated buffers:
    0x4186fdc0: 1500.00 KiB |  480 ( 480) x  800 |        5 | 0x00000b00
    0x41870b98:  118.75 KiB |  800 ( 800) x   38 |        1 | 0x00000933
    0x41871298: 1500.00 KiB |  480 ( 480) x  800 |        5 | 0x00000b00
    0x41872ca8:  118.75 KiB |  800 ( 800) x   38 |        1 | 0x00000933
    0x41964690: 1381.25 KiB |  800 ( 800) x  442 |        1 | 0x00000933
    0x419647e0:  118.75 KiB |  800 ( 800) x   38 |        1 | 0x00000933
    0x419b8750: 3000.00 KiB |  960 ( 960) x  800 |        2 | 0x00000933
    0x41b840f8: 1381.25 KiB |  800 ( 800) x  442 |        1 | 0x00000933
    0x428c2d40: 1500.00 KiB |  480 ( 480) x  800 |        5 | 0x00000b00
    0x42c141b0: 1381.25 KiB |  800 ( 800) x  442 |        1 | 0x00000933
    Total allocated (estimate): 12000.00 KB
    IMG Graphics HAL state:
      Dumping all active sync objects..
        ID=2343, 0xP...FHWR=0x00000933, WOP/WOC=0x0/0x0, ROP/ROC=0x2e/0x2e, ROP2/ROC2=0x0/0x0, WOC DevVA=0x0d806fc4, ROC DevVA=0x0d806fcc, ROC2 DevVA=0x0d806fd4
        ID=2342, 0xP...FHWR=0x00000933, WOP/WOC=0x0/0x0, ROP/ROC=0x14/0x14, ROP2/ROC2=0x0/0x0, WOC DevVA=0x0d8058a4, ROC DevVA=0x0d8058ac, ROC2 DevVA=0x0d8058b4
        ID=2341, 0xP...FHWR=0x00000933, WOP/WOC=0x0/0x0, ROP/ROC=0x53/0x53, ROP2/ROC2=0x0/0x0, WOC DevVA=0x0d806d44, ROC DevVA=0x0d806d4c, ROC2 DevVA=0x0d806d54
        ID=2340, 0xP...FHWR=0x00000b00, WOP/WOC=0x14/0x14, ROP/ROC=0x41/0x41, ROP2/ROC2=0x0/0x0, WOC DevVA=0x0d800564, ROC DevVA=0x0d80056c, ROC2 DevVA=0x0d800574
        ID=2339, 0xP...FHWR=0x00000933, WOP/WOC=0x0/0x0, ROP/ROC=0x44/0x44, ROP2/ROC2=0x0/0x0, WOC DevVA=0x0d806fa4, ROC DevVA=0x0d806fac, ROC2 DevVA=0x0d806fb4
        ID=2338, 0xP...FHWR=0x00000b00, WOP/WOC=0x15/0x15, ROP/ROC=0x3a/0x3a, ROP2/ROC2=0x0/0x0, WOC DevVA=0x0d804524, ROC DevVA=0x0d80452c, ROC2 DevVA=0x0d804534
        ID=2337, 0xP...FHWR=0x00000933, WOP/WOC=0x0/0x0, ROP/ROC=0x3f/0x3f, ROP2/ROC2=0x0/0x0, WOC DevVA=0x0d805824, ROC DevVA=0x0d80582c, ROC2 DevVA=0x0d805834
        ID=2336, 0xP...FHWR=0x00000b00, WOP/WOC=0x15/0x15, ROP/ROC=0x4f/0x4f, ROP2/ROC2=0x0/0x0, WOC DevVA=0x0d805704, ROC DevVA=0x0d80570c, ROC2 DevVA=0x0d805714
        ID=2335, 0xP...FHWR=0x00000933, WOP/WOC=0x0/0x0, ROP/ROC=0x4e/0x4e, ROP2/ROC2=0x0/0x0, WOC DevVA=0x0d804fa4, ROC DevVA=0x0d804fac, ROC2 DevVA=0x0d804fb4
        ID=7, 0xP...FHWR=0x00000933, WOP/WOC=0x0/0x0, ROP/ROC=0x1f9b/0x1f9b, ROP2/ROC2=0x0/0x0, WOC DevVA=0x0d800544, ROC DevVA=0x0d80054c, ROC2 DevVA=0x0d800554
        ID=2, 0xP...FHWR=0x00001000, WOP/WOC=0x1aadf/0x1aadf, ROP/ROC=0x0/0x0, ROP2/ROC2=0x1aadf/0x1aade, WOC DevVA=0x0d800044, ROC DevVA=0x0d80004c, ROC2 DevVA=0x0d800054
        ID=1, 0xP...FHWR=0x00001000, WOP/WOC=0x1aade/0x1aade, ROP/ROC=0x0/0x0, ROP2/ROC2=0x1aade/0x1aade, WOC DevVA=0x0d800024, ROC DevVA=0x0d80002c, ROC2 DevVA=0x0d800034