Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Please add fbtft bgr=1 option #5

Open
yam001 opened this issue Apr 30, 2018 · 9 comments
Open

Please add fbtft bgr=1 option #5

yam001 opened this issue Apr 30, 2018 · 9 comments

Comments

@yam001
Copy link

yam001 commented Apr 30, 2018

All the blue colors are orange in OrangePiZero when using sudo ./bbcp --lcd_led 12 --spi_bus 1. I know that this is an orange pi :-)

Notro's fbtft supports an option bgr=1 to "flip" the blue colors back from orange/red. Without this option the blue colors are all red on the screen. This is what appears to be missing in the bbcp command. Could you please add this option or provide some hints on how to add this? Thanks.

@bitbank2
Copy link
Owner

bitbank2 commented May 1, 2018

I wrote this on an OPIZ & OPI1 and didn't see this issue (on Armbian). Can you describe in detail your setup? OS? Video configuration? Software you're running with BB-CP?

@yam001
Copy link
Author

yam001 commented May 1, 2018

I was running RetroOrangePiZero NTSC 4.1 using a ili9341. This only happens when I do a fbset -depth 16, the colors are correct without this command. Because bbcp was complaining about the screen depth should be 16. Now I think may be the outputs from the program should be ignored as the program ran rather nicely in 32bit depth, except that its constantly using 100% of 1 CPU; OPIZ can only run about 5 minutes in this setup (while playing a video in Kodi under RetroPi) before it reaches 70 degree C and stops working. In an alternate setup without bbcp (also without vdpau), OPIZ would run up to 65-70 degree C and stay there while playing video. I am not sure if RetroPie Kodi is actually using vdpau while playing video as mpv would not run under X (blank screen) in the setup - so vdpau may not be setup properly.

@yam001
Copy link
Author

yam001 commented May 1, 2018

I forgot to mention the program also complained about the frame rate being too fast and I do not know what to do about it as the same hardware setup worked fine under mainline Armbian 4.14.18. I understand RetroOrangePiZero is using 3.4.* legacy.

@bitbank2
Copy link
Owner

bitbank2 commented May 1, 2018

I'll test it here. How do I configure the modern kernel (4.x) Armbian for a 16-bit display?

@yam001
Copy link
Author

yam001 commented May 1, 2018

Please note the issue reported was on RetroOrangePiZero NTSC 4.1 which is legacy 3.4.x. I was just saying the same hardware (including the ili9341 setup) booted Armbian mainline just fine but I have not tested bbcp under mainline.

@yam001
Copy link
Author

yam001 commented May 3, 2018

I solved the thermal issue by moving the setup to a nanopi Neo with the factory heatsink. The temperature would never go above 68 deg C. But I have a different issue bbcp would only work for about 5 minutes when playing video and then the screen freezes and I have to reboot to unfreeze it. I cannot tell whether it is video specific as I do not last that long in a game. Is there any debugging info I can turn on? When the screen freezes, usb sound and ssh still works and htop shows system load about 80% and armbianmonitor shows temp at 65 degree, in other words, the system looked normal.

@bitbank2
Copy link
Owner

bitbank2 commented May 4, 2018

It's possible that the SPI driver is having some internal issue after using it for a while. The BB-CP code doesn't allocate or free memory in each loop. It just copies data from the framebuffer and then sends data through the SPI driver.

@yam001
Copy link
Author

yam001 commented May 4, 2018

Could it be caused by a race condition between bbcp and the video player software like mpv or mplayer? I think I can make the screen freeze by just running mplayer test.mp4 in the console terminal after I exit emulation station.

@bitbank2
Copy link
Owner

bitbank2 commented May 4, 2018

There shouldn't be any race condition possible because there's no resource contention. The framebuffer is just shared memory. The only thing that would make the screen freeze is if something went wrong with the SPI driver or the display was accessed by another program.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants