Running a 60fps web application using a RaspberryPi
github.com
github.com
In the end I have been using a Go web server with websockets to display a single-page app in Firefox running under X. It's still not totally satisfactory though – UI is slow due to the lack of HW acceleration, and there is no nice solution for on-screen keyboards, so I'll probably have to implement one in JS eventually. Touch screen support is sketchy at best.
Are there other similar platforms out there that might offer HW acceleration or working Android implementations? I also had a crack at the Orange Pi which claims to have functioning Android, but… let's say that's an overstatement.
There's also a bunch of OEM options from China (pico pcs / stick pcs) that look like they might do the job but might be overpromising...
Genuine question: where does the obstacle lie here? The BCM2835 is a hardware video accelerator with a small ARM on the side. GPU libraries are available. Is it something missing from X or Firefox?
tldr: full minute to boot X and chromium just to implement simple 20 lines of python application.
Of course you can build an OpenGL ES application on the Pi – there are people doing this. But that's a absolute frigging world away from being able to build a usable UI on it.
For example, I am building a device that interacts with a user. It basically looks like a standard iOS or Android app, in that it has a few screens of text, some form fields, select boxes, and other UI widgets. Building this sort of application as a barebones OpenGL implementation would be stupid.
Using the web with embed system allow new horizons and new people play with this. Of course, we can do applications with OpenGL but the first step can be with a universal environment like a web.
Firstly, do careful due diligence on the SD cards (quality between different vendors/models varies a lot).
Secondly, make sure to move all directories with frequent writes (such as /var/log) to ramdisk. This will increase the life span by a lot.
What do you think is the main variable here - SD card quality? amount of I/O? or is it simply that the Pi is not meant for high availability?
If the answer leans to the latter, what other choices are there? My goals is to find a small computer (very small) that has reliable uptime and can do 1080p video.
As others have mentioned - you could solve this by serving the content from a USB drive, but because Ethernet and USB share a bus, you will essentially halve the speed of each, which is not ideal. If you have the money to spend, I would recommend a different board, but with a dedicated SATA port, so you can use an actual SSD or a regular hard drive for serving content. So....TK1? https://developer.nvidia.com/jetson-tk1
Another alternative is https://www.olimex.com/Products/OLinuXino/A20/A20-OLinuXino-...
It's really hard to find a decently new version of chrome for Arm. Raspbian stable is on an ancient Chrome 22.0 and even testing is only up to 38.0. So I'm excited to try out this method with Qt.