If I want to build my own 3.14 kernel for Firefly/RK3288 devices what do I have to change in the Chromium kernel source to make it bootable?
What is the correct kernel source to use.
Also for Mali GPU GLES acceleration, what files do I need to add/change in the Firefly Ubuntu RFS?
Anyone tried to compile ARM Linux Kodi with OpenGL GLES acceleration for improved video playback?
Are most things working, what isn't working?
Any help would be appreciated.
I would suggest you don't attempt unless your are experienced at kernel development because:
1. There are differences between the Firefly hardware and the Rockchip Chrome OS devices. Therefore you need to understand these differences and debug the kernel when there are problems.
2. The kernel is not complete there are a number of patches which are still in review.
3. The Mali drivers lacks performance because the binaries is old.
4. The state of the VPU support in kernel is unknown and isn't documented.
5. There's no/little documentation for the kernel drivers so you will have dig into the driver code to work out what is going on. You can spend days/weeks on this.
6. You also need to invest some (or considerable) time to understand the Chromium source tree to under what patches are pulled in to build the Chromium rootfs for RK3288 which in it's itself can be time consuming.
Hi there,
is there a chance to get this working for the regular linaro branch (does sound complicated since i dont understand the chromium-sources..).
Yours,
Jonas
"is there a chance to get this working for the regular linaro branch (does sound complicated since i dont understand the chromium-sources..)."
Little chance of that of happening without porting all the patches across. 'linux-rockchip' mainline should hopefully be adding hdmi/vga support so this may help.
I think its going take 1-2 months before you see working Mali drivers for fb/X11 furthermore given these will be the first release of the binaries there may be issues. Its also important to point out that the X11 drivers only accelerate egl/gles content (bettered suited to a full screen application) therefore don't expect a fully accelerated X11 desktop in the near future. This can have a detrimental impact for example running HTML5 code in a browser may still be software rendered which can hinder your applications performance.
jas-rk,
you may know, Rockchip and Chromium OS project does something for VPU too
https://chromium.googlesource.com/chrom ... 4lplugins/
Hi Jas,
Since I'm not that much interested in desktop applications this wouldn't be to hard for me. But since this claims to be a development-board, working drivers should at least be nothing one has to search for...
Yours
Jonas
Hi Jonas,
Unfortunately as of today in my opinion Firefly is a 'Android' development board. Like most of the ARM boards Linux software support intends to rely on a community effort which in turn relies on good co-operation from the SOC vendor (especially for CPU/VPU support). Historically the Chinese SOC vendors (AllWinner/Rockchip) haven't been willing to work closely with the community which has meant that most boards die a slow death.
We should see fb drivers released by ARM by the end of this week (fingers crossed) which should give us some GPU support unfortunately I had to raise the issue with ARM because Rockchip were unwilling to supply them (which isn't a good sign). From what I understand Rockchip should be releasing there own drivers in the forth coming months but will target the 'TopMetal' platform which must be a different h/w design from the current reference designs.
Again, in my opinion the challenges facing the Firefly are:
1. Application developers want an 'out of box' experience and not having to endure the arduous task of building kernels, working out how to get GPU/VPU support etc ...
2. The market is saturated with ARM boards and the lower end $35 boards have bigger community support plus closer co-operation with the SOC vendor.
3. The development community aren't willing to embrace the newer generation of boards because of the potential lack of co-operation from the SOC vendor based on historical experience.
4. The board is expensive (including taxes + shipping) and I would argue competes in the x86 space where Linux support is far superior.
Hi Jas,
I think you're right. Since other promising boards have gone the same way (f.e. the radxa rock). I think this is sad, since the arm-based platforms have, in my eyes, a big potential even for big power-sucking applications. In regard of their low tdp, seemingly good graphics-chips and solid processors. Even though the Firefly is quite expensive: if it works it has a gpu with opencl-support, a noticable amount of memory and four fast-ticking cores of processing power on one 5V2A-powered board. Specifically the last thing is hard to achieve on the available x86 dev. boards.
Yours
Jonas
jas-rk
Just found this from arm, may be of help for you
That's right, the new Mali-T76x drivers built for GNU/Linux ARMv7 fbdev only (no windowing system at the moment) are now available as well as several other r5p0 drivers on the public download page:
http://malideveloper.arm.com/develop-fo ... e-drivers/
In order to use this, you will also need to build the kernel-side driver and replace the kernel in your build. This can be achieved by following the Firefly wiki page I mentioned earlier and starting with this Linux repository (master branch):
T-Firefly / Firefly-RK3288-kernel / Commits ¡ª Bitbucket
It has an early r4p1 kernel-side Mali GPU driver, which is not compatible with the new r5p0 user-side driver. So you need to upgrade the kernel-side Mali driver with the source code archive from this page:
http://malideveloper.arm.com/develop-fo ... e-drivers/
You'll need to remove the main drivers files under drivers/gpu/arm/, but not drivers/gpu/arm/midgard/platform/rk which contains the RK3288 platform support files, and replace them with the files from the archive. Some relatively small changes may be needed in the RK3288 platform files to make it work with the new r5p0 driver; sorry we haven't got a patch for that at the moment.
But the mali.so compiled userspace drivers, where to put them /system/lib?
Do they auto load or need to change something if a new kernel is used.
Do the framebuffer drivers provide any benefit or improvement since they have no X11 support yet.
But the mali.so compiled userspace drivers, where to put them /system/lib?
Before that the kernel needs be patched with the r5p0-06rel0 kernel drivers.
Do they auto load or need to change something if a new kernel is used.
The kernel driver should be built into the kernel.
Do the framebuffer drivers provide any benefit or improvement since they have no X11 support yet.
No benefit for X11 support. Its useful for anyone that wants to be build/use an application with EGL/GLES or OpenCL again a framebuffer which is theory should be faster than X11 (although some of the previous mali drivers haven't always demonstrated that) .
No benefit for X11 support. Its useful for anyone that wants to be build/use an application with EGL/GLES or OpenCL again a framebuffer which is theory should be faster than X11 (although some of the previous mali drivers haven't always demonstrated that) .
So if ARM Linux XBMC is build with EG/GLES support, it would be able to run and maybe play 720p videos?
What about video players like MPlayer, VCL that has settings for OpenGL/GLES, X11, will they run better if GLES is selected?
Also Chrome Browser, will anything render more smoothly, HTML 5 videos on Youtube any difference?
I know VPU drivers is needed for video playback but even RK3188 devices can play 480/720p videos in software on Picuntu, RK3288 is a lot more powerful so 720 and even 1080p might be possible? 4K won't play as that will definitely require VPU drivers.
Will just have to wait for X11 drivers to get released in the following weeks.
hi jas-rk,
mali libs for X11 in chromiumos repo is updated to r5.
(it seems chromiumos ver. doesn't support OpenCL. I hope OpenCL supported one is released by ARM in future...)
if you still have performance(FPS) issue you mentioned before, you should check configuration related to VSYNC.
Just got those Mali fb drivers to work .. short video of GLES 3.0 demo.
Hi
Can you please tell me how you integrated the Mali kernel drivers?
I get compile errors related to GPU when I compile firefly kernel.
If you can maybe upload your kernel/drivers/gpu folder and any other changes you made to compile successfully, I would appreciate it very much.
@naobsd thanks for the update, I'll given them a try. Not convinced about the VSYNC because the hdmi driver is similar to the i.mx6 driver and there's no VSYNC signal from hdmi. This is evident by some tearing when dragging windows.
@dewet your expectations are pretty high and mostly likely beyond what's possible for now (or in the next months ??) . I assume Firefly team will create a kernel/image with fbdev support based on 3.10 kernel. I have a patched up 3.14 kernel with limited features (mmc, ethernet, hdmi) that I'm experimenting with and I will try to post some instructions or images when I get some free time.
jas-rk
While doing some research for the new Android Lollipop I read that after the initial release of the SDK for Lollipop from RockChip, that there will be a migration to the 3.14 Kernel as the next development in the scheme of things. By the way, do you know anything about "TopMetal" there was a mention of them in my research, but I seem not to be able to find any development from them in the mini pc platform.
---cappybob
jas-rk Posted at 1/26/2015 02:48
Want to see some GPU acceleration? Look ... here
Welcome Firefly Open Source Community (https://bbs.t-firefly.com/) | Powered by Discuz! X3.1 |