Looking at this post
Graphics and Compute Development on Samsung Chromebook « Mali Developer Center Mali Developer Center
I have see that is possible to have Mali GPU hardware acceleration on Samsung ARM Chromebook with Ubuntu.
On the post you guide all the process to prepare an sd card to install ubuntu with mail support on chromebook, could you provide even the imagefile of the generated sd card?
Thanks
Hi yebyen,
yebyen wrote: ...es2_info shows I'm using mesa with software rasterizer in every case.
yebyen wrote:
...es2_info shows I'm using mesa with software rasterizer in every case.
I believe you installed es2_info with sudo apt-get install which has therefore installed the mesa libs, and these are getting in the way of the mali GLES libraries on the platform. As you've found this is the same common issue as Help fix : Graphics and Compute Development on Samsung Chromebook. Could you confirm this by running ldd es2-info and pasting the result?
My advice would be to take a copy of any es2-info etc binaries that you want to run, then reflash the SD card so that it is clean with no mesa libs present. They should then give the correct output.
Thanks,
Chris
Yep, my story reads just like: ODROID Forum • View topic - [SOLVED] armsoc_dri.so is missing
The main issue that prevented me from getting anywhere was that the libs in /root/mali don't seem to be copied anywhere in the system library path. I actually had to put them in the search path myself.
I am running glmark2-es2 now and graphics look right with good speed. I copied my /root/mali/x11/* to /usr/local/lib, got rid of the libs mesa installed into /usr/lib/arm-linux-gnueabihf/mesa-egl, ran ldconfig, noted looking at ldd that some of the programs I was trying to run were looking for libEGL.so.1 (not libEGL.so), and libGLESv2.so.2 (not libGLESv2.so), made the needed symlinks, ldconfig again, and now the correct drivers are now loaded.
es2_info: http://paste.ubuntu.com/9076750/
I get a glmark2 score of 67
Thanks for the help! I will report back later if I was able to get a compositing window manager to work or not, my battery just ran out in the middle of testing.
While I have upgraded to 14.10 and installed e17 with EGL intact, found the compositor works great in software mode (even better in 14.10 than in 14.04)
I found chromium-browser --user-data-dir=./chrome --use-gl=egl and Smooth Scroll in chrome://flags which seems to do a lot better without the compositor than with it, but enabling it gets me a flickery mouse cursor and
I can't help but feel something is missing from this tutorial. Like I am missing the bigger picture. Maybe I need to start another thread, but, is there wayland support? e19? Aren't these from Samsung, and renound for EGL features? You'd think there would be a single build script for all of this in one fell swoop. Instead I'm contending with eina not found.
I'm trying to build it now, from nineteen.sh which I found on ubuntuhandbook.org. I think I missed something more fundamental though, forget any compositor, once I think I had configured EGL support securely, the performance of fairly simple things (I think?) like smooth opaque window transform in the default openbox performed just abysmally. They seemed to be not using whatever kind of acceleration we have enabled here.
Then glTexImage2D errors coming out of chromium, not sure if that is avoidable or not. I invite you all to try along with me and report back when your experiences have differed from mine.
Maybe I should end here and think about opening another thread, I did achieve the mali hardware acceleration as promised FWIW so
I think you've strayed further than we have in our testing we typically pull X up to the point that we can run windowed/fullscreen GLES apps, but that's about it. Maybe someone from our BSP team can comment further on what should/shouldn't work.
yebyen wrote: I think I missed something more fundamental though, forget any compositor, once I think I had configured EGL support securely, the performance of fairly simple things (I think?) like smooth opaque window transform in the default openbox performed just abysmally. They seemed to be not using whatever kind of acceleration we have enabled here.
I think I missed something more fundamental though, forget any compositor, once I think I had configured EGL support securely, the performance of fairly simple things (I think?) like smooth opaque window transform in the default openbox performed just abysmally. They seemed to be not using whatever kind of acceleration we have enabled here.
I think most window managers etc tend to use a GL backend, which Mali does not support, it supports GLES. This means they tend to revert to software rendering, which explains the poor perf of window transforms. GLES apps should still run at expected perf. There are a few GLES window managers out there to my knowledge, but you would probably need to pull them in without pulling in the mesa libs they almost always depend upon!
Hth,
Please see my response in this thread: I have few questions about guide which is Graphic and Compute development on Samsung chromebook.
Briefly, the install script doesn't aim to provide users with a fully hardware accelerated desktop environment, this is because almost no desktop environments on linux support OpenGLES as a back-end renderer. OpenBox which is installed during the setup process itself is NOT hardware accelerated and so performance when dragging windows around is poor as the compositing is done on the CPU. If you are running OpenGLES content within windows, however, this WILL be hardware accelerated to render which is the goal.
Having taken a brief look, I can see that KDE now seems to have a GLES implementation of kwin (https://wiki.archlinux.org/index.php/KDE#Configure_KWin_to_use_OpenGL_ES) which *should* give you the high performance desktop environment you seem to want if you are able to investigate this and get it working. This is something that I would be interested in looking into and potentially in future we could update the guide to install this by default. I do believe that the enlightenment desktop environment does also support hardware accelerated rendering using OpenGLES but I believe this is very much under active development. The main goal of the Chromebook developer guide is to quickly and easily create an environment on the chromebook where developers can run and test their GLES applications on linux running on Mali hardware.
As for the issues your originally experienced, the build script doesn't set up wifi in its current form and it is stated on the guide page under requirements: USB-Ethernet adapter to enable network communications. Adding wifi support from first boot is something we would like to add, but we haven't got around to it yet.
With regards to issues with X starting, I can only assume that early in the process you installed, whether as a dependency or not, mesa libs that did conflict with the mali binaries installed, I'm glad you appear to have fixed this issue though.
Hope this helps,
Rich
OK, so I am not seeing anything that I'm not expected or supposed to be seeing. Good.
I did not know about chromium-mali-opengles from the Bodhi project. Good tip also. Thanks. I still have high hopes for E19, the build script takes a decent while and is for trusty (14.04) while I already moved on with do-release-upgrade -d to utopic (14.10), so I haven't succeeded at building it yet as some minor changes as expected are needed from the trusty script to build it from git.
Of course this is totally out of scope for this thread, but I may now also try KDE from your advice. E19 had a stable release in September with "full wayland support" (which I may have misread as "much improved/fully supported OpenGLES compositor implementation".)
I had indeed installed mesa as you suspected, it was pretty easy to move the libraries out of the way once I found the specific list of libs I shouldn't have been linking with (and which versions were asked for by name in the software I was trying to use with now broken library links). Not sure how to build glmark2-es2 or es2_info/es2gears, they pulled in mesa when I installed mesa-utils-extra, the only libraries that seemed to be in conflict were the ones in /root/mali and those are "drop-in replacement" for the es2 libs of mesa.
Thanks for confirmations, I think you addressed all of the remaining oddities I was seeing, and everything is now as it should be expected to be! The tutorial should really take you all the way up to running (literally anything at all) with acceleration, because it ends at "type startx" and from what you've told me, there is nothing even remotely accelerated on or near the screen when you finally get to this point. My natural inclination once learning that plain GL is not supported was to install es2gears to see if it's really working, and that was exactly the wrong thing to do because it necessarily pulls in mesa.
Maybe that's too much garden path thinking, and you want that maybe your target audience should really be able to go on the forums and figure this out. I understand you are promoting Mali to devs, not Samsung Chromebook to end users, but nobody else can provide the drivers and even regular users need drivers sometimes bonus points to the thread you linked because you all mentioned "feh"
Works for me now. Hopefully this thread can also help someone else get here, too.
Thanks for the feedback, glad it's all working now. Enough people have tripped over the mesa thing that we should address it in the guide, and I agree we could do more in the guide to confirm a working setup. I'll pass this on to the relevant people.
nobody else can provide the drivers and even regular users need drivers sometimes
Strictly speaking there are people downstream of us that could do this (Samsung/Google in this case) but supporting Linux environments tends to be quite far down the priority list. We do this in an effort to provide an easily accessible, relatively cheap development platform to those wishing to develop GLES applications on Mali hardware, but we're by no means the gatekeepers to providing such support!
bonus points to the thread you linked because you all mentioned "feh"
Are you a dev?
Cheers,
... nobody else can provide the drivers and even regular users need drivers sometimes Strictly speaking there are people downstream of us that could do this (Samsung/Google in this case) but supporting Linux environments tends to be quite far down the priority list. We do this in an effort to provide an easily accessible, relatively cheap development platform to those wishing to develop GLES applications on Mali hardware, but we're by no means the gatekeepers to providing such support! bonus points to the thread you linked because you all mentioned "feh" Are you a dev? Cheers, Chris
...
I am very computer sometimes, others not so much. It's true that there is not much help from Samsung or Google on this front! I was very glad to find the drivers here, even more now that I start to see how they are put together.
So far EFL compiled from git, the biggest hurdle is that -lGLESv2 and -lEGL are both stubs, missing everything you would normally expect to find in them with the actual functionality implemented in libmali.so, so everything that links either of those needs to -lmali as well or undefined symbol glTexImage2D, etc. Caught at configure time building EFL. That is why chromium from ubuntu doesn't access the acceleration features too, I'd assume, because it doesn't link in libmali.so.
I think it will work now, but there's an hour of compiling left maybe or more before I see, and it's time for bed now!
Kingdon
Well, performance is very good, in spite of something apparently not being configured correctly so it seems to have fallen back to software, now it's clearly not near as snappy as ChromeOS.
./configure --prefix=/usr/local --enable-harfbuzz --enable-image-loader-webp --enable-multisense --enable-xine --enable-xinput22 --with-opengl=es --enable-egl
is what I asked for to configure efl, mostly the same options as the options ubuntuhandbook/nineteen.sh would have passed, except for the last two
http://paste.ubuntu.com/9114197/
My extremely naive patch which got me past configure, I think what might be missing now is that the evas engine for egl is actually wayland only, and that is why I am where I am now. Nothing in this case seems to have actually been linked against EGL or GLESv2. Funny, configure would not let me proceed without proving I could link to them and that they had the right stuff (libmali.so). I guess that's because I asked it to...
Thanks for your help. It's all working now.