Jump to content

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


Drrevan

Recommended Posts

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
Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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!

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines