Embedded Intel Atom® Processors
Technological Conversations about Intel Atom® Hardware, Software, Firmware, Graphics
1149 Discussions

Access to Framebuffer Device on EMGD

idata
Employee
1,485 Views

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

0 Kudos
6 Replies
mferl
Beginner
531 Views

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

0 Kudos
Kirk_B_Intel
Employee
531 Views

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.

0 Kudos
idata
Employee
531 Views

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?

Kirk_B_Intel
Employee
531 Views

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.

 

0 Kudos
CBish1
Beginner
531 Views

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

0 Kudos
Kirk_B_Intel
Employee
531 Views

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/ 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 http://www.ibm.com/developerworks/library/l-playscreen/# resources 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.

0 Kudos
Reply