6 Replies Latest reply on Nov 7, 2013 12:08 PM by Kirk

    Access to Framebuffer Device on EMGD

    Community Member

      I am using Atom E680 with EG20T on a custom board. OS is Timesys Fedora 14 remix. I have installed EMGD 1.16 which greatly increased performance of the X Window System. After that I tried to use the framebuffer driver via /dev/fb0, but I do not get access. Does EMGD do not support framebuffer device driver? Is somesthing wrong with my EMGD config?

       

      Josef Kohler

        • Re: Access to Framebuffer Device on EMGD
          Community Member

          Hi Josef,

           

          You need to use the vesafb driver to get a frame buffer device. Use something like:

           

          video=vesafb vga=0x318

           

          on the kernel command line to configure it.

           

          Marc

          • Re: Access to Framebuffer Device on EMGD
            Kirk Brown Belt

            EMGD needs exclusive access to the framebuffer as we need to allow the graphics engine and CPU to carefully coordinate acceses to the memory.  This is how we accelerate graphics functions.  Frame buffer approaches only work if there is not a second processor (the GPU) accessing the frambuffer to do accelerated graphics handling.  So currently, it can either be fast through X or you have the CPU do everything via direct framebuffer access.

             

            There is a new mechanism being explored called Wayland that looks promising for the future but that is something that would roll out with future drivers for newer CPU/GPU solutions if it is done.

             

            Hope that helps.

              • Re: Access to Framebuffer Device on EMGD
                Community Member

                Thank you Marc and Kirk for the quick response! This was very helpfull, but there is one nother question: If I use vesafb, do I still have access to the Video encoders/decoders of Atom E6xx? 

                1 of 1 people found this helpful
                  • Re: Access to Framebuffer Device on EMGD
                    Kirk Brown Belt

                    Unfortunately the code to manage data to encoder/decoders is in the VAAPI portion of the driver.  All that stuff is very PowerVR specific IP so if you remove the EMGD driver to use a frambuffer driver, you lose all acceleration.

                     

                    My suggestion would be to stay within X and OpenGL/GLes and therefore have acceleration available for 2D, 3D and video.

                     


                      • Re: Access to Framebuffer Device on EMGD
                        Community Member

                        Hello,

                         

                        Sorry for re-opening this thread.

                         

                        If we are using EMGD for opengl and wish to use tslib, which requires fb0 for touchscreen calibration, are we SOL?

                         

                        Do we boot into a non-EMGD configuration to gain access to the framebuffer, calibrate and then boot back?  That would be less elegant than I had hoped.

                         

                        Thank you in advance.

                         

                        Chad

                          • Re: Access to Framebuffer Device on EMGD
                            Kirk Brown Belt

                            Because Intel does not provide touch screen, our information is limited.  The EMGD driver provides full X support and you therefore should pick a touch screen library that does NOT use frame buffer when you are using an X based environment.

                             

                            Looking around a bit, It sees like there are other choices for TS support.  I found this article from IBM:

                            http://www.ibm.com/developerworks/library/l-playscreen/

                             

                            where they talk about what they used being X based:

                            Setting up the touchscreen

                            The first thing is to install the appropriate touchscreen software. For the touchscreen I used, download the software from eGalax (see Resources). I am using the FC3 distribution, so I downloaded the FC3 image. The only modification I had to make was to point the build process to the x86_64 include files for the X server. I did this by putting -I/usr/X11R6/lib64/Server/include in the makefile for the touchkit_drv.o file. The installation is set up for a 32-bit system, so you would need to do this only if you have a strict 64-bit system.

                            Listing 3 shows two lines from the xorg.conf config file. The first line tells the X server to send all the core events to the TKPANEL device as well as the mouse (so both can be used simultaneously). The second says that if no mouse is present, continue to bring up the X display. This way, the touchscreen can be used without a mouse connected to the system.

                             

                            Hope this helps.