All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-raspberrypi] gles2 on raspi3
@ 2017-04-15 13:39 Trevor Woerner
  2017-04-15 14:46 ` Andreas Müller
  0 siblings, 1 reply; 20+ messages in thread
From: Trevor Woerner @ 2017-04-15 13:39 UTC (permalink / raw)
  To: yocto

Hi,

I seem to have all the pieces in place, but can't get gles2 to work on the
raspberry pi. Specifically I'm using the raspberry pi 3, but the 32-bit armv7
build.

gles2 is provided by userland, and I've compiled up a couple gles2 programs.
Compiling succeeds without issue, but running is another case.

E.g.

	# es2_info
	Error: eglGetDisplay() failed

	# glmark2-es2
	Error: eglGetDisplay() failed with error: 0x3000
	Error: eglGetDisplay() failed with error: 0x3000
	Error: main: Could not initialize canvas

	# google-chrome --use-gl=egl
	[3487:3487:0415/133334:ERROR:gl_surface_egl.cc(605)] EGL display query failed with error EGL_SUCCESS
	[3487:3487:0415/133334:ERROR:gl_surface_egl.cc(612)] eglInitialize Default failed with error EGL_BAD_DISPLAY
	[3487:3487:0415/133334:ERROR:gl_initializer_x11.cc(142)] GLSurfaceEGL::InitializeOneOff failed.
	[3487:3487:0415/133334:ERROR:sandbox_linux.cc(343)] InitializeSandbox() called with multiple threads in process gpu-process. 
	[3487:3487:0415/133334:ERROR:gpu_child_thread.cc(348)] Exiting GPU process due to errors during initialization

Thoughts?

Does anyone have any of these (or something else?) working?

Thanks and best regards,
	Trevor


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [meta-raspberrypi] gles2 on raspi3
  2017-04-15 13:39 [meta-raspberrypi] gles2 on raspi3 Trevor Woerner
@ 2017-04-15 14:46 ` Andreas Müller
  2017-04-15 16:35   ` Trevor Woerner
  0 siblings, 1 reply; 20+ messages in thread
From: Andreas Müller @ 2017-04-15 14:46 UTC (permalink / raw)
  To: Trevor Woerner; +Cc: Yocto Project

On Sat, Apr 15, 2017 at 3:39 PM, Trevor Woerner <twoerner@gmail.com> wrote:
> Hi,
>
> I seem to have all the pieces in place, but can't get gles2 to work on the
> raspberry pi. Specifically I'm using the raspberry pi 3, but the 32-bit armv7
> build.
>
> gles2 is provided by userland, and I've compiled up a couple gles2 programs.
> Compiling succeeds without issue, but running is another case.
>
> E.g.
>
>         # es2_info
>         Error: eglGetDisplay() failed
>
>         # glmark2-es2
>         Error: eglGetDisplay() failed with error: 0x3000
>         Error: eglGetDisplay() failed with error: 0x3000
>         Error: main: Could not initialize canvas
>
>         # google-chrome --use-gl=egl
>         [3487:3487:0415/133334:ERROR:gl_surface_egl.cc(605)] EGL display query failed with error EGL_SUCCESS
>         [3487:3487:0415/133334:ERROR:gl_surface_egl.cc(612)] eglInitialize Default failed with error EGL_BAD_DISPLAY
>         [3487:3487:0415/133334:ERROR:gl_initializer_x11.cc(142)] GLSurfaceEGL::InitializeOneOff failed.
>         [3487:3487:0415/133334:ERROR:sandbox_linux.cc(343)] InitializeSandbox() called with multiple threads in process gpu-process.
>         [3487:3487:0415/133334:ERROR:gpu_child_thread.cc(348)] Exiting GPU process due to errors during initialization
>
> Thoughts?
>
> Does anyone have any of these (or something else?) working?
>
Ehm userland gles2 on X11? I would not expect that to work. Experts
correct me but userland acceleration works for fullscreen apps only.
Why not using FOSS VC4+mesa?

Andreas


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [meta-raspberrypi] gles2 on raspi3
  2017-04-15 14:46 ` Andreas Müller
@ 2017-04-15 16:35   ` Trevor Woerner
  2017-04-15 18:09     ` Andreas Müller
  0 siblings, 1 reply; 20+ messages in thread
From: Trevor Woerner @ 2017-04-15 16:35 UTC (permalink / raw)
  To: Andreas Müller; +Cc: Yocto Project

On Sat 2017-04-15 @ 04:46:14 PM, Andreas Müller wrote:
> > Does anyone have any of these (or something else?) working?
> >
> Ehm userland gles2 on X11? I would not expect that to work. Experts
> correct me but userland acceleration works for fullscreen apps only.

I have made this work before (which, as you'll see later in this email,
doesn't imply that's how it's supposed to work!):
https://twoerner.blogspot.ca/2015/09/oe-build-of-glmark2-running-on.html

Oh, and I did try both with and without "--fullscreen".

> Why not using FOSS VC4+mesa?

Now's probably a good time to point out I only have a vague idea of what I'm
doing ;-)

I didn't try vc4 because the raspi recipes implied (to me) it was for aarch64
only. The "vc4graphics" MACHINE_FEATURES is only added for raspberrypi3-64.
I'll give this a try though.

Here's another question that only shows my inexperience in this area... does
using mesa always imply software-only rendering? mali (for example) would be
hardware rendering (though through a binary blob) and mesa is the software
fallback?

By the way, with my current setup I have been able to run openGL apps (e.g.
glmark2 by itself) albeit most definitely non-accelerated!

A lot of google searches talk about setting environment variables. Are there
any that might apply?

Best regards,
	Trevor


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [meta-raspberrypi] gles2 on raspi3
  2017-04-15 16:35   ` Trevor Woerner
@ 2017-04-15 18:09     ` Andreas Müller
  2017-04-15 23:16       ` Trevor Woerner
                         ` (2 more replies)
  0 siblings, 3 replies; 20+ messages in thread
From: Andreas Müller @ 2017-04-15 18:09 UTC (permalink / raw)
  To: Trevor Woerner; +Cc: Yocto Project

On Sat, Apr 15, 2017 at 6:35 PM, Trevor Woerner <twoerner@gmail.com> wrote:
> On Sat 2017-04-15 @ 04:46:14 PM, Andreas Müller wrote:
>> > Does anyone have any of these (or something else?) working?
>> >
>> Ehm userland gles2 on X11? I would not expect that to work. Experts
>> correct me but userland acceleration works for fullscreen apps only.
>
> I have made this work before (which, as you'll see later in this email,
> doesn't imply that's how it's supposed to work!):
> https://twoerner.blogspot.ca/2015/09/oe-build-of-glmark2-running-on.html
>
> Oh, and I did try both with and without "--fullscreen".
>
>> Why not using FOSS VC4+mesa?
>
> Now's probably a good time to point out I only have a vague idea of what I'm
> doing ;-)
>
> I didn't try vc4 because the raspi recipes implied (to me) it was for aarch64
> only. The "vc4graphics" MACHINE_FEATURES is only added for raspberrypi3-64.
> I'll give this a try though.
Oh yes you are right - it is long time ago - maybe this was one of the
reasons for my vc4-only fork. I thought it is an option set in
local.conf.
>
> Here's another question that only shows my inexperience in this area... does
> using mesa always imply software-only rendering? mali (for example) would be
> hardware rendering (though through a binary blob) and mesa is the software
> fallback?
I am also no expert here but Mesa is the open source userspace part
for accelerated graphics. Mesa-SW rendering driver is a fallback in
case no driver is supported/implemented. This is what you have seen
for glmark2. Since the VC4-Mesa was implemented, for me RaspberryPi
turned into the reference hardware regarding graphics. You can have
accelerated X11 + wayland in one image without any trouble with proper
working modesetting (and HDMI sound is on it's way). I've never had
this before on other machines where closed source blobs do graphics
acceleration. Either you have fb only (no X11/wayland) or you have to
decide either X11 or wayland - and worst: With every new version of
xserver you have to expect trouble.
>
> By the way, with my current setup I have been able to run openGL apps (e.g.
> glmark2 by itself) albeit most definitely non-accelerated!
mesa-gl builds swrast - mentioned above
>
> A lot of google searches talk about setting environment variables. Are there
> any that might apply?
>
For the first shot I would add vc4graphics to MACHINE_FEATURES in
raspberrypi3.conf. The required settings should happen (see recipe
rpi-config).

In the long run I would start a discussion:

* Mesa/VC4 is not a machine feature only available on 64Bit Pi3 only:
It is common to all version of RaspberryPi. Using mesa should be a
decision easily selected by a setting somewhere. The only reason 64Bit
Pi3 gets VC4 by default is that userland is not working for 64Bit -
see commit 9d418db5ed2962821987ac90c07c3a61e40c0814)
* Why still use userland? Dropping it would make things MUCH easier:
All the decisions based vc4graphics in MACHINE_FEATURES could be
removed (that's what my fork does)

Andreas


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [meta-raspberrypi] gles2 on raspi3
  2017-04-15 18:09     ` Andreas Müller
@ 2017-04-15 23:16       ` Trevor Woerner
  2017-04-16 23:23         ` Andreas Müller
  2017-04-16 23:52         ` Andreas Müller
  2017-04-16 22:54       ` Trevor Woerner
  2017-04-20  3:41       ` ***SPAM*** " Herve Jourdain
  2 siblings, 2 replies; 20+ messages in thread
From: Trevor Woerner @ 2017-04-15 23:16 UTC (permalink / raw)
  To: Andreas Müller; +Cc: Yocto Project

w00T! \O/

Swapping out meta-raspberrypi for your meta-raspi-light works!!! I now have
accelerated glmark2-es2 ~40FPS :-D

Now I have to figure out why...

Also, chromium wouldn't build with meta-raspi2-light, but that's probably a
quick fix, GL/glx.h was missing.

Adding 'MACHINE_FEATURES_append = " vc4graphics"' to local.conf with
meta-raspberrypi caused a kernel Oops. The system continues to run, but
graphics/X doesn't work.

One thing I've noticed about both meta-raspberrypi and meta-raspi-light are
that in both cases (using vc4) the boot colour square (firmware?), processor
core count berries, and kernel splash screen are missing. But that's not too
important.

Thank you very much for your explanations, they really cleared up a lot of
stuff in my head. Already I'm 10x smarter on this stuff (which doesn't say
much about where I started!) ;-) It was probably a good thing I spent the last
couple days grinding away, your explanations were perfect for where I'm at.

Any idea how mesa and mesa-gl differ? That one's still an outlier for me; they
both come from the same source base!

On Sat 2017-04-15 @ 08:09:02 PM, Andreas Müller wrote:
> In the long run I would start a discussion:
> 
> * Mesa/VC4 is not a machine feature only available on 64Bit Pi3 only:
> It is common to all version of RaspberryPi. Using mesa should be a
> decision easily selected by a setting somewhere. The only reason 64Bit
> Pi3 gets VC4 by default is that userland is not working for 64Bit -
> see commit 9d418db5ed2962821987ac90c07c3a61e40c0814)
> * Why still use userland? Dropping it would make things MUCH easier:
> All the decisions based vc4graphics in MACHINE_FEATURES could be
> removed (that's what my fork does)

Agreed! Maybe a new thread? I'd want to do more experiments wrt 32 vs 64 and
vc4 vs userland before being able to contribute.

On a related topic, I wasn't able to get any graphics to work when I did a
raspberrypi3-64 build, which (presumably) already pulled in and configured the
build for vc4. I'll dig in a bit more on that topic to see if I can reduce it
to some succinct issue.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [meta-raspberrypi] gles2 on raspi3
  2017-04-15 18:09     ` Andreas Müller
  2017-04-15 23:16       ` Trevor Woerner
@ 2017-04-16 22:54       ` Trevor Woerner
  2017-04-20  3:41       ` ***SPAM*** " Herve Jourdain
  2 siblings, 0 replies; 20+ messages in thread
From: Trevor Woerner @ 2017-04-16 22:54 UTC (permalink / raw)
  To: Andreas Müller; +Cc: Yocto Project

On Sat 2017-04-15 @ 08:09:02 PM, Andreas Müller wrote:
> You can have
> accelerated X11 + wayland in one image without any trouble with proper
> working modesetting (and HDMI sound is on it's way).

I got chromium building with it (it was a simple DEPENDS) and on the image I
just built sound is already working!


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [meta-raspberrypi] gles2 on raspi3
  2017-04-15 23:16       ` Trevor Woerner
@ 2017-04-16 23:23         ` Andreas Müller
  2017-04-17  0:30           ` Trevor Woerner
  2017-04-17  0:45           ` Trevor Woerner
  2017-04-16 23:52         ` Andreas Müller
  1 sibling, 2 replies; 20+ messages in thread
From: Andreas Müller @ 2017-04-16 23:23 UTC (permalink / raw)
  To: Trevor Woerner; +Cc: Yocto Project

On Sun, Apr 16, 2017 at 1:16 AM, Trevor Woerner <twoerner@gmail.com> wrote:
> w00T! \O/
>
> Swapping out meta-raspberrypi for your meta-raspi-light works!!! I now have
> accelerated glmark2-es2 ~40FPS :-D
>
> Now I have to figure out why...
>
> Also, chromium wouldn't build with meta-raspi2-light, but that's probably a
> quick fix, GL/glx.h was missing.
>
> Adding 'MACHINE_FEATURES_append = " vc4graphics"' to local.conf with
> meta-raspberrypi caused a kernel Oops. The system continues to run, but
> graphics/X doesn't work.
>
> One thing I've noticed about both meta-raspberrypi and meta-raspi-light are
> that in both cases (using vc4) the boot colour square (firmware?), processor
> core count berries, and kernel splash screen are missing. But that's not too
> important.
Yes - but I think this is not a bug. For me the so called 'rainbow'
screen was the indication I have VC4 properly set up.
>
> Thank you very much for your explanations, they really cleared up a lot of
> stuff in my head. Already I'm 10x smarter on this stuff (which doesn't say
> much about where I started!) ;-) It was probably a good thing I spent the last
> couple days grinding away, your explanations were perfect for where I'm at.
Some very good document explaining FOSS graphics stack is [1] - take
the time and some coffee :)
>
> Any idea how mesa and mesa-gl differ? That one's still an outlier for me; they
> both come from the same source base!
* userland builds egl/gles2 libraries
* mesa-gl is a drop in for (Desktop) OpenGL to ensure we can build
applications which need it. AFAIK it is shipped with swrast - so not
really useful.
>
> On Sat 2017-04-15 @ 08:09:02 PM, Andreas Müller wrote:
>> In the long run I would start a discussion:
>>
>> * Mesa/VC4 is not a machine feature only available on 64Bit Pi3 only:
>> It is common to all version of RaspberryPi. Using mesa should be a
>> decision easily selected by a setting somewhere. The only reason 64Bit
>> Pi3 gets VC4 by default is that userland is not working for 64Bit -
>> see commit 9d418db5ed2962821987ac90c07c3a61e40c0814)
>> * Why still use userland? Dropping it would make things MUCH easier:
>> All the decisions based vc4graphics in MACHINE_FEATURES could be
>> removed (that's what my fork does)
>
> Agreed! Maybe a new thread? I'd want to do more experiments wrt 32 vs 64 and
> vc4 vs userland before being able to contribute.
>
I cherry-pick from meta-raspberrypi what I can - also Pi3-64
configuration. But I have not run a test with 64Bit on Pi3 (I don't
expect any enhancements for my use cases).

Your next email:
> I got chromium building with it (it was a simple DEPENDS) and on the image I
> just built sound is already working!
* You have chromium building (and running?). This is on my endless
TODO-list (have firefox on my image but that crashes more or less
immediately - wonder what other people do with it)
* I have not tested that (I need low latency and plugs for playing music)

Have fun and keep me updated...

Andreas


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [meta-raspberrypi] gles2 on raspi3
  2017-04-15 23:16       ` Trevor Woerner
  2017-04-16 23:23         ` Andreas Müller
@ 2017-04-16 23:52         ` Andreas Müller
  2017-04-17  0:27           ` Trevor Woerner
  1 sibling, 1 reply; 20+ messages in thread
From: Andreas Müller @ 2017-04-16 23:52 UTC (permalink / raw)
  To: Trevor Woerner; +Cc: Yocto Project

On Sun, Apr 16, 2017 at 1:16 AM, Trevor Woerner <twoerner@gmail.com> wrote:
> w00T! \O/
>
> Swapping out meta-raspberrypi for your meta-raspi-light works!!! I now have
> accelerated glmark2-es2 ~40FPS :-D
40fps for glmark-es2 (did you mean glxgears)? The total result I get
for Pi3 on X11 (xfce) is ~105-117 depending on cpu-governor. I don't
know what Desktop/window manager you use but for graphics benchmarking
you should disable compositor.

Andreas


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [meta-raspberrypi] gles2 on raspi3
  2017-04-16 23:52         ` Andreas Müller
@ 2017-04-17  0:27           ` Trevor Woerner
  2017-04-17  1:11             ` Andreas Müller
  0 siblings, 1 reply; 20+ messages in thread
From: Trevor Woerner @ 2017-04-17  0:27 UTC (permalink / raw)
  To: Andreas Müller; +Cc: Yocto Project

On Mon 2017-04-17 @ 01:52:57 AM, Andreas Müller wrote:
> On Sun, Apr 16, 2017 at 1:16 AM, Trevor Woerner <twoerner@gmail.com> wrote:
> > w00T! \O/
> >
> > Swapping out meta-raspberrypi for your meta-raspi-light works!!! I now have
> > accelerated glmark2-es2 ~40FPS :-D
> 40fps for glmark-es2 (did you mean glxgears)? The total result I get
> for Pi3 on X11 (xfce) is ~105-117 depending on cpu-governor. I don't
> know what Desktop/window manager you use but for graphics benchmarking
> you should disable compositor.

;-) haha ;-)
You couldn't just let me be happy?!
Yesterday it was running at 1FPS (*one*!! and probably less)
;-) haha ;-)

I'm using openbox, I can't imagine anything more minimal than that. But I
think I see where the difference lies. I usually run glmark2-es2 fullscreen.
When I run it in its own little window:

	root@raspberrypi3:~# glmark2-es2
	MESA-LOADER: device is not located on the PCI bus
	MESA-LOADER: device is not located on the PCI bus
	MESA-LOADER: device is not located on the PCI bus
	=======================================================
	    glmark2 2014.03
	=======================================================
	    OpenGL Information
	    GL_VENDOR:     Broadcom
	    GL_RENDERER:   Gallium 0.4 on VC4 V3D 2.1
	    GL_VERSION:    OpenGL ES 2.0 Mesa 17.0.2
	=======================================================
	[build] use-vbo=false: FPS: 126 FrameTime: 7.937 ms
	[build] use-vbo=true: FPS: 140 FrameTime: 7.143 ms
	[texture] texture-filter=nearest: FPS: 146 FrameTime: 6.849 ms
	[texture] texture-filter=linear: FPS: 141 FrameTime: 7.092 ms
	[texture] texture-filter=mipmap: FPS: 135 FrameTime: 7.407 ms
	[shading] shading=gouraud: FPS: 118 FrameTime: 8.475 ms
	[shading] shading=blinn-phong-inf: FPS: 102 FrameTime: 9.804 ms
	[shading] shading=phong: FPS: 69 FrameTime: 14.493 ms
	[shading] shading=cel: FPS: 69 FrameTime: 14.493 ms
	[bump] bump-render=high-poly: FPS: 68 FrameTime: 14.706 ms
	[bump] bump-render=normals: FPS: 154 FrameTime: 6.494 ms
	[bump] bump-render=height: FPS: 148 FrameTime: 6.757 ms
	[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 106 FrameTime: 9.434 ms
	[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 71 FrameTime: 14.085 ms
	[pulsar] light=false:quads=5:texture=false: FPS: 129 FrameTime: 7.752 ms
	[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 44 FrameTime: 22.727 ms
	[desktop] effect=shadow:windows=4: FPS: 90 FrameTime: 11.111 ms
	[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 63 FrameTime: 15.873 ms
	[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 62 FrameTime: 16.129 ms
	[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 73 FrameTime: 13.699 ms
	[ideas] speed=duration: FPS: 132 FrameTime: 7.576 ms
	[jellyfish] <default>: FPS: 98 FrameTime: 10.204 ms
	[terrain] <default>: FPS: 5 FrameTime: 200.000 ms
	[shadow] <default>: FPS: 79 FrameTime: 12.658 ms
	[refract] <default>: FPS: 20 FrameTime: 50.000 ms
	[conditionals] fragment-steps=0:vertex-steps=0: FPS: 145 FrameTime: 6.897 ms
	[conditionals] fragment-steps=5:vertex-steps=0: FPS: 124 FrameTime: 8.065 ms
	[conditionals] fragment-steps=0:vertex-steps=5: FPS: 145 FrameTime: 6.897 ms
	[function] fragment-complexity=low:fragment-steps=5: FPS: 139 FrameTime: 7.194 ms
	[function] fragment-complexity=medium:fragment-steps=5: FPS: 39 FrameTime: 25.641 ms
	[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 135 FrameTime: 7.407 ms
	[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 136 FrameTime: 7.353 ms
	[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 91 FrameTime: 10.989 ms
	=======================================================
					  glmark2 Score: 101 
	=======================================================
	root@raspberrypi3:~# cat /proc/loadavg 
	0.15 0.15 0.09 1/130 458

So, yes, I seem to be getting roughly what you're seeing.

I have no idea what govenor I'm using, whatever is the default.

Here's what I get for fullscreen:

	root@raspberrypi3:~# glmark2-es2 --fullscreen --annotate
	MESA-LOADER: device is not located on the PCI bus
	MESA-LOADER: device is not located on the PCI bus
	MESA-LOADER: device is not located on the PCI bus
	=======================================================
	    glmark2 2014.03
	=======================================================
	    OpenGL Information
	    GL_VENDOR:     Broadcom
	    GL_RENDERER:   Gallium 0.4 on VC4 V3D 2.1
	    GL_VERSION:    OpenGL ES 2.0 Mesa 17.0.2
	=======================================================
	[build] use-vbo=false: FPS: 41 FrameTime: 24.390 ms
	[build] use-vbo=true: FPS: 43 FrameTime: 23.256 ms
	[texture] texture-filter=nearest: FPS: 42 FrameTime: 23.810 ms
	[texture] texture-filter=linear: FPS: 42 FrameTime: 23.810 ms
	[texture] texture-filter=mipmap: FPS: 42 FrameTime: 23.810 ms
	[shading] shading=gouraud: FPS: 40 FrameTime: 25.000 ms
	[shading] shading=blinn-phong-inf: FPS: 31 FrameTime: 32.258 ms
	[shading] shading=phong: FPS: 22 FrameTime: 45.455 ms
	[shading] shading=cel: FPS: 22 FrameTime: 45.455 ms
	[bump] bump-render=high-poly: FPS: 29 FrameTime: 34.483 ms
	[bump] bump-render=normals: FPS: 43 FrameTime: 23.256 ms
	[bump] bump-render=height: FPS: 42 FrameTime: 23.810 ms
	[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 30 FrameTime: 33.333 ms
	[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 20 FrameTime: 50.000 ms
	[pulsar] light=false:quads=5:texture=false: FPS: 35 FrameTime: 28.571 ms
	[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 12 FrameTime: 83.333 ms
	[desktop] effect=shadow:windows=4: FPS: 25 FrameTime: 40.000 ms
	[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 22 FrameTime: 45.455 ms
	[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 22 FrameTime: 45.455 ms
	[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 23 FrameTime: 43.478 ms
	[ideas] speed=duration: FPS: 35 FrameTime: 28.571 ms
	[jellyfish] <default>: FPS: 30 FrameTime: 33.333 ms
	[terrain] <default>: FPS: 2 FrameTime: 500.000 ms
	[shadow] <default>: FPS: 32 FrameTime: 31.250 ms
	[refract] <default>: FPS: 13 FrameTime: 76.923 ms
	[conditionals] fragment-steps=0:vertex-steps=0: FPS: 40 FrameTime: 25.000 ms
	[conditionals] fragment-steps=5:vertex-steps=0: FPS: 35 FrameTime: 28.571 ms
	[conditionals] fragment-steps=0:vertex-steps=5: FPS: 40 FrameTime: 25.000 ms
	[function] fragment-complexity=low:fragment-steps=5: FPS: 39 FrameTime: 25.641 ms
	[function] fragment-complexity=medium:fragment-steps=5: FPS: 13 FrameTime: 76.923 ms
	[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 38 FrameTime: 26.316 ms
	[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 38 FrameTime: 26.316 ms
	[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 27 FrameTime: 37.037 ms
	=======================================================
					  glmark2 Score: 30 
	=======================================================
	root@raspberrypi3:~# cat /proc/loadavg 
	0.05 0.11 0.08 1/129 468


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [meta-raspberrypi] gles2 on raspi3
  2017-04-16 23:23         ` Andreas Müller
@ 2017-04-17  0:30           ` Trevor Woerner
  2017-04-17  0:49             ` Andreas Müller
  2017-04-17  0:45           ` Trevor Woerner
  1 sibling, 1 reply; 20+ messages in thread
From: Trevor Woerner @ 2017-04-17  0:30 UTC (permalink / raw)
  To: Andreas Müller; +Cc: Yocto Project

On Mon 2017-04-17 @ 01:23:25 AM, Andreas Müller wrote:
> > Thank you very much for your explanations, they really cleared up a lot of
> > stuff in my head. Already I'm 10x smarter on this stuff (which doesn't say
> > much about where I started!) ;-) It was probably a good thing I spent the last
> > couple days grinding away, your explanations were perfect for where I'm at.
> Some very good document explaining FOSS graphics stack is [1] - take
> the time and some coffee :)

link? :-)


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [meta-raspberrypi] gles2 on raspi3
  2017-04-16 23:23         ` Andreas Müller
  2017-04-17  0:30           ` Trevor Woerner
@ 2017-04-17  0:45           ` Trevor Woerner
  1 sibling, 0 replies; 20+ messages in thread
From: Trevor Woerner @ 2017-04-17  0:45 UTC (permalink / raw)
  To: Andreas Müller; +Cc: Yocto Project

On Mon 2017-04-17 @ 01:23:25 AM, Andreas Müller wrote:
> > I got chromium building with it (it was a simple DEPENDS) and on the image I
> > just built sound is already working!
> * You have chromium building (and running?). This is on my endless
> TODO-list (have firefox on my image but that crashes more or less
> immediately - wonder what other people do with it)

There's been a nice surge in interest/help with chromium lately (not to
mention getting people to push upstream!) The recipes in OE are still building
a rather old version (54.0.2810.2) but it builds and works for x11 on x86
(qemux86), x86-64 (minnow), armv7 (bbb, raspi3-32), and armv8 (dragon 410c);
it builds for a couple more (firefly and raspi3-64) but I can't get xorg
working so I can't test it running.

You'll probably want to set the following PACKAGECONFIGs:

	PACKAGECONFIG_pn-chromium = "disable-api-keys-info-bar ignore-lost-context impl-side-painting"

And (as I've mentioned) you'll need to add "mesa" to the DEPENDS (although I'm
not sure why it's now needed nor how to make that change in a "nice" way since
the non-accelerated version doesn't need it).

I'm not fully up-to-date on the wayland side, but I believe it builds and
works on wayland for roughly the same list plus beagleX15 and hikey. The
wayland version is slightly older at 53.0.2785.143.

There are people working on newer versions up to 59, but so far nobody's
pushing upstream. I'm hoping to take a look and getting something working. The
way chromium is built changed around the late 53 early 54 timeframe so a new
procedure is needed.

I've been running and testing with vc4 on my raspi3 for the last two hours
or so. I've seen one crash once when I tried to full-screen youtube, but
subsequent attempts have succeeded, so I'm not sure if those two events are
related. I've been doodling around in youtobe for all this time and it's been
mostly working except for that one instance.

> * I have not tested that (I need low latency and plugs for playing music)

The sound came though the HDMI for me. It's the first time I've heard a board
make noise :-)


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [meta-raspberrypi] gles2 on raspi3
  2017-04-17  0:30           ` Trevor Woerner
@ 2017-04-17  0:49             ` Andreas Müller
  0 siblings, 0 replies; 20+ messages in thread
From: Andreas Müller @ 2017-04-17  0:49 UTC (permalink / raw)
  To: Trevor Woerner; +Cc: Yocto Project

On Mon, Apr 17, 2017 at 2:30 AM, Trevor Woerner <twoerner@gmail.com> wrote:
> On Mon 2017-04-17 @ 01:23:25 AM, Andreas Müller wrote:
>> > Thank you very much for your explanations, they really cleared up a lot of
>> > stuff in my head. Already I'm 10x smarter on this stuff (which doesn't say
>> > much about where I started!) ;-) It was probably a good thing I spent the last
>> > couple days grinding away, your explanations were perfect for where I'm at.
>> Some very good document explaining FOSS graphics stack is [1] - take
>> the time and some coffee :)
>
> link? :-)
Sure..

http://blog.mecheye.net/2012/06/the-linux-graphics-stack/


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [meta-raspberrypi] gles2 on raspi3
  2017-04-17  0:27           ` Trevor Woerner
@ 2017-04-17  1:11             ` Andreas Müller
  2017-04-18  4:16               ` Changhyeok Bae
  0 siblings, 1 reply; 20+ messages in thread
From: Andreas Müller @ 2017-04-17  1:11 UTC (permalink / raw)
  To: Trevor Woerner; +Cc: Yocto Project

On Mon, Apr 17, 2017 at 2:27 AM, Trevor Woerner <twoerner@gmail.com> wrote:
> On Mon 2017-04-17 @ 01:52:57 AM, Andreas Müller wrote:
>> On Sun, Apr 16, 2017 at 1:16 AM, Trevor Woerner <twoerner@gmail.com> wrote:
>> > w00T! \O/
>> >
>> > Swapping out meta-raspberrypi for your meta-raspi-light works!!! I now have
>> > accelerated glmark2-es2 ~40FPS :-D
>> 40fps for glmark-es2 (did you mean glxgears)? The total result I get
>> for Pi3 on X11 (xfce) is ~105-117 depending on cpu-governor. I don't
>> know what Desktop/window manager you use but for graphics benchmarking
>> you should disable compositor.
>
> ;-) haha ;-)
> You couldn't just let me be happy?!
OK - I am really sorry for this :))))
> Yesterday it was running at 1FPS (*one*!! and probably less)
> ;-) haha ;-)
>
> I'm using openbox, I can't imagine anything more minimal than that. But I
> think I see where the difference lies. I usually run glmark2-es2 fullscreen.
Yeah openbox seems light weight and does no compositing.
> When I run it in its own little window:
>
>         root@raspberrypi3:~# glmark2-es2
>         MESA-LOADER: device is not located on the PCI bus
>         MESA-LOADER: device is not located on the PCI bus
>         MESA-LOADER: device is not located on the PCI bus
>         =======================================================
>             glmark2 2014.03
>         =======================================================
>             OpenGL Information
>             GL_VENDOR:     Broadcom
>             GL_RENDERER:   Gallium 0.4 on VC4 V3D 2.1
>             GL_VERSION:    OpenGL ES 2.0 Mesa 17.0.2
>         =======================================================
>         [build] use-vbo=false: FPS: 126 FrameTime: 7.937 ms
>         [build] use-vbo=true: FPS: 140 FrameTime: 7.143 ms
>         [texture] texture-filter=nearest: FPS: 146 FrameTime: 6.849 ms
>         [texture] texture-filter=linear: FPS: 141 FrameTime: 7.092 ms
>         [texture] texture-filter=mipmap: FPS: 135 FrameTime: 7.407 ms
>         [shading] shading=gouraud: FPS: 118 FrameTime: 8.475 ms
>         [shading] shading=blinn-phong-inf: FPS: 102 FrameTime: 9.804 ms
>         [shading] shading=phong: FPS: 69 FrameTime: 14.493 ms
>         [shading] shading=cel: FPS: 69 FrameTime: 14.493 ms
>         [bump] bump-render=high-poly: FPS: 68 FrameTime: 14.706 ms
>         [bump] bump-render=normals: FPS: 154 FrameTime: 6.494 ms
>         [bump] bump-render=height: FPS: 148 FrameTime: 6.757 ms
>         [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 106 FrameTime: 9.434 ms
>         [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 71 FrameTime: 14.085 ms
>         [pulsar] light=false:quads=5:texture=false: FPS: 129 FrameTime: 7.752 ms
>         [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 44 FrameTime: 22.727 ms
>         [desktop] effect=shadow:windows=4: FPS: 90 FrameTime: 11.111 ms
>         [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 63 FrameTime: 15.873 ms
>         [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 62 FrameTime: 16.129 ms
>         [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 73 FrameTime: 13.699 ms
>         [ideas] speed=duration: FPS: 132 FrameTime: 7.576 ms
>         [jellyfish] <default>: FPS: 98 FrameTime: 10.204 ms
>         [terrain] <default>: FPS: 5 FrameTime: 200.000 ms
>         [shadow] <default>: FPS: 79 FrameTime: 12.658 ms
>         [refract] <default>: FPS: 20 FrameTime: 50.000 ms
>         [conditionals] fragment-steps=0:vertex-steps=0: FPS: 145 FrameTime: 6.897 ms
>         [conditionals] fragment-steps=5:vertex-steps=0: FPS: 124 FrameTime: 8.065 ms
>         [conditionals] fragment-steps=0:vertex-steps=5: FPS: 145 FrameTime: 6.897 ms
>         [function] fragment-complexity=low:fragment-steps=5: FPS: 139 FrameTime: 7.194 ms
>         [function] fragment-complexity=medium:fragment-steps=5: FPS: 39 FrameTime: 25.641 ms
>         [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 135 FrameTime: 7.407 ms
>         [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 136 FrameTime: 7.353 ms
>         [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 91 FrameTime: 10.989 ms
>         =======================================================
>                                           glmark2 Score: 101
>         =======================================================
>         root@raspberrypi3:~# cat /proc/loadavg
>         0.15 0.15 0.09 1/130 458
>
> So, yes, I seem to be getting roughly what you're seeing.
Yes I think the difference of our results is noise
>
> I have no idea what govenor I'm using, whatever is the default.
I assume it is ondemand. That is default/fine (if you don't want to
play music keyboard/sequencer).
>
> Here's what I get for fullscreen:
>
>         root@raspberrypi3:~# glmark2-es2 --fullscreen --annotate
>         MESA-LOADER: device is not located on the PCI bus
>         MESA-LOADER: device is not located on the PCI bus
>         MESA-LOADER: device is not located on the PCI bus
>         =======================================================
>             glmark2 2014.03
>         =======================================================
>             OpenGL Information
>             GL_VENDOR:     Broadcom
>             GL_RENDERER:   Gallium 0.4 on VC4 V3D 2.1
>             GL_VERSION:    OpenGL ES 2.0 Mesa 17.0.2
>         =======================================================
>         [build] use-vbo=false: FPS: 41 FrameTime: 24.390 ms
>         [build] use-vbo=true: FPS: 43 FrameTime: 23.256 ms
>         [texture] texture-filter=nearest: FPS: 42 FrameTime: 23.810 ms
>         [texture] texture-filter=linear: FPS: 42 FrameTime: 23.810 ms
>         [texture] texture-filter=mipmap: FPS: 42 FrameTime: 23.810 ms
>         [shading] shading=gouraud: FPS: 40 FrameTime: 25.000 ms
>         [shading] shading=blinn-phong-inf: FPS: 31 FrameTime: 32.258 ms
>         [shading] shading=phong: FPS: 22 FrameTime: 45.455 ms
>         [shading] shading=cel: FPS: 22 FrameTime: 45.455 ms
>         [bump] bump-render=high-poly: FPS: 29 FrameTime: 34.483 ms
>         [bump] bump-render=normals: FPS: 43 FrameTime: 23.256 ms
>         [bump] bump-render=height: FPS: 42 FrameTime: 23.810 ms
>         [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 30 FrameTime: 33.333 ms
>         [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 20 FrameTime: 50.000 ms
>         [pulsar] light=false:quads=5:texture=false: FPS: 35 FrameTime: 28.571 ms
>         [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 12 FrameTime: 83.333 ms
>         [desktop] effect=shadow:windows=4: FPS: 25 FrameTime: 40.000 ms
>         [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 22 FrameTime: 45.455 ms
>         [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 22 FrameTime: 45.455 ms
>         [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 23 FrameTime: 43.478 ms
>         [ideas] speed=duration: FPS: 35 FrameTime: 28.571 ms
>         [jellyfish] <default>: FPS: 30 FrameTime: 33.333 ms
>         [terrain] <default>: FPS: 2 FrameTime: 500.000 ms
>         [shadow] <default>: FPS: 32 FrameTime: 31.250 ms
>         [refract] <default>: FPS: 13 FrameTime: 76.923 ms
>         [conditionals] fragment-steps=0:vertex-steps=0: FPS: 40 FrameTime: 25.000 ms
>         [conditionals] fragment-steps=5:vertex-steps=0: FPS: 35 FrameTime: 28.571 ms
>         [conditionals] fragment-steps=0:vertex-steps=5: FPS: 40 FrameTime: 25.000 ms
>         [function] fragment-complexity=low:fragment-steps=5: FPS: 39 FrameTime: 25.641 ms
>         [function] fragment-complexity=medium:fragment-steps=5: FPS: 13 FrameTime: 76.923 ms
>         [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 38 FrameTime: 26.316 ms
>         [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 38 FrameTime: 26.316 ms
>         [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 27 FrameTime: 37.037 ms
>         =======================================================
>                                           glmark2 Score: 30
>         =======================================================
I never tried that before but prefer to run in not-fullscreeen because
the results seem to depend on screen resolution.

Happy easter,

Andreas


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [meta-raspberrypi] gles2 on raspi3
  2017-04-17  1:11             ` Andreas Müller
@ 2017-04-18  4:16               ` Changhyeok Bae
  0 siblings, 0 replies; 20+ messages in thread
From: Changhyeok Bae @ 2017-04-18  4:16 UTC (permalink / raw)
  To: Andreas Müller; +Cc: Yocto Project

[-- Attachment #1: Type: text/plain, Size: 9647 bytes --]

FYI

If you are using morty branch, mesa version should be upgraded to v12.0.3
for vc4 bug fix. There is some vc4 patches between v12.0.1 and v12.0.3 of
mesa.

Thanks
Changhyeok

2017-04-17 10:11 GMT+09:00 Andreas Müller <schnitzeltony@googlemail.com>:

> On Mon, Apr 17, 2017 at 2:27 AM, Trevor Woerner <twoerner@gmail.com>
> wrote:
> > On Mon 2017-04-17 @ 01:52:57 AM, Andreas Müller wrote:
> >> On Sun, Apr 16, 2017 at 1:16 AM, Trevor Woerner <twoerner@gmail.com>
> wrote:
> >> > w00T! \O/
> >> >
> >> > Swapping out meta-raspberrypi for your meta-raspi-light works!!! I
> now have
> >> > accelerated glmark2-es2 ~40FPS :-D
> >> 40fps for glmark-es2 (did you mean glxgears)? The total result I get
> >> for Pi3 on X11 (xfce) is ~105-117 depending on cpu-governor. I don't
> >> know what Desktop/window manager you use but for graphics benchmarking
> >> you should disable compositor.
> >
> > ;-) haha ;-)
> > You couldn't just let me be happy?!
> OK - I am really sorry for this :))))
> > Yesterday it was running at 1FPS (*one*!! and probably less)
> > ;-) haha ;-)
> >
> > I'm using openbox, I can't imagine anything more minimal than that. But I
> > think I see where the difference lies. I usually run glmark2-es2
> fullscreen.
> Yeah openbox seems light weight and does no compositing.
> > When I run it in its own little window:
> >
> >         root@raspberrypi3:~# glmark2-es2
> >         MESA-LOADER: device is not located on the PCI bus
> >         MESA-LOADER: device is not located on the PCI bus
> >         MESA-LOADER: device is not located on the PCI bus
> >         =======================================================
> >             glmark2 2014.03
> >         =======================================================
> >             OpenGL Information
> >             GL_VENDOR:     Broadcom
> >             GL_RENDERER:   Gallium 0.4 on VC4 V3D 2.1
> >             GL_VERSION:    OpenGL ES 2.0 Mesa 17.0.2
> >         =======================================================
> >         [build] use-vbo=false: FPS: 126 FrameTime: 7.937 ms
> >         [build] use-vbo=true: FPS: 140 FrameTime: 7.143 ms
> >         [texture] texture-filter=nearest: FPS: 146 FrameTime: 6.849 ms
> >         [texture] texture-filter=linear: FPS: 141 FrameTime: 7.092 ms
> >         [texture] texture-filter=mipmap: FPS: 135 FrameTime: 7.407 ms
> >         [shading] shading=gouraud: FPS: 118 FrameTime: 8.475 ms
> >         [shading] shading=blinn-phong-inf: FPS: 102 FrameTime: 9.804 ms
> >         [shading] shading=phong: FPS: 69 FrameTime: 14.493 ms
> >         [shading] shading=cel: FPS: 69 FrameTime: 14.493 ms
> >         [bump] bump-render=high-poly: FPS: 68 FrameTime: 14.706 ms
> >         [bump] bump-render=normals: FPS: 154 FrameTime: 6.494 ms
> >         [bump] bump-render=height: FPS: 148 FrameTime: 6.757 ms
> >         [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 106 FrameTime: 9.434
> ms
> >         [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 71
> FrameTime: 14.085 ms
> >         [pulsar] light=false:quads=5:texture=false: FPS: 129 FrameTime:
> 7.752 ms
> >         [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4:
> FPS: 44 FrameTime: 22.727 ms
> >         [desktop] effect=shadow:windows=4: FPS: 90 FrameTime: 11.111 ms
> >         [buffer] columns=200:interleave=false:
> update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 63
> FrameTime: 15.873 ms
> >         [buffer] columns=200:interleave=false:
> update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 62
> FrameTime: 16.129 ms
> >         [buffer] columns=200:interleave=true:
> update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 73
> FrameTime: 13.699 ms
> >         [ideas] speed=duration: FPS: 132 FrameTime: 7.576 ms
> >         [jellyfish] <default>: FPS: 98 FrameTime: 10.204 ms
> >         [terrain] <default>: FPS: 5 FrameTime: 200.000 ms
> >         [shadow] <default>: FPS: 79 FrameTime: 12.658 ms
> >         [refract] <default>: FPS: 20 FrameTime: 50.000 ms
> >         [conditionals] fragment-steps=0:vertex-steps=0: FPS: 145
> FrameTime: 6.897 ms
> >         [conditionals] fragment-steps=5:vertex-steps=0: FPS: 124
> FrameTime: 8.065 ms
> >         [conditionals] fragment-steps=0:vertex-steps=5: FPS: 145
> FrameTime: 6.897 ms
> >         [function] fragment-complexity=low:fragment-steps=5: FPS: 139
> FrameTime: 7.194 ms
> >         [function] fragment-complexity=medium:fragment-steps=5: FPS: 39
> FrameTime: 25.641 ms
> >         [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5:
> FPS: 135 FrameTime: 7.407 ms
> >         [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5:
> FPS: 136 FrameTime: 7.353 ms
> >         [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5:
> FPS: 91 FrameTime: 10.989 ms
> >         =======================================================
> >                                           glmark2 Score: 101
> >         =======================================================
> >         root@raspberrypi3:~# cat /proc/loadavg
> >         0.15 0.15 0.09 1/130 458
> >
> > So, yes, I seem to be getting roughly what you're seeing.
> Yes I think the difference of our results is noise
> >
> > I have no idea what govenor I'm using, whatever is the default.
> I assume it is ondemand. That is default/fine (if you don't want to
> play music keyboard/sequencer).
> >
> > Here's what I get for fullscreen:
> >
> >         root@raspberrypi3:~# glmark2-es2 --fullscreen --annotate
> >         MESA-LOADER: device is not located on the PCI bus
> >         MESA-LOADER: device is not located on the PCI bus
> >         MESA-LOADER: device is not located on the PCI bus
> >         =======================================================
> >             glmark2 2014.03
> >         =======================================================
> >             OpenGL Information
> >             GL_VENDOR:     Broadcom
> >             GL_RENDERER:   Gallium 0.4 on VC4 V3D 2.1
> >             GL_VERSION:    OpenGL ES 2.0 Mesa 17.0.2
> >         =======================================================
> >         [build] use-vbo=false: FPS: 41 FrameTime: 24.390 ms
> >         [build] use-vbo=true: FPS: 43 FrameTime: 23.256 ms
> >         [texture] texture-filter=nearest: FPS: 42 FrameTime: 23.810 ms
> >         [texture] texture-filter=linear: FPS: 42 FrameTime: 23.810 ms
> >         [texture] texture-filter=mipmap: FPS: 42 FrameTime: 23.810 ms
> >         [shading] shading=gouraud: FPS: 40 FrameTime: 25.000 ms
> >         [shading] shading=blinn-phong-inf: FPS: 31 FrameTime: 32.258 ms
> >         [shading] shading=phong: FPS: 22 FrameTime: 45.455 ms
> >         [shading] shading=cel: FPS: 22 FrameTime: 45.455 ms
> >         [bump] bump-render=high-poly: FPS: 29 FrameTime: 34.483 ms
> >         [bump] bump-render=normals: FPS: 43 FrameTime: 23.256 ms
> >         [bump] bump-render=height: FPS: 42 FrameTime: 23.810 ms
> >         [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 30 FrameTime: 33.333
> ms
> >         [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 20
> FrameTime: 50.000 ms
> >         [pulsar] light=false:quads=5:texture=false: FPS: 35 FrameTime:
> 28.571 ms
> >         [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4:
> FPS: 12 FrameTime: 83.333 ms
> >         [desktop] effect=shadow:windows=4: FPS: 25 FrameTime: 40.000 ms
> >         [buffer] columns=200:interleave=false:
> update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 22
> FrameTime: 45.455 ms
> >         [buffer] columns=200:interleave=false:
> update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 22
> FrameTime: 45.455 ms
> >         [buffer] columns=200:interleave=true:
> update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 23
> FrameTime: 43.478 ms
> >         [ideas] speed=duration: FPS: 35 FrameTime: 28.571 ms
> >         [jellyfish] <default>: FPS: 30 FrameTime: 33.333 ms
> >         [terrain] <default>: FPS: 2 FrameTime: 500.000 ms
> >         [shadow] <default>: FPS: 32 FrameTime: 31.250 ms
> >         [refract] <default>: FPS: 13 FrameTime: 76.923 ms
> >         [conditionals] fragment-steps=0:vertex-steps=0: FPS: 40
> FrameTime: 25.000 ms
> >         [conditionals] fragment-steps=5:vertex-steps=0: FPS: 35
> FrameTime: 28.571 ms
> >         [conditionals] fragment-steps=0:vertex-steps=5: FPS: 40
> FrameTime: 25.000 ms
> >         [function] fragment-complexity=low:fragment-steps=5: FPS: 39
> FrameTime: 25.641 ms
> >         [function] fragment-complexity=medium:fragment-steps=5: FPS: 13
> FrameTime: 76.923 ms
> >         [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5:
> FPS: 38 FrameTime: 26.316 ms
> >         [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5:
> FPS: 38 FrameTime: 26.316 ms
> >         [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5:
> FPS: 27 FrameTime: 37.037 ms
> >         =======================================================
> >                                           glmark2 Score: 30
> >         =======================================================
> I never tried that before but prefer to run in not-fullscreeen because
> the results seem to depend on screen resolution.
>
> Happy easter,
>
> Andreas
> --
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto
>

[-- Attachment #2: Type: text/html, Size: 11885 bytes --]

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: ***SPAM*** Re: [meta-raspberrypi] gles2 on raspi3
  2017-04-15 18:09     ` Andreas Müller
  2017-04-15 23:16       ` Trevor Woerner
  2017-04-16 22:54       ` Trevor Woerner
@ 2017-04-20  3:41       ` Herve Jourdain
  2017-04-20  7:13         ` Trevor Woerner
  2 siblings, 1 reply; 20+ messages in thread
From: Herve Jourdain @ 2017-04-20  3:41 UTC (permalink / raw)
  To: 'Andreas Müller', 'Trevor Woerner'
  Cc: 'Yocto Project'

Hi Andreas,

Yes, VC4 indeed works for both 32bits and 64bits. It was first introduced for 32bits, actually.
Regarding why still using userland: at this point in time, we have accelerated HW codec (H.264, MPEG2, some audio) only if using userland.
If one doesn't need that, then VC4 is, in my opinion, the way to go. Otherwise, userland still needs to be used.

Cheers,
Herve

-----Original Message-----
From: yocto-bounces@yoctoproject.org [mailto:yocto-bounces@yoctoproject.org] On Behalf Of Andreas Müller
Sent: samedi 15 avril 2017 20:09
To: Trevor Woerner <twoerner@gmail.com>
Cc: Yocto Project <yocto@yoctoproject.org>
Subject: ***SPAM*** Re: [yocto] [meta-raspberrypi] gles2 on raspi3

On Sat, Apr 15, 2017 at 6:35 PM, Trevor Woerner <twoerner@gmail.com> wrote:
> On Sat 2017-04-15 @ 04:46:14 PM, Andreas Müller wrote:
>> > Does anyone have any of these (or something else?) working?
>> >
>> Ehm userland gles2 on X11? I would not expect that to work. Experts 
>> correct me but userland acceleration works for fullscreen apps only.
>
> I have made this work before (which, as you'll see later in this 
> email, doesn't imply that's how it's supposed to work!):
> https://twoerner.blogspot.ca/2015/09/oe-build-of-glmark2-running-on.ht
> ml
>
> Oh, and I did try both with and without "--fullscreen".
>
>> Why not using FOSS VC4+mesa?
>
> Now's probably a good time to point out I only have a vague idea of 
> what I'm doing ;-)
>
> I didn't try vc4 because the raspi recipes implied (to me) it was for 
> aarch64 only. The "vc4graphics" MACHINE_FEATURES is only added for raspberrypi3-64.
> I'll give this a try though.
Oh yes you are right - it is long time ago - maybe this was one of the reasons for my vc4-only fork. I thought it is an option set in local.conf.
>
> Here's another question that only shows my inexperience in this 
> area... does using mesa always imply software-only rendering? mali 
> (for example) would be hardware rendering (though through a binary 
> blob) and mesa is the software fallback?
I am also no expert here but Mesa is the open source userspace part for accelerated graphics. Mesa-SW rendering driver is a fallback in case no driver is supported/implemented. This is what you have seen for glmark2. Since the VC4-Mesa was implemented, for me RaspberryPi turned into the reference hardware regarding graphics. You can have accelerated X11 + wayland in one image without any trouble with proper working modesetting (and HDMI sound is on it's way). I've never had this before on other machines where closed source blobs do graphics acceleration. Either you have fb only (no X11/wayland) or you have to decide either X11 or wayland - and worst: With every new version of xserver you have to expect trouble.
>
> By the way, with my current setup I have been able to run openGL apps (e.g.
> glmark2 by itself) albeit most definitely non-accelerated!
mesa-gl builds swrast - mentioned above
>
> A lot of google searches talk about setting environment variables. Are 
> there any that might apply?
>
For the first shot I would add vc4graphics to MACHINE_FEATURES in raspberrypi3.conf. The required settings should happen (see recipe rpi-config).

In the long run I would start a discussion:

* Mesa/VC4 is not a machine feature only available on 64Bit Pi3 only:
It is common to all version of RaspberryPi. Using mesa should be a decision easily selected by a setting somewhere. The only reason 64Bit
Pi3 gets VC4 by default is that userland is not working for 64Bit - see commit 9d418db5ed2962821987ac90c07c3a61e40c0814)
* Why still use userland? Dropping it would make things MUCH easier:
All the decisions based vc4graphics in MACHINE_FEATURES could be removed (that's what my fork does)

Andreas
--
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [meta-raspberrypi] gles2 on raspi3
  2017-04-20  3:41       ` ***SPAM*** " Herve Jourdain
@ 2017-04-20  7:13         ` Trevor Woerner
  2017-04-20 11:56           ` Herve Jourdain
  2017-04-20 16:55           ` Khem Raj
  0 siblings, 2 replies; 20+ messages in thread
From: Trevor Woerner @ 2017-04-20  7:13 UTC (permalink / raw)
  To: Herve Jourdain; +Cc: 'Yocto Project'

On Thu 2017-04-20 @ 05:41:44 AM, Herve Jourdain wrote:
> Yes, VC4 indeed works for both 32bits and 64bits. It was first introduced  .
> for 32bits, actually Regarding why still using userland: at this point in  .
> time, we have accelerated HW codec (H.264, MPEG2, some audio) only if using.
> userland If one doesn't need that, then VC4 is, in my opinion, the way to  .
> go. Otherwise, userland still needs to be used                             .

What decoder is needed to play youtube videos?

Using Andreas' meta-raspi-light (which removes userland and only uses vc4)
I've spent the last hour or so watching youtube videos from my raspberrypi3
(32-bit build) in chromium, accelerated, with sound (both via the HDMI and the
jack), both on the big monitor and the 7" waveshare touchscreen. Not to
mention I can now run openGL and GLESx apps accelerated.

I wasn't able to do that with userland. In fact, it was quite a struggle just
to get it to build!

Maybe I did something wrong with userland, but vc4 is successful, and
certainly easier to work with.


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [meta-raspberrypi] gles2 on raspi3
  2017-04-20  7:13         ` Trevor Woerner
@ 2017-04-20 11:56           ` Herve Jourdain
  2017-04-20 12:58             ` Andreas Müller
  2017-04-20 16:55           ` Khem Raj
  1 sibling, 1 reply; 20+ messages in thread
From: Herve Jourdain @ 2017-04-20 11:56 UTC (permalink / raw)
  To: 'Trevor Woerner'; +Cc: 'Yocto Project'

Hi Trevor,

I agree with you that VC4 is easier to work with - and can be patched if there are issues.
But normally you lose the H.264 and MPEG2 HW decoders, and a bunch of audio codecs, provided by the userland/omx.
Depending on what you're doing, you may or may not notice the difference. But I'm not sure how well you can handle 1080p30 or 1080p60 in H.264 using only ffmpeg - if you're using chromium, that's what you should be using I guess.
My personal preference would be to use VC4, and that's what I do most of the time, but there is still a limitation for the moment, that I just wanted to point out.
And that's why I think we can't do only VC4, and probably have to keep userland a while longer.

Cheers,
Herve

-----Original Message-----
From: Trevor Woerner [mailto:twoerner@gmail.com] 
Sent: jeudi 20 avril 2017 09:13
To: Herve Jourdain <herve.jourdain@neuf.fr>
Cc: 'Andreas Müller' <schnitzeltony@googlemail.com>; 'Yocto Project' <yocto@yoctoproject.org>
Subject: Re: [yocto] [meta-raspberrypi] gles2 on raspi3

On Thu 2017-04-20 @ 05:41:44 AM, Herve Jourdain wrote:
> Yes, VC4 indeed works for both 32bits and 64bits. It was first introduced  .
> for 32bits, actually Regarding why still using userland: at this point in  .
> time, we have accelerated HW codec (H.264, MPEG2, some audio) only if using.
> userland If one doesn't need that, then VC4 is, in my opinion, the way to  .
> go. Otherwise, userland still needs to be used                             .

What decoder is needed to play youtube videos?

Using Andreas' meta-raspi-light (which removes userland and only uses vc4) I've spent the last hour or so watching youtube videos from my raspberrypi3 (32-bit build) in chromium, accelerated, with sound (both via the HDMI and the jack), both on the big monitor and the 7" waveshare touchscreen. Not to mention I can now run openGL and GLESx apps accelerated.

I wasn't able to do that with userland. In fact, it was quite a struggle just to get it to build!

Maybe I did something wrong with userland, but vc4 is successful, and certainly easier to work with.



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [meta-raspberrypi] gles2 on raspi3
  2017-04-20 11:56           ` Herve Jourdain
@ 2017-04-20 12:58             ` Andreas Müller
  0 siblings, 0 replies; 20+ messages in thread
From: Andreas Müller @ 2017-04-20 12:58 UTC (permalink / raw)
  To: Herve Jourdain; +Cc: Yocto Project

On Thu, Apr 20, 2017 at 1:56 PM, Herve Jourdain <herve.jourdain@neuf.fr> wrote:
> Hi Trevor,
>
> I agree with you that VC4 is easier to work with - and can be patched if there are issues.
> But normally you lose the H.264 and MPEG2 HW decoders, and a bunch of audio codecs, provided by the userland/omx.
> Depending on what you're doing, you may or may not notice the difference. But I'm not sure how well you can handle 1080p30 or 1080p60 in H.264 using only ffmpeg - if you're using chromium, that's what you should be using I guess.
> My personal preference would be to use VC4, and that's what I do most of the time, but there is still a limitation for the moment, that I just wanted to point out.
> And that's why I think we can't do only VC4, and probably have to keep userland a while longer.
Thanks for clarification - and I agree with you. For me it is not a
use case but others have different needs.

Andreas


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [meta-raspberrypi] gles2 on raspi3
  2017-04-20  7:13         ` Trevor Woerner
  2017-04-20 11:56           ` Herve Jourdain
@ 2017-04-20 16:55           ` Khem Raj
  2017-04-21  3:19             ` Gary Thomas
  1 sibling, 1 reply; 20+ messages in thread
From: Khem Raj @ 2017-04-20 16:55 UTC (permalink / raw)
  To: Trevor Woerner; +Cc: Yocto Project

On Thu, Apr 20, 2017 at 12:13 AM, Trevor Woerner <twoerner@gmail.com> wrote:
> On Thu 2017-04-20 @ 05:41:44 AM, Herve Jourdain wrote:
>> Yes, VC4 indeed works for both 32bits and 64bits. It was first introduced  .
>> for 32bits, actually Regarding why still using userland: at this point in  .
>> time, we have accelerated HW codec (H.264, MPEG2, some audio) only if using.
>> userland If one doesn't need that, then VC4 is, in my opinion, the way to  .
>> go. Otherwise, userland still needs to be used                             .
>
> What decoder is needed to play youtube videos?
>
> Using Andreas' meta-raspi-light (which removes userland and only uses vc4)
> I've spent the last hour or so watching youtube videos from my raspberrypi3
> (32-bit build) in chromium, accelerated, with sound (both via the HDMI and the
> jack), both on the big monitor and the 7" waveshare touchscreen. Not to
> mention I can now run openGL and GLESx apps accelerated.
>

try to play 1080p video and you will see the difference. I use my pi3
as media center using kodi, I am waiting for vc4 driver to get
feature/performance parity with userland until then we have to keep
using it atleast for media centric usecases.

> I wasn't able to do that with userland. In fact, it was quite a struggle just
> to get it to build!
>
> Maybe I did something wrong with userland, but vc4 is successful, and
> certainly easier to work with.
> --
> _______________________________________________
> yocto mailing list
> yocto@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/yocto


^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [meta-raspberrypi] gles2 on raspi3
  2017-04-20 16:55           ` Khem Raj
@ 2017-04-21  3:19             ` Gary Thomas
  0 siblings, 0 replies; 20+ messages in thread
From: Gary Thomas @ 2017-04-21  3:19 UTC (permalink / raw)
  To: yocto

On 2017-04-20 18:55, Khem Raj wrote:
> On Thu, Apr 20, 2017 at 12:13 AM, Trevor Woerner <twoerner@gmail.com> wrote:
>> On Thu 2017-04-20 @ 05:41:44 AM, Herve Jourdain wrote:
>>> Yes, VC4 indeed works for both 32bits and 64bits. It was first introduced  .
>>> for 32bits, actually Regarding why still using userland: at this point in  .
>>> time, we have accelerated HW codec (H.264, MPEG2, some audio) only if using.
>>> userland If one doesn't need that, then VC4 is, in my opinion, the way to  .
>>> go. Otherwise, userland still needs to be used                             .
>>
>> What decoder is needed to play youtube videos?
>>
>> Using Andreas' meta-raspi-light (which removes userland and only uses vc4)
>> I've spent the last hour or so watching youtube videos from my raspberrypi3
>> (32-bit build) in chromium, accelerated, with sound (both via the HDMI and the
>> jack), both on the big monitor and the 7" waveshare touchscreen. Not to
>> mention I can now run openGL and GLESx apps accelerated.
>>
>
> try to play 1080p video and you will see the difference. I use my pi3
> as media center using kodi, I am waiting for vc4 driver to get
> feature/performance parity with userland until then we have to keep
> using it atleast for media centric usecases.

Are you building kodi using meta-multimedia?  If so, could you share
your local.conf?

>
>> I wasn't able to do that with userland. In fact, it was quite a struggle just
>> to get it to build!
>>
>> Maybe I did something wrong with userland, but vc4 is successful, and
>> certainly easier to work with.

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------


^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2017-04-21  3:19 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-04-15 13:39 [meta-raspberrypi] gles2 on raspi3 Trevor Woerner
2017-04-15 14:46 ` Andreas Müller
2017-04-15 16:35   ` Trevor Woerner
2017-04-15 18:09     ` Andreas Müller
2017-04-15 23:16       ` Trevor Woerner
2017-04-16 23:23         ` Andreas Müller
2017-04-17  0:30           ` Trevor Woerner
2017-04-17  0:49             ` Andreas Müller
2017-04-17  0:45           ` Trevor Woerner
2017-04-16 23:52         ` Andreas Müller
2017-04-17  0:27           ` Trevor Woerner
2017-04-17  1:11             ` Andreas Müller
2017-04-18  4:16               ` Changhyeok Bae
2017-04-16 22:54       ` Trevor Woerner
2017-04-20  3:41       ` ***SPAM*** " Herve Jourdain
2017-04-20  7:13         ` Trevor Woerner
2017-04-20 11:56           ` Herve Jourdain
2017-04-20 12:58             ` Andreas Müller
2017-04-20 16:55           ` Khem Raj
2017-04-21  3:19             ` Gary Thomas

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.