<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX ProcessorsのトピックRe: Two displays framebuffer</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Two-displays-framebuffer/m-p/420456#M63397</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your answer! I still can't get the desired output... Maybe if I specify exactly my needs&lt;/P&gt;&lt;P&gt;you can help defining the correct values for the environment vars. I need&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;output /dev/fb2 : mode 1280x720. Opengl rectangle [x=0,y=0,w=1280,h=720] &lt;/P&gt;&lt;P&gt;output /dev/fb0 : mode 1280x720. Opengl rectangle [x=0,y=720,w=1280,h=720]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;then the total opengl rectangle is [0,0,1280,1440]. You can imagine fb2 above fb0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've set&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;export FB_MULTI_BUFFER=2&lt;/P&gt;&lt;P&gt;export FB_IGNORE_DISPLAY_SIZE=1&lt;/P&gt;&lt;P&gt;export FB_FRAMEBUFFER_0=/dev/fb2&lt;/P&gt;&lt;P&gt;export FB_FRAMEBUFFER_1=/dev/fb0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but all the scene is drawn in the same framebuffer, the FB_FRAMEBUFFER_0...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 17 Jul 2015 14:36:42 GMT</pubDate>
    <dc:creator>_andev_</dc:creator>
    <dc:date>2015-07-17T14:36:42Z</dc:date>
    <item>
      <title>Two displays framebuffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Two-displays-framebuffer/m-p/420454#M63395</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've a custom iMX6 board with two display outputs. The display output is not cloned. I&lt;/P&gt;&lt;P&gt;would like to have a 1280x1440 framebuffer (from 2 1280x720 outputs). Using Wayland&lt;/P&gt;&lt;P&gt;I get it. I can run weston with:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;weston --tty=1 --use-gal2d=1 --use-gl=0 --device=/dev/fb2,/dev/fb0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and I have an extended desktop using /dev/fb0 and /dev/fb0. Then I've modified the&lt;/P&gt;&lt;P&gt;'weston-simple-egl' demo app to use a 1280x1408 window and I get an EGL/OpenGL ES&lt;/P&gt;&lt;P&gt;app running but in window mode&amp;nbsp; (no fullscreen allowed!)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is it possible to get the same without Wayland? I would like to run an EGL/OpenGL ES&lt;/P&gt;&lt;P&gt;application in framebuffer mode in a 1280x1440 window.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any comment is welcome!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Jul 2015 07:52:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Two-displays-framebuffer/m-p/420454#M63395</guid>
      <dc:creator>_andev_</dc:creator>
      <dc:date>2015-07-17T07:52:50Z</dc:date>
    </item>
    <item>
      <title>Re: Two displays framebuffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Two-displays-framebuffer/m-p/420455#M63396</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you like to get two outpout fb with the same context, you have to use multiple-buffer rendering, set the environment variable FB_MULTI_BUFFER to an unsigned integer value, which indicates the number of buffers required. Recommended values: 2 or 3 The FB_MULTI_BUFFER variable can be set to any positive integer value. ??If set to 1, the multiple buffer function is not enabled. ??If set to 2 or 3, the driver will run as users expect. ??If set to a value more than 3, the driver will use 3 as the buffer count.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To create a window with its size different from the display size, use the environment variable FB_IGNORE_DISPLAY_SIZE. Example usage syntax: export FB_IGNORE_DISPLAY_SIZE=1 To let the driver use multiple buffers to do swap work, use the environment variable FB_MULTI_BUFFER. Example usage syntax: export FB_MULTI_BUFFER=2&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To specify the display device, use the environment variable FB_FRAMEBUFFER_n, where n = any positive integer. Example usage syntax: export FB_FRAMEBUFFER_0=/dev/fb0 export FB_FRAMEBUFFER_1=/dev/fb1 export FB_FRAMEBUFFER_2=/dev/fb2 export FB_FRAMEBUFFER_3=/dev/fb3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope this helps&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Jul 2015 13:22:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Two-displays-framebuffer/m-p/420455#M63396</guid>
      <dc:creator>Bio_TICFSL</dc:creator>
      <dc:date>2015-07-17T13:22:08Z</dc:date>
    </item>
    <item>
      <title>Re: Two displays framebuffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Two-displays-framebuffer/m-p/420456#M63397</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for your answer! I still can't get the desired output... Maybe if I specify exactly my needs&lt;/P&gt;&lt;P&gt;you can help defining the correct values for the environment vars. I need&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;output /dev/fb2 : mode 1280x720. Opengl rectangle [x=0,y=0,w=1280,h=720] &lt;/P&gt;&lt;P&gt;output /dev/fb0 : mode 1280x720. Opengl rectangle [x=0,y=720,w=1280,h=720]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;then the total opengl rectangle is [0,0,1280,1440]. You can imagine fb2 above fb0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've set&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;export FB_MULTI_BUFFER=2&lt;/P&gt;&lt;P&gt;export FB_IGNORE_DISPLAY_SIZE=1&lt;/P&gt;&lt;P&gt;export FB_FRAMEBUFFER_0=/dev/fb2&lt;/P&gt;&lt;P&gt;export FB_FRAMEBUFFER_1=/dev/fb0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;but all the scene is drawn in the same framebuffer, the FB_FRAMEBUFFER_0...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Jul 2015 14:36:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Two-displays-framebuffer/m-p/420456#M63397</guid>
      <dc:creator>_andev_</dc:creator>
      <dc:date>2015-07-17T14:36:42Z</dc:date>
    </item>
    <item>
      <title>Re: Two displays framebuffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Two-displays-framebuffer/m-p/420457#M63398</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;And a little question: The code has to be modified? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This is the code fragment where I create the EGL window:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static int init_egl( int w, int h, int bpp )&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp; typedef NativeDisplayType EGLNativeDisplayType;&lt;/P&gt;&lt;P&gt;&amp;nbsp; typedef NativeWindowType EGLNativeWindowType;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; //EGLint&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; disp_w, disp_h;&lt;/P&gt;&lt;P&gt;&amp;nbsp; int maj, min;&lt;/P&gt;&lt;P&gt;&amp;nbsp; EGLNativeDisplayType disp_type;&lt;/P&gt;&lt;P&gt;&amp;nbsp; EGLNativeWindowType&amp;nbsp; window;&lt;/P&gt;&lt;P&gt;&amp;nbsp; EGLConfig&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cfgs[2];&lt;/P&gt;&lt;P&gt;&amp;nbsp; EGLint&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; n_cfgs;&lt;/P&gt;&lt;P&gt;&amp;nbsp; EGLint&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; egl_attr[] = {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EGL_BUFFER_SIZE, EGL_DONT_CARE,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EGL_RED_SIZE,&amp;nbsp;&amp;nbsp;&amp;nbsp; 8,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EGL_GREEN_SIZE,&amp;nbsp; 8,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EGL_BLUE_SIZE,&amp;nbsp;&amp;nbsp; 8,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EGL_DEPTH_SIZE,&amp;nbsp; 8,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EGL_NONE };&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; struct {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EGLint render_buffer[2];&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; EGLint none;&lt;/P&gt;&lt;P&gt;&amp;nbsp; } egl_surf_attr = {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* double-buffering */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .render_buffer = { EGL_RENDER_BUFFER, EGL_BACK_BUFFER },&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* End of list */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .none = EGL_NONE&lt;/P&gt;&lt;P&gt;&amp;nbsp; };&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; disp_type = (EGLNativeDisplayType)EGL_DEFAULT_DISPLAY;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; dpy = eglGetDisplay(disp_type);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (eglInitialize(dpy, &amp;amp;maj, &amp;amp;min) != EGL_TRUE) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("eglInitialize\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (eglGetConfigs(dpy, cfgs, 2, &amp;amp;n_cfgs) != EGL_TRUE) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("eglGetConfigs\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; goto cleanup;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; if (eglChooseConfig(dpy, egl_attr, cfgs, 2, &amp;amp;n_cfgs) != EGL_TRUE) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("eglChooseConfig\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; goto cleanup;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; disp_type = fbGetDisplay(NULL);&lt;/P&gt;&lt;P&gt;&amp;nbsp; window&amp;nbsp; = fbCreateWindow(disp_type, 0, 1, w, h);&lt;/P&gt;&lt;P&gt;&amp;nbsp; surface = eglCreateWindowSurface(dpy, cfgs[0], window, /*(EGLint*)&amp;amp;egl_surf_attr*/NULL);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (surface == EGL_NO_SURFACE) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("eglCreateWindowSurface\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; goto cleanup;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; context = eglCreateContext(dpy, cfgs[0], EGL_NO_CONTEXT, NULL);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (context == EGL_NO_CONTEXT) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("eglCreateContext\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; goto cleanup;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (eglMakeCurrent(dpy, surface, surface, context) != EGL_TRUE) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("eglMakeCurrent\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; goto cleanup;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&amp;nbsp; return 1;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;cleanup:&lt;/P&gt;&lt;P&gt;&amp;nbsp; deinit_egl();&lt;/P&gt;&lt;P&gt;&amp;nbsp; return 0;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 17 Jul 2015 15:14:19 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Two-displays-framebuffer/m-p/420457#M63398</guid>
      <dc:creator>_andev_</dc:creator>
      <dc:date>2015-07-17T15:14:19Z</dc:date>
    </item>
    <item>
      <title>Re: Two displays framebuffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Two-displays-framebuffer/m-p/420458#M63399</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Anonymous,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I do not see any incongruence in your EGL code, but I have tested extended desktop with X11 and Wayland and,&amp;nbsp; full Screen is not supported, I am afraid that FB wont be able to do this task without window context manager.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jul 2015 14:56:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Two-displays-framebuffer/m-p/420458#M63399</guid>
      <dc:creator>Bio_TICFSL</dc:creator>
      <dc:date>2015-07-21T14:56:15Z</dc:date>
    </item>
    <item>
      <title>Re: Two displays framebuffer</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Two-displays-framebuffer/m-p/420459#M63400</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then, if I understand you correctly, the only way to get extended desktop is X11 and Wayland, isn't it?&lt;/P&gt;&lt;P&gt;Fullscreen in wayland for extended desktop is planned?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jul 2015 15:19:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Two-displays-framebuffer/m-p/420459#M63400</guid>
      <dc:creator>_andev_</dc:creator>
      <dc:date>2015-07-21T15:19:17Z</dc:date>
    </item>
  </channel>
</rss>

