Chrome on Raspberry Pi (with dispmanx)

892 views
Skip to first unread message

Liam McLoughlin

unread,
May 17, 2012, 1:21:39 PM5/17/12
to chromi...@chromium.org
Anyone very familiar with EGL/GLESv2 who can give me a hand getting the Broadcom-specifics of the Raspberry Pi working with the EGL surface/context code in Chrome? I've added the dispmanx stuff, and here's where I am at the moment:

./chrome --use-gl=egl -log-level=0 and --enable-logging=stderr --vmodule=gl*=3                                                                               
[1597:1597:1219673032:INFO:gpu_main.cc(85)] gpu_info_collector::CollectGraphicsInfo failed
[1597:1597:1219831736:VERBOSE1:gles2_cmd_decoder.cc(2139)] GL_OES_packed_depth_stencil not supported.
[1597:1597:1219842298:ERROR:gles2_cmd_decoder.cc(3031)] GLES2DecoderImpl::ResizeOffscreenFrameBuffer failed because offscreen FBO was incomplete.
[1597:1597:1219844701:ERROR:gles2_cmd_decoder.cc(2211)] Could not allocate offscreen buffer storage.
[1573:1573:1219850261:ERROR:command_buffer_proxy_impl.cc(134)] Failed to initialize command buffer service.
[1573:1573:1219854068:FATAL:image_transport_factory.cc(377)] Failed to make compositor shared context current.

My understanding is that GL_OES_packed_depth_stencil is very much supported, and so I think my surface setup code is incorrect. My (rather terrible) patch is at http://radium.hexxeh.net/chromium-dispmanx.patch


Any pointers in the right direction would be hugely appreciated. Maybe the entire idea is bypassing X for graphics isn't sane? If you'd like to build for the Raspberry Pi, you can find a CL for my board overlay here: https://gerrit.chromium.org/gerrit/#change,22836

Thanks,
Liam McLoughlin

Simon Hong

unread,
May 17, 2012, 4:45:55 PM5/17/12
to hex...@hexxeh.net, chromi...@chromium.org
What is your egl platform? X or FB?
Are you enable aura or not?

--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev



--
======================================
Simon Hong
"Secret of success is consistency to purpose"

Liam McLoughlin

unread,
May 17, 2012, 4:51:25 PM5/17/12
to Simon Hong, chromi...@chromium.org
FB I believe. There's absolutely no accel under X11 on Raspberry Pi, so I used EGL_DEFAULT_DISPLAY in the hope that'd get a fullscreen window accelerated for Chrome with Aura. Aura is enabled, as this is a ChromeOS build.

Simon Hong

unread,
May 17, 2012, 5:13:22 PM5/17/12
to Liam McLoughlin, chromi...@chromium.org
AFAIK, Aura is coupled with X.
So, I believe your platform is run under X. right?

If you are running chromium under X, RootWindowHostLinux (src/ui/aura/root_window_host_linux.h) is used for root window.
It uses XCreateWindow() to get NATIVEWINDOWTYPE for eglCreateWindowSurface() - refer to root_window_host_linux.cc

So, In my opinion, your chromium uses egl on X (maybe mesa..) not egl on your platform(fb?).

Liam McLoughlin

unread,
May 17, 2012, 5:20:12 PM5/17/12
to Simon Hong, chromi...@chromium.org
I was afraid somebody would say that. I'd heard of some patches that allow Chromium to run without X (Nitrous), might they be a feasible approach to getting Chrome running on the Pi?

Elliot Glaysher (Chromium)

unread,
May 17, 2012, 5:21:18 PM5/17/12
to hex...@hexxeh.net, Simon Hong, chromi...@chromium.org
On Thu, May 17, 2012 at 2:20 PM, Liam McLoughlin <hex...@hexxeh.net> wrote:
> I was afraid somebody would say that. I'd heard of some patches that allow
> Chromium to run without X (Nitrous), might they be a feasible approach to
> getting Chrome running on the Pi?

Not with aura as is; you'll need a RootWindowHostNitrous, or whatnot.
Probably other parts too.

-- Elliot

Simon Hong

unread,
May 17, 2012, 5:25:44 PM5/17/12
to Elliot Glaysher (Chromium), hex...@hexxeh.net, chromi...@chromium.org
To run aura on EGL without X, Reimplments RooWindowHost like RootWindowHostNitrous(I don't know about it).
And maybe New MessagePump will be needed to get input event from your platform.
Reply all
Reply to author
Forward
0 new messages