How does linux plumb graphics drivers to an app

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How does linux plumb graphics drivers to an app

Jump to solution
1,136 Views
kevin_chaves
Contributor III

Hello,

So we've got a prototype board based on nitrogen6x with a screen that isn't supported by any devkit. The driver is in the kernel, and we have a basic framebuffer that works for drawing to the screen.

I'm not really sure what to do next. I'm not familar with linux, none of software developers in our department are familar with linux... and i'm not sure how to get the open gl examples working with our newly created framebuffer. Google is of little help since most basic searches come up with mostly desktop stuff that isn't really relevant.

if any one can explain to me, and act as if i'm a 5 year old, how linux graphic's stack works, what steps i may need to take in order to get my driver hooked up and exposed so that opengl/vivante can use it, or show me your favorite resource that can explain most of this to a 5 year old...

any way, many thanks for any help, its much appreciated.

Labels (2)
0 Kudos
1 Solution
808 Views
ChucoChe
NXP Employee
NXP Employee

So, you don't want to do 3D graphics? If you have a /dev/fbX you can use EGL to draw using OpenGL ES for examples check our GPU SDK.

For tslib, you will only need it if you want to register touch events.

There should be a binary called "ts_test" that you can use to test your touch events. I believe you need to enable FORCE_SINGLE_POINTER_SUPPORT in the driver to make tslib work, since tslib needs a plugin to work with multitouch.

Michel

View solution in original post

0 Kudos
7 Replies
808 Views
karina_valencia
NXP Apps Support
NXP Apps Support
Re: How does linux plumb graphics drivers to an app

Guillermo Michel JimenezEmployee

Hi,

By framebuffer do they mean linux framebuffer or an OS-less framebuffer?

Michel

0 Kudos
808 Views
kevin_chaves
Contributor III

I believe its a linux frame buffer, I can get it working with qws but I'm having some odd difficulties, ts_calibrate fails to draw anything on the screen... unless i change our sysvinit to a busybox init then ts_calibrate can draw on the screen but the touch screen fails.

0 Kudos
808 Views
karina_valencia
NXP Apps Support
NXP Apps Support

ChucoChe can you continue with the follow up on this case?

0 Kudos
808 Views
kevin_chaves
Contributor III

I can try to be less vague, we had a third party do the framebuffer/touch screen work, and i'm completely unaware of how it works or why it works properly in one scenario and not the other. I think with busy box I had mdev enabled by accident.

I'm not sure where my screen info is mounted in /proc or how mdev/udev decide to make a /dev/fbN out of it. So I'm not really sure if all my settings. Any help would be great and if you need any more iformation I'd be happy to provide it. I just got... two weeks to get everything working lol.

0 Kudos
808 Views
kevin_chaves
Contributor III

Ok after some messing around, I don't think this has anything to do with linux or the graphics driver, I think the problem is with tslib. What I'm noticing is the defaults for the sysvinit build and busybox build for tslib change the patches used.

0 Kudos
809 Views
ChucoChe
NXP Employee
NXP Employee

So, you don't want to do 3D graphics? If you have a /dev/fbX you can use EGL to draw using OpenGL ES for examples check our GPU SDK.

For tslib, you will only need it if you want to register touch events.

There should be a binary called "ts_test" that you can use to test your touch events. I believe you need to enable FORCE_SINGLE_POINTER_SUPPORT in the driver to make tslib work, since tslib needs a plugin to work with multitouch.

Michel

0 Kudos
808 Views
kevin_chaves
Contributor III

I do want 3d but its currently not working on our board, i've got an open forum post for that too

Vivante and opengl broken on imx6 board

I'll try using ts_test, I've got patches for ts_lib but depending on which ones I use the screen may work or the touch may work. Although as of yesterday morning they both work, for some mysterious reason... i don't know why.

0 Kudos