mx53 GPU/OpenGL ES on mainline kernel

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

mx53 GPU/OpenGL ES on mainline kernel

1,133 Views
alexeym
Contributor III

Hello there!

Is it possible to achieve hardware acceleration on Linux with mainline kernel?

Linux 2.6.35_maintain branch looks too outdated I'm using current mainline kernel with device tree and everything goes fine but GPU.

I'm currently trying to port amd-gpu driver from 2.6.38_android to current kernel, but no luck yet.

I also know about freedreno project but its not supporting mx53's gpu yet.

Labels (3)
0 Kudos
2 Replies

608 Views
TomE
Specialist II

> Linux 2.6.35_maintain branch looks too outdated

What's "looks" got to do with it? Do you know of any specific features that it lacks that only exists in the newer kernels?

Otherwise, it is your only choice. Actually it isn't. You shouldn't be starting a project with an i.MX53 in 2016. You should start again with an i.MX6, That is supported by a newer version of Linux. The i.MX6 variants that are the same power as the i.MX53 are cheaper, and the more capable ones have multiple cores (if you want), double the bus width and a floating point unit that is 10 times as fast.

> I'm using current mainline kernel with device tree and everything goes fine but GPU.

I haven't seen a photo of the CPU chip, but I'd guess something like half the silicon is unsupported by the mainstream. And it seems it never will be. Any support that is being added is for the i.MX6 series, and they're different enough that the code I've seen is incompatible with the i.MX5.

One problem is the GPU/Video API keeps changing fairly wildly between different versions of Linux. So any working code has to be continuously rewritten to keep up with "the next big thing", or "the latest way to do it".

You can't do that and actually get products to market (in any reasonable time) which is why Freescale supports the chip the way they do.

So the Mainstream gets you no GPU, no real IPU support, and that means no Video Input and a crippled Frame Buffer. That means it can't act like a phone with a camera and viewfinder. Or a Reversing Camera monitor.

We were using the 3.4 kernel, but had a requirement for a reverse-view camera. We tried looking for a "modern, mainline-based" solution and found lots of "development trees" out there that seemed to be what we needed, but turned out to be a waste of time. So we had to go back to Freescale's 2.6.35_maintain code.

Which is vanilla 2.6.35 plus about 1,200 patches that are basically there to add a working "platform" layer and to add all the drivers.

Except the Ethernet port doesn't support IPV6, the CAN drivers don't work properly, the PWM glitches, SPI locks up and the 200 or so port pins have their drive strength and pullup settings corrupted. The last "Maintenance" on this branch was done in 2013. I've been dropping patches here:

Submit i.MX53 & i.MX28 Linux kernel patches

> I'm currently trying to port amd-gpu driver from 2.6.38_android to current kernel, but no luck yet

That\s a very close cousin of 2.6.35, but needs slightly less patches (400 or 900 or some number like that). You'd be better off with trying to use 2.6.38 directly. At least the CAN driver works on that one. The "hardest part" is getting the old-fashioned platform layer working - setting up the ports and drivers to support your hardware. At least it is easier to understand than the ongoing (and continuously changing) Device Tree versions.

Tom

0 Kudos

608 Views
igorpadykov
NXP Employee
NXP Employee

Hi alexeym

unfortunately not, latest gpu drivers are available for

Linux 2.6.35 from i.MX53 product page.

i.MX53 Quick Start Board|NXP

Best regards

igor

-----------------------------------------------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer button. Thank you!

-----------------------------------------------------------------------------------------------------------------------

0 Kudos