<?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: How to direct a simple graphics application to a different framebuffer?</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/How-to-direct-a-simple-graphics-application-to-a-different/m-p/391234#M57015</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Send your post to imx community (e.g. &lt;A _jive_internal="true" class="jivecontainerTT-hover-container jive-link-community-small" data-containerid="1" data-containertype="14" data-objectid="2004" data-objecttype="14" href="https://community.nxp.com/community/imx"&gt;i.MX Community&lt;/A&gt; ) to get it visible for active members.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 18 Mar 2015 13:04:15 GMT</pubDate>
    <dc:creator>saurabh206</dc:creator>
    <dc:date>2015-03-18T13:04:15Z</dc:date>
    <item>
      <title>How to direct a simple graphics application to a different framebuffer?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-direct-a-simple-graphics-application-to-a-different/m-p/391233#M57014</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;I am using a simple graphics application VertexColors.c in gpu_sdk_v1.00 from freescale. It has main(), init(),render(),resize() as the function blocks. and the flow of calls is like &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1.main() =&amp;gt; init() (i.e. main() is calling init())&lt;/P&gt;&lt;P&gt;2.init() =&amp;gt; resize()&lt;/P&gt;&lt;P&gt;3.after init(), main() =&amp;gt; render()&lt;/P&gt;&lt;P&gt;and then&amp;nbsp; eglSwapBuffers(egldisplay, eglsurface) is called.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And now to direct it to /dev/fb1 i assume i have to include:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int fd_fb,result;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Applying color key&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct mxcfb_color_key color_key;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; color_key.color_key = 0x0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; color_key.enable = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((fd_fb = open("/dev/fb1", O_RDWR, 0)) &amp;lt; 0)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( ioctl(fd_fb, MXCFB_SET_CLR_KEY, &amp;amp;color_key) &amp;lt; 0) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Error in applying Color Key\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct mxcfb_loc_alpha loc_alpha;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioctl(fd_fb, FBIOBLANK, FB_BLANK_NORMAL);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loc_alpha.enable = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loc_alpha.alpha_in_pixel = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = ioctl(fd_fb, MXCFB_SET_LOC_ALPHA, &amp;amp;loc_alpha);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (result &amp;lt; 0)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("fb ioctl MXCFB_SET_LOC_ALPHA fail\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //goto err1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioctl(fd_fb, MXCFB_WAIT_FOR_VSYNC, 0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioctl(fd_fb, FBIOBLANK, FB_BLANK_UNBLANK);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; close(fd_fb);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please correct me if i am wrong or if i am missing any details. But, i wonder where to include this piece of code in the given application.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;P&gt;Sudlin&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Mar 2015 10:30:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-direct-a-simple-graphics-application-to-a-different/m-p/391233#M57014</guid>
      <dc:creator>sudiptasubudhi</dc:creator>
      <dc:date>2015-03-18T10:30:23Z</dc:date>
    </item>
    <item>
      <title>Re: How to direct a simple graphics application to a different framebuffer?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-direct-a-simple-graphics-application-to-a-different/m-p/391234#M57015</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Send your post to imx community (e.g. &lt;A _jive_internal="true" class="jivecontainerTT-hover-container jive-link-community-small" data-containerid="1" data-containertype="14" data-objectid="2004" data-objecttype="14" href="https://community.nxp.com/community/imx"&gt;i.MX Community&lt;/A&gt; ) to get it visible for active members.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Mar 2015 13:04:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-direct-a-simple-graphics-application-to-a-different/m-p/391234#M57015</guid>
      <dc:creator>saurabh206</dc:creator>
      <dc:date>2015-03-18T13:04:15Z</dc:date>
    </item>
    <item>
      <title>Re: How to direct a simple graphics application to a different framebuffer?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-direct-a-simple-graphics-application-to-a-different/m-p/391235#M57016</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Saurabh,&lt;/P&gt;&lt;P&gt;But this discussion is open to everyone. So, is it not visible for active members?&lt;/P&gt;&lt;P&gt;I have posted it. Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 18 Mar 2015 13:34:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-direct-a-simple-graphics-application-to-a-different/m-p/391235#M57016</guid>
      <dc:creator>sudiptasubudhi</dc:creator>
      <dc:date>2015-03-18T13:34:27Z</dc:date>
    </item>
    <item>
      <title>Re: How to direct a simple graphics application to a different framebuffer?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-direct-a-simple-graphics-application-to-a-different/m-p/391236#M57017</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;I know that &lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/Bio_TICFSL"&gt;Bio_TICFSL&lt;/A&gt; will be able to provide more information about this.&lt;/P&gt;&lt;P&gt;As far as I understand each frame buffer is tied to a display. Then I assume you want to display your graphic in a different display.&lt;/P&gt;&lt;P&gt;To do so, you need to enable the different display for example:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;video=mxcfb0:dev=ldb,if=RGB666&lt;/P&gt;&lt;P&gt;video=mxcfb1:dev=hdmi,&lt;/P&gt;&lt;P&gt;1920x1080M@60,if=RGB24&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Used when primarily displaying&lt;/P&gt;&lt;P&gt;on LVDS with XGA mode.&lt;/P&gt;&lt;P&gt;Secondarily displaying on HDMI&lt;/P&gt;&lt;P&gt;with 1080P60 mode&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And&amp;nbsp; DISPLAY evironment variable should be different than 0.0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also as far as I understand using openGL you should not worry about the fb driver.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Bio_TICFSL if I am mistaken please let me know, do you have something else you can share?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Alejandro&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Mar 2015 15:31:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-direct-a-simple-graphics-application-to-a-different/m-p/391236#M57017</guid>
      <dc:creator>alejandrolozan1</dc:creator>
      <dc:date>2015-03-30T15:31:46Z</dc:date>
    </item>
    <item>
      <title>Re: How to direct a simple graphics application to a different framebuffer?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-direct-a-simple-graphics-application-to-a-different/m-p/391237#M57018</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/alejandrolozano"&gt;alejandrolozano&lt;/A&gt; you are correct.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 30 Mar 2015 15:46:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-direct-a-simple-graphics-application-to-a-different/m-p/391237#M57018</guid>
      <dc:creator>Bio_TICFSL</dc:creator>
      <dc:date>2015-03-30T15:46:14Z</dc:date>
    </item>
    <item>
      <title>Re: How to direct a simple graphics application to a different framebuffer?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-direct-a-simple-graphics-application-to-a-different/m-p/391238#M57019</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;Thanks Alejandro for your reply.&lt;/P&gt;&lt;P&gt;My problem is actually different than what you sensed from my Title.&lt;/P&gt;&lt;P&gt;I have to display the graphics on /dev/fb1 and a camera streaming on the background i.e. on /dev/fb0 at the same time (overlay on top of one another).&lt;/P&gt;&lt;P&gt;I am using lvds for display.so,parameters i am using are&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12px; background-color: #f6f6f6;"&gt;video=mxcfb0:dev=ldb,if=RGB666.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12px; background-color: #f6f6f6;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12px; background-color: #f6f6f6;"&gt;Inside main(), i suppose i have to include both gstreamer APIs for camera streaming and graphics APIs for drawing .&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12px; background-color: #f6f6f6;"&gt;************************************************************************************************************&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12px; background-color: #f6f6f6;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12px; background-color: #f6f6f6;"&gt;////////////////******Graphics APIs for drawing onto /dev/fb1**********//////////////////&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;int main(int argc, char** argv)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Lesson 03 \n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int fd_fb,result;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Applying color key&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct mxcfb_color_key color_key;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; color_key.color_key = 0x0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; color_key.enable = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ((fd_fb = open("/dev/fb1", O_RDWR, 0)) &amp;lt; 0)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( ioctl(fd_fb, MXCFB_SET_CLR_KEY, &amp;amp;color_key) &amp;lt; 0) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("Error in applying Color Key\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct mxcfb_loc_alpha loc_alpha;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioctl(fd_fb, FBIOBLANK, FB_BLANK_NORMAL);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loc_alpha.enable = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; loc_alpha.alpha_in_pixel = 1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; result = ioctl(fd_fb, MXCFB_SET_LOC_ALPHA, &amp;amp;loc_alpha);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (result &amp;lt; 0)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; printf("fb ioctl MXCFB_SET_LOC_ALPHA fail\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //goto err1;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioctl(fd_fb, MXCFB_WAIT_FOR_VSYNC, 0);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ioctl(fd_fb, FBIOBLANK, FB_BLANK_UNBLANK);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; close(fd_fb);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; signal(SIGINT, sighandler);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; signal(SIGTERM, sighandler);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; assert( init() );&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (!quit)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; render();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; eglSwapBuffers(egldisplay, eglsurface);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; deinit();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 1;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;**********************************************************************************************&lt;/P&gt;&lt;P&gt;/////////////////////************Gstreamer APIs for video streaming onto /dev/fb0**********//////////////&lt;/P&gt;&lt;P&gt;GstElement *pipeline, *source, *sink;&lt;/P&gt;&lt;P&gt;&amp;nbsp; GstBus *bus;&lt;/P&gt;&lt;P&gt;&amp;nbsp; GstMessage *msg;&lt;/P&gt;&lt;P&gt;&amp;nbsp; GstStateChangeReturn ret;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* Initialize GStreamer */&lt;/P&gt;&lt;P&gt;&amp;nbsp; gst_init (&amp;amp;argc, &amp;amp;argv);&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* Create the elements */&lt;/P&gt;&lt;P&gt;&amp;nbsp; source = gst_element_factory_make ("mfw_v4lsrc", "source");&lt;/P&gt;&lt;P&gt;&amp;nbsp; sink = gst_element_factory_make ("mfw_v4lsink", "sink");&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* Create the empty pipeline */&lt;/P&gt;&lt;P&gt;&amp;nbsp; pipeline = gst_pipeline_new ("test-pipeline");&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (!pipeline || !source || !sink) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; g_printerr ("Not all elements could be created.\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return -1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* Build the pipeline */&lt;/P&gt;&lt;P&gt;&amp;nbsp; gst_bin_add_many (GST_BIN (pipeline), source, sink, NULL);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (gst_element_link (source, sink) != TRUE) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; g_printerr ("Elements could not be linked.\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gst_object_unref (pipeline);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return -1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* Modify the source's properties */&lt;/P&gt;&lt;P&gt;&amp;nbsp; g_object_set (source, "device", "/dev/video2", NULL);&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* Start playing */&lt;/P&gt;&lt;P&gt;&amp;nbsp; ret = gst_element_set_state (pipeline, GST_STATE_PLAYING);&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (ret == GST_STATE_CHANGE_FAILURE) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; g_printerr ("Unable to set the pipeline to the playing state.\n");&lt;/P&gt;&lt;P&gt;gst_object_unref (pipeline);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return -1;&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* Wait until error or EOS */&lt;/P&gt;&lt;P&gt;&amp;nbsp; bus = gst_element_get_bus (pipeline);&lt;/P&gt;&lt;P&gt;&amp;nbsp; msg = gst_bus_timed_pop_filtered (bus, GST_CLOCK_TIME_NONE, GST_MESSAGE_ERROR | GST_MESSAGE_EOS);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* Parse message */&lt;/P&gt;&lt;P&gt;&amp;nbsp; if (msg != NULL) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GError *err;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gchar *debug_info;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch (GST_MESSAGE_TYPE (msg)) {&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case GST_MESSAGE_ERROR:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; gst_message_parse_error (msg, &amp;amp;err, &amp;amp;debug_info);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g_printerr ("Error received from element %s: %s\n", GST_OBJECT_NAME (msg-&amp;gt;src), err-&amp;gt;message);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g_printerr ("Debugging information: %s\n", debug_info ? debug_info : "none");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g_clear_error (&amp;amp;err);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g_free (debug_info);&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case GST_MESSAGE_EOS:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g_print ("End-Of-Stream reached.\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; default:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* We should not reach here because we only asked for ERRORs and EOS */&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; g_printerr ("Unexpected message received.\n");&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; gst_message_unref (msg);&lt;/P&gt;&lt;P&gt;&amp;nbsp; }&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* Free resources */&lt;/P&gt;&lt;P&gt;&amp;nbsp; gst_object_unref (bus);&lt;/P&gt;&lt;P&gt;&amp;nbsp; gst_element_set_state (pipeline, GST_STATE_NULL);&lt;/P&gt;&lt;P&gt;&amp;nbsp; gst_object_unref (pipeline);&lt;/P&gt;&lt;P&gt;&amp;nbsp; return 0;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;*********************************************************************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, will both of them directed to their respective framebuffers and overlayed if i incude them in main( ) or will i have to do some modifications&amp;nbsp; in the code to achieve this?&lt;/P&gt;&lt;P&gt;And is there any way to verify which framebuffer is being used while an applcation is running?&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12px; background-color: #f6f6f6;"&gt;It would be highly appreciable if you help me regarding this.&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12px; background-color: #f6f6f6;"&gt;With regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #3d3d3d; font-family: 'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif; font-size: 12px; background-color: #f6f6f6;"&gt;Sudlin&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Apr 2015 09:52:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-direct-a-simple-graphics-application-to-a-different/m-p/391238#M57019</guid>
      <dc:creator>sudiptasubudhi</dc:creator>
      <dc:date>2015-04-06T09:52:27Z</dc:date>
    </item>
    <item>
      <title>Re: How to direct a simple graphics application to a different framebuffer?</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/How-to-direct-a-simple-graphics-application-to-a-different/m-p/391239#M57020</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This application uses EGL&amp;nbsp; APIs to display the graphics.&lt;/P&gt;&lt;P&gt;I went through the following freescale thread&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/thread/297663"&gt;https://community.freescale.com/thread/297663&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and changed the parameter to "1" to display it on /dev/fb1 but after compiling the code, the graphics is not displayed on the screen unlike it normally works fine on /dev/fb0.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Apr 2015 09:05:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/How-to-direct-a-simple-graphics-application-to-a-different/m-p/391239#M57020</guid>
      <dc:creator>sudiptasubudhi</dc:creator>
      <dc:date>2015-04-16T09:05:02Z</dc:date>
    </item>
  </channel>
</rss>

