Jump to content

fbtft and fbcp on retrorangepi (armbian 8 3.4.113-sun8i)


Recommended Posts

Posted (edited)

Hello guys!
As I'm trying to build a retrogaming handheld device, I stumbled about a problem concerning the framerate of my LCD display(ili9341). I'm using SPI to communicate with it and I have a hard time getting it to run >25FPS. As a solution I found 2 github repositories which also deal with the given problem. The first thing I tried was BB-CP from bitbank (https://github.com/bitbank2/BB-CP). Everything works pretty well but I can't get it to work in 16bit mode and in 32bit mode I can't get over 18FPS. Whenever I switch the Framebuffer depth to 16bit my screen goes full ham and shows a.) complete wrong colors or b.) just random colored stripes, rectangles or dots. The second thing I tried was a raspberrypi fbcp port for orangepi called Orangepi_FBCP(https://github.com/st4ck/OrangePi_FBCP). As far as I can tell the fbcp port works better considering FPS but the main problem here is that the screen stops working after about maximum 1 min after booting up.
If someone has any thoughts on my problem and could help me with it that would be great. I also appreciate if you can direct me to any other site/forum where I could maybe get some help regarding my problem.

I'm using a OrangePi Zero H2+, an ili9341 screen and retrorangepi 4.1 full.

Thanks in advance

Edited by Drrevan
Posted

Just a shot in the dark, but are you cooling it? I have a Orange Pi 3 that I made for use in my car to broadcast HD radio and was having the CPU throttle until I cooled it a little better.

Posted

Thanks for the reply!
I'm using a 3x3cm cooler to cool it down, and in armbianmonitor it's not going above 60°C so that should be fine I think. :/

Posted

Sending from a temp account (as waiting the 7 days (though I had likes with my other post in the H6).  I won't be able to respond.

 

Did you happen to set the statics in the code in BB-CP (around line 684)?

 

In this issue list, where it looks like the OPi has color bits switched in 16 bit mode (uses an older Kernel RGB pin order, and it causes the bit shift).  This looks like it was not implemented and 32 bit runs at 100% until it overheats.  Just remember that it throttles the cpu at 60c...so that is probably why frame rates drop (a fan may help reduce throttle).

 

Possible Options I see:

-Improve cooling, as I think the governor is on (check your CPU clock speed during the run to verify)

-Editing the 16 bit code to shift bits between the Red and Blue on only pixels that have changed and send those in the BB-CP code. (This could also be endianness while using a 16 bit value in the 32 bit address)

-Use a Display that interprets bit order differently in 16 bit mode.

 

Good Luck!

Posted

I did set the statics and it actually works but it doesn't do great.

As for cooling I have an active fan which actually does a pretty good job I think.
I'll try to implement your second point and will see if I get it to work ^^

Thanks for the suggestions!

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines