gl in native client suddenly stopped working

841 views
Skip to first unread message

Jamie Fristrom

unread,
Aug 25, 2011, 8:10:33 PM8/25/11
to Native-Client-Discuss
I've been developing an opengl nacl thing fine for the past couple of
weeks - suddenly this afternoon the gl stopped working. Native Client
programs still run, but no graphics display, in the samples I've
looked at - including tumbler and ogre3d - so it isn't my code, it's
something changing in the browser...

Things I've tried:
checked about:plugins and about:flags
checked my command line to make sure --enable-accelerated-plugins and
--enable-nacl are still there
checked my environment variables to make sure NACL_ENABLE_PPAPI_DEV =
1
shutting down my computer and restarting it

What could I be missing? What have I done to mess things up?

Is it possible that chrome auto-updated to a different, not-working,
version?
About says it's 14.0.835.109 beta-m - I think that's the version I was
running before but am not positive.

David Springer

unread,
Aug 25, 2011, 10:45:14 PM8/25/11
to native-cli...@googlegroups.com
OpenGL is not supported in Chrome/NaCl ... yet.  There are plans to support it in Chrome M15 - I would suggest you check out an M15 Canary build and try that.  The 3D API is still changing.


--
You received this message because you are subscribed to the Google Groups "Native-Client-Discuss" group.
To post to this group, send email to native-cli...@googlegroups.com.
To unsubscribe from this group, send email to native-client-di...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/native-client-discuss?hl=en.


Assaf Raman

unread,
Aug 26, 2011, 3:42:13 AM8/26/11
to Native-Client-Discuss
Does WebGL samples work? Did you try to restart the computer? Did you
install a new GPU driver? Are you working with more then one monitor?

Peter Andreasen

unread,
Aug 26, 2011, 3:56:36 AM8/26/11
to native-cli...@googlegroups.com
Yeah. It happened for me as well, see comment #6 here: http://code.google.com/p/chromium/issues/detail?id=93174

Looks like it is due to some API changes so if your code (as our) was based on the Tumbler initially you may have to fix up that. I am going to try and change our code later today and see if that is indeed the problem.

- Peter

Gregg Tavares (wrk)

unread,
Aug 26, 2011, 4:54:21 AM8/26/11
to native-cli...@googlegroups.com
There was a big perf regression in the latest Canary. (sorry, that's why it's canary) Should be fixed in the next Canary

If you want to just want to get work done you can download old versions of Chromium here.

Those are straight off our build bots so who knows what bugs are in them but I use them quite often.

Generally I download to the same place and unzip in the same place. For windows I have a shortcut that I pass a bunch of options.  For mac I have a script 'chrometest' (below)

An important one for me is --user-data-dir=somefolder. That way the prefs and cache and other stuff from these unstable versions of Chrome don't mix with my stable version

Note, those versions are of Chromium, not Chrome, so certain features that can't be made open source are not available. Sorry, I don't have a list of what those might be but I haven't run into any issues because of that yet.

----chrometest-for-osx--cut-here----
#!/bin/sh
export NACL_ENABLE_PPAPI_DEV=1
/Users/gman/Downloads/chrome-mac/Chromium.app/Contents/MacOS/Chromium --enable-nacl --enable-accelerated-plugins --allow-file-access-from-files --user-data-dir=/Users/gman/.chrome-dev/data --disable-popup-blocking --enable-fullscreen $@ &



David Springer

unread,
Aug 26, 2011, 10:13:35 AM8/26/11
to native-cli...@googlegroups.com
On Fri, Aug 26, 2011 at 1:56 AM, Peter Andreasen <pandr...@gmail.com> wrote:
Yeah. It happened for me as well, see comment #6 here: http://code.google.com/p/chromium/issues/detail?id=93174

Looks like it is due to some API changes so if your code (as our) was based on the Tumbler initially you may have to fix up that. I am going to try and change our code later today and see if that is indeed the problem.

Please note that the tumbler example has been updated and in the examples directory in the SDK repo.  It's hasn't made it into an official release of the NaCl SDK yet.  The important changes are the move to use pp::Graphics3D_Dev to manage the context and surface.

The old tumbler example code was under experimental while the APIs were in flux.

Note that pp::Graphics3D_Dev is still a Dev interface.  This means it's subject to change without notice, and that 3D might not always work in Chrome.

 

- Peter

--
You received this message because you are subscribed to the Google Groups "Native-Client-Discuss" group.

Jamie Fristrom

unread,
Aug 26, 2011, 2:08:09 PM8/26/11
to Native-Client-Discuss
Sorry, I failed to make clear just how weird what I'm seeing is.
Everything was working and then it wasn't. I never updated the sdk -
I'm still using 0_5_984. I'm not using the canary Chrome, I'm still
using 14.0.835.109. And these aren't just my projects I'm having
trouble with. The ogre3d and tumbler sample that Assaf put up, for
example, load but don't render. They used to render for me, and then
something just ... changed ... yesterday.
(Assaf, do they still work for you? What version of Chrome are you
using?)
It's as if Chrome is just ignoring the --enable-accelerated-plugins
command line parameter.
Yes, I tried restarting my machine. I tried uninstalling and
reinstalling chrome. I tried a couple of different ways of passing the
command line to Chrome. I've only got one monitor. WebGL still works.

Sorry about this. If I were you I'd dismiss it as *some* kind of
operator error, and I'm sure it is, I just don't know what, and don't
really expect you to be able to help, but don't know what else to try
at this point.

Any other ideas?

Jeff Ward

unread,
Aug 26, 2011, 2:44:59 PM8/26/11
to native-cli...@googlegroups.com
I have a feeling (a chrome dev should probably confirm) that a new version of 14 was pushed to beta channel that is now no longer supports the way we were creating surfaces, and is instead using pp::Graphics3D_Dev.

If you look at the tumber sample that's currently in source control (http://code.google.com/p/nativeclient-sdk/source/browse#svn%2Ftrunk%2Fsrc%2Fexamples%2Ftumbler) You'll see they've swtiched how creating contexts is done.  Relevant code is in OpenGL_Context.cc.

You may want to try adjusting your initialization code to match the new tumbler sample and see if that fixes the issue.

--
Jeff

--
You received this message because you are subscribed to the Google Groups "Native-Client-Discuss" group.

Jeff Ward

unread,
Aug 26, 2011, 2:47:46 PM8/26/11
to native-cli...@googlegroups.com
By the way, although they probably can't confirm anything (they don't comment on schedule), I think the NaCL SDK team is on a 4-6 week release cycle.  Coupled with breaking changes to the beta channel, this probably means that SDK 0.6 is probably due out soon.

Jamie Fristrom

unread,
Aug 26, 2011, 3:29:26 PM8/26/11
to Native-Client-Discuss
Could I have gotten a new version of Chrome without realizing it? Does
it happen automatically behind the scenes?

On Aug 26, 11:44 am, Jeff Ward <j...@fuzzybinary.com> wrote:
> I have a feeling (a chrome dev should probably confirm) that a new version
> of 14 was pushed to beta channel that is now no longer supports the way we
> were creating surfaces, and is instead using pp::Graphics3D_Dev.
>
> If you look at the tumber sample that's currently in source control (http://code.google.com/p/nativeclient-sdk/source/browse#svn%2Ftrunk%2...)
> You'll see they've swtiched how creating contexts is done.  Relevant code is
> in OpenGL_Context.cc.
>
> You may want to try adjusting your initialization code to match the new
> tumbler sample and see if that fixes the issue.
>
> --
> Jeff
>

Jeff Ward

unread,
Aug 26, 2011, 3:34:54 PM8/26/11
to native-cli...@googlegroups.com
In my experience, yes.  Once you're in a channel, chrome will update itself automatically.

Jamie Fristrom

unread,
Aug 26, 2011, 4:31:13 PM8/26/11
to Native-Client-Discuss
Interesting. Does anyone know how to turn off that feature - so I can
get updates on my own schedule, when I'm ready? If it happens
automagically, I don't know if an introduced problem is something I
introduced or breaking changes in chrome.


On Aug 26, 12:34 pm, Jeff Ward <j...@fuzzybinary.com> wrote:
> In my experience, yes.  Once you're in a channel, chrome will update
> itself automatically.
>

Assaf Raman

unread,
Aug 26, 2011, 4:45:21 PM8/26/11
to Native-Client-Discuss
Hi,

It may not be that of a good idea to change Chrome in a way that you
can't write 3d NaCl programs without having a new Native Client SDK
that wasn't released yet.

My OGRE NaCl sample doesn't work - and in order to fix it I guess I
need to compile the NaCl SDK for windows on my own... I didn't plan
the time for it...

On the other hand - it seems that you are adding a 3d sample to the
next SDK release - so thanks for that!

Regards,

Assaf

On Aug 26, 9:47 pm, Jeff Ward <j...@fuzzybinary.com> wrote:
> By the way, although they probably can't confirm anything (they don't
> comment on schedule), I think the NaCL SDK team is on a 4-6 week release
> cycle.  Coupled with breaking changes to the beta channel, this probably
> means that SDK 0.6 is probably due out soon.
>
>
>
>
>
>
>
> On Fri, Aug 26, 2011 at 2:44 PM, Jeff Ward <j...@fuzzybinary.com> wrote:
> > I have a feeling (a chrome dev should probably confirm) that a new version
> > of 14 was pushed to beta channel that is now no longer supports the way we
> > were creating surfaces, and is instead using pp::Graphics3D_Dev.
>
> > If you look at the tumber sample that's currently in source control (
> >http://code.google.com/p/nativeclient-sdk/source/browse#svn%2Ftrunk%2...)
> > You'll see they've swtiched how creating contexts is done.  Relevant code is
> > in OpenGL_Context.cc.
>
> > You may want to try adjusting your initialization code to match the new
> > tumbler sample and see if that fixes the issue.
>
> > --
> > Jeff
>

Assaf Raman

unread,
Aug 26, 2011, 5:01:27 PM8/26/11
to Native-Client-Discuss
Hi,

One other note, you write here: http://code.google.com/chrome/nativeclient/docs/releasenotes.html#0.5
"
Starting with Chrome 14, Native Client has a stable application binary
interface (ABI). That means there is no longer a need to match
versions of Chrome with versions of the SDK. Applications compiled
with version 0.5 of the SDK will work in Chrome 14 and future versions
of Chrome.
"

I guess I didn't understand, but I have an nexe that was compiled with
0.5 that doesn't work in Chrome 14... I can even make changes in my
code and recompile it so it works.
You may want to clarify that in the 0.6 SDK release notes...

Regards,

Assaf

Assaf Raman

unread,
Aug 26, 2011, 5:03:25 PM8/26/11
to Native-Client-Discuss
Typo - it should have been: I can't even make changes in my code and
recompile it so it works.

David Springer

unread,
Aug 26, 2011, 5:21:25 PM8/26/11
to native-cli...@googlegroups.com
On Fri, Aug 26, 2011 at 3:03 PM, Assaf Raman <assaf...@gmail.com> wrote:
Typo - it should have been: I can't even make changes in my code and
recompile it so it works.

Folks: just to be clear, as of Chrome M14 3D is an unsupported API in Pepper, as are all APIs with the _Dev suffix.  This means there are no guarantees that your code will run or even compile between versions of Chrome.

Once 3D reaches the stable channel (it is promoted from _Dev), then it will be guaranteed to work.  Until then, all bets are off.

Perhaps this fact could be explained a little more clearly in the NaCl SDK docs?

Jeff Ward

unread,
Aug 26, 2011, 5:23:21 PM8/26/11
to native-cli...@googlegroups.com
Assaf,

This refers to the ABI, the binary interface, not the API.  In previous versions of the SDK / Chrome, a compiled .nexe wouldn't even load in a mismatched version of Chrome.  Here, the nexe is loading and running, but the API it's using is unstable.

Hope that makes sense.

--
Jeff

Victor Khimenko

unread,
Aug 26, 2011, 5:26:41 PM8/26/11
to native-cli...@googlegroups.com
On Sat, Aug 27, 2011 at 1:23 AM, Jeff Ward <je...@fuzzybinary.com> wrote:
Assaf,

This refers to the ABI, the binary interface, not the API.  In previous versions of the SDK / Chrome, a compiled .nexe wouldn't even load in a mismatched version of Chrome.  Here, the nexe is loading and running, but the API it's using is unstable.

Well, it refers to ABI, but this is not the problem. The problem is that you've used _Dev interface. When you did that you forfeited support: these interfaces can be broken at any time without any warnings. Once they are stabilized _Dev prefix is removed and you can use them safely. This is how Extensions API is changing over time in Chrome, so it's not a new model.

Perhaps this should be noted prominently in release notes...

Jeff Ward

unread,
Aug 26, 2011, 5:33:59 PM8/26/11
to native-cli...@googlegroups.com
I think everyone understands we're using a _Dev interface.  I think the problem for Jamie and Assaf are having is that the _Dev interface broke completely silently in a minor Chrome update.  I don't think anyone is ready to publish anything here (I could be wrong, but that's my understanding), but we do like our development environments to be stable while we're tinkering.

Generally, I think we're all prepared for _Dev interfaces to break, but having control over *when* they break is usually nice (meaning, when we explicitly update Chrome, instead of when it silently updates).  At least then we can narrow down the problem to the update.

Anyway, the original question was just "Did chrome update itself and break OpenGL support?"  The simple answer is "Yes.  Yes it did."

The next question is "Can we disable Chrome automatic updates?"

Then of course, the inevitable "Is that a good idea?" ;)

--
Jeff

--

Assaf Raman

unread,
Aug 26, 2011, 5:39:22 PM8/26/11
to Native-Client-Discuss
I understand.
I disabled all my demo pages and added a note about this issue - until
it is resolved.
Note that you have links to my OGRE NaCl demo in some of your issues.
I will update the demos soon after you will release the next SDK (0.6)
- and re-enable the pages.
Keep up the good work, as I wrote - moving 3d to be a stable feature
is something all of us in the OGRE community wait for.
I even have the code for the first NaCl OGRE 3d game that will be in
the app store (a GPL 3d chess).

Cheers,

Assaf

On Aug 27, 12:26 am, Victor Khimenko <k...@google.com> wrote:

Peter Andreasen

unread,
Aug 26, 2011, 6:26:17 PM8/26/11
to native-cli...@googlegroups.com
I don't know how to stop the autoupdate of Canary/Chrome, but it would be a nice feature. And it would be awesome to have an about:versions page where you could see the latest history of upgrades/versions..

For now I have started grabbing builds from here: http://commondatastorage.googleapis.com/chromium-browser-continuous/index.html?path=Win/ so I can hang on to something I know works.

- Peter

Christian Stefansen

unread,
Aug 26, 2011, 6:31:24 PM8/26/11
to native-cli...@googlegroups.com
Thanks, everybody, for trying out the cutting edge Chrome and for reporting the issues!

As others have mentioned, sporadic breakages are likely to occur while the 3D interfaces are in dev/. Chrome auto-updates itself when a newer version is available on the given channel (stable, beta, dev, or canary), and it is not possible to turn this off. To avoid potential breakage when this happens, you can use known good versions of Chromium, Chrome's non-Google branded sibling, which does not auto-update itself. You can find Chromium builds at http://commondatastorage.googleapis.com/chromium-browser-continuous/index.html.

Known good builds of Chromium include revisions 96198 and 97282 (using pp::Surface3D_Dev and pp::Context3D_Dev) and revision 98412 (using the newer pp::Graphics3D_Dev). If you are using the currently released SDK, you should use one of the former; if you feel adventurous and don't mind checking stuff out from our repositories, you can use the latter.

ABI stability means that a nexe will continue to work from the first version where all the interfaces it uses were out of dev/ and onwards. It does not mean the APIs won't change in newer versions (potentially necessitating adjustments when recompiling).

We are working on getting the 3D interfaces stabilized, so that we can pull them out of dev/. When that happens you will be able to use Chrome for development purposes. Coming interfaces such as full-screen, mouse lock, peer-to-peer networking, and Web Sockets will go through the same process: early adopters who are keen to get started may want to use known good builds of Chromium to shield themselves from the churn until the interfaces are out of dev/.

Cheers,
Christian

--
You received this message because you are subscribed to the Google Groups "Native-Client-Discuss" group.
To post to this group, send email to native-cli...@googlegroups.com.
To unsubscribe from this group, send email to native-client-di...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/native-client-discuss?hl=en.




--
Christian Stefansen
Product Manager
Google


Jamie Fristrom

unread,
Aug 26, 2011, 7:15:06 PM8/26/11
to Native-Client-Discuss
Thanks so much - yes, switching to the Chromium build fixed it (I went
for 97282 - I'm not *that* adventurous). Good to know I'm not crazy.
And Jeff for president, he said exactly what I was trying to say.



On Aug 26, 3:31 pm, Christian Stefansen <cstefan...@google.com> wrote:
> Thanks, everybody, for trying out the cutting edge Chrome and for reporting
> the issues!
>
> As others have mentioned, sporadic breakages are likely to occur while the
> 3D interfaces are in dev/. Chrome auto-updates itself when a newer version
> is available on the given channel (stable, beta, dev, or canary), and it is
> not possible to turn this off. To avoid potential breakage when this
> happens, you can use known good versions of Chromium, Chrome's non-Google
> branded sibling, which does not auto-update itself. You can find Chromium
> builds athttp://commondatastorage.googleapis.com/chromium-browser-continuous/i...
> .

pps

unread,
Aug 29, 2011, 5:44:28 PM8/29/11
to Native-Client-Discuss
Hi,

I got the latest? SDK (0.5.1052) and tried to create a little GL app
(compiles/links fine), but running it in build 98412 fails because
glInitializePPAPI(..) in the module Init() method is returning false.

I also tried 97282 and 15.0.865.0 canary and found the same issue. FYI
- the module runs fine, but glInitializePPAPI() is returning false.

Does anyone else have this problem? Anyone have a list of cases where
the call may fail?

Thanks!
Prasad

On Aug 26, 6:31 pm, Christian Stefansen <cstefan...@google.com> wrote:
> Thanks, everybody, for trying out the cutting edge Chrome and for reporting
> the issues!
>
> As others have mentioned, sporadic breakages are likely to occur while the
> 3D interfaces are in dev/. Chrome auto-updates itself when a newer version
> is available on the given channel (stable, beta, dev, or canary), and it is
> not possible to turn this off. To avoid potential breakage when this
> happens, you can use known good versions of Chromium, Chrome's non-Google
> branded sibling, which does not auto-update itself. You can find Chromium
> builds athttp://commondatastorage.googleapis.com/chromium-browser-continuous/i...
> .

Christian Stefansen

unread,
Aug 29, 2011, 5:47:45 PM8/29/11
to native-cli...@googlegroups.com
Hi Prasad,

Could you confirm that you are using NACL_PPAPI_ENABLE_DEV=1, pp::Graphics3D_Dev (given that you're using rev 98412), --enable-nacl, and --enable-accelerated-plugins?

If you are, could you send some code we can look at?

Thanks,
Christian

Christian Stefansen

unread,
Aug 29, 2011, 5:48:53 PM8/29/11
to native-cli...@googlegroups.com
Make that NACL_ENABLE_PPAPI_DEV=1.
Message has been deleted

pps

unread,
Aug 29, 2011, 6:32:26 PM8/29/11
to Native-Client-Discuss
Those steps helped with getting glInitializePPAPI() to return true.
Thanks!

Sorry if I'm missing something obvious, but is there some repository
online with these config steps?

On Aug 29, 5:48 pm, Christian Stefansen <cstefan...@google.com> wrote:
> Make that NACL_ENABLE_PPAPI_DEV=1.
>
> On Mon, Aug 29, 2011 at 2:47 PM, Christian Stefansen
> <cstefan...@google.com>wrote:
>
>
>
>
>
>
>
>
>
> > Hi Prasad,
>
> > Could you confirm that you are using NACL_PPAPI_ENABLE_DEV=1, pp::Graphics3D_Dev
> > (given that you're using rev 98412), --enable-nacl, and
> > --enable-accelerated-plugins?
>
> > If you are, could you send some code we can look at?
>
> > Thanks,
> > Christian
>

Christian Stefansen

unread,
Aug 29, 2011, 6:47:22 PM8/29/11
to native-cli...@googlegroups.com
We don't have officially released docs yet (because the feature hasn't been released yet :-)). I've been keeping this document up-to-date for those interested in getting a head start with 3D: http://www.chromium.org/nativeclient/how-tos/guide-to-experimental-3d-support

Also see http://www.chromium.org/nativeclient/how-tos/3d-tips-and-best-practices for performance tips.

Thanks,
Christian

Assaf Raman

unread,
Aug 30, 2011, 3:03:01 AM8/30/11
to Native-Client-Discuss
Hi,

I looked at the ppapi code, is there a "how-to compile ppapi API for
NaCl" webpage? Or better - a nightly build of it?
If such a thing exists - I could use it to compile my NaCl samples to
work with the current (or future) version of Chrome Beta without the
need to wait for a NaCl SDK release.

Can anyone help me out with this?

Regards,

Assaf

On Aug 30, 1:47 am, Christian Stefansen <cstefan...@google.com> wrote:
> We don't have officially released docs yet (because the feature hasn't been
> released yet :-)). I've been keeping this document up-to-date for those
> interested in getting a head start with 3D:http://www.chromium.org/nativeclient/how-tos/guide-to-experimental-3d...
>
> Also seehttp://www.chromium.org/nativeclient/how-tos/3d-tips-and-best-practicesfor

Assaf Raman

unread,
Aug 30, 2011, 3:38:56 AM8/30/11
to Native-Client-Discuss
Hi,

Just to be clear - what I am asking is - is there a nightly build or
instructions how to build the following files in the NaCl SDK:
libppapi.a
libppapi_cpp.a
libppapi_gles2.a
libppapi_stub.a
libppruntime.a
(the files exist in this folder in NaCl SDK: "toolchain\win_x86\x86_64-
nacl\lib", "toolchain\win_x86\x86_64-nacl\lib32")

Regards,

Assaf



On Aug 30, 10:03 am, Assaf Raman <assafra...@gmail.com> wrote:
> Hi,
>
> I looked at the ppapi code, is there a "how-to compile ppapi API for
> NaCl" webpage? Or better - a nightly build of it?
> If such a thing exists - I could use it to compile my NaCl samples to
> work with the current (or future) version of Chrome Beta without the
> need to wait for a NaCl SDK release.
>
> Can anyone help me out with this?
>
> Regards,
>
> Assaf
>
> On Aug 30, 1:47 am, Christian Stefansen <cstefan...@google.com> wrote:
>
>
>
>
>
>
>
> > We don't have officially released docs yet (because the feature hasn't been
> > released yet :-)). I've been keeping this document up-to-date for those
> > interested in getting a head start with 3D:http://www.chromium.org/nativeclient/how-tos/guide-to-experimental-3d...
>
> > Also seehttp://www.chromium.org/nativeclient/how-tos/3d-tips-and-best-practic...

Victor Khimenko

unread,
Aug 30, 2011, 3:51:09 AM8/30/11
to native-cli...@googlegroups.com
On Tue, Aug 30, 2011 at 11:38 AM, Assaf Raman <assaf...@gmail.com> wrote:
Hi,

Just to be clear - what I am asking is - is there a nightly build or
instructions how to build the following files in the NaCl SDK:
libppapi.a
libppapi_cpp.a
libppapi_gles2.a
libppapi_stub.a
libppruntime.a
(the files exist in this folder in NaCl SDK: "toolchain\win_x86\x86_64-
nacl\lib", "toolchain\win_x86\x86_64-nacl\lib32")

And also we have a buildbot (if you'll click on the green rectangle you'll see many stages including "archived to revision" with "download" link). This being said be aware that it only runs small set of automatic tests, there are no guarantee that it'll be installable, let alone usable.

Assaf Raman

unread,
Aug 30, 2011, 4:13:17 AM8/30/11
to Native-Client-Discuss

Thanks Victor, great answer.
I will try to build the NaCl SDK on my computer - like the how-to in
the link explains.
I didn't find the "green rectangle" you talked about, can you give me
a direct link?
Regards,

Assaf

On Aug 30, 10:51 am, Victor Khimenko <k...@google.com> wrote:
> On Tue, Aug 30, 2011 at 11:38 AM, Assaf Raman <assafra...@gmail.com> wrote:
> > Hi,
>
> > Just to be clear - what I am asking is - is there a nightly build or
> > instructions how to build the following files in the NaCl SDK:
> > libppapi.a
> > libppapi_cpp.a
> > libppapi_gles2.a
> > libppapi_stub.a
> > libppruntime.a
> > (the files exist in this folder in NaCl SDK: "toolchain\win_x86\x86_64-
> > nacl\lib", "toolchain\win_x86\x86_64-nacl\lib32")
>
> > On Chromium.org there are instructions:
>
> https://sites.google.com/a/chromium.org/dev/nativeclient/sdk/howto_bu...

Victor Khimenko

unread,
Aug 30, 2011, 4:58:49 AM8/30/11
to native-cli...@googlegroups.com

On Tue, Aug 30, 2011 at 12:13 PM, Assaf Raman <assaf...@gmail.com> wrote:

Thanks Victor, great answer.
I will try to build the NaCl SDK on my computer - like the how-to in
the link explains.
I didn't find the "green rectangle" you talked about, can you give me
a direct link?

Regards,

Assaf

On Aug 30, 10:51 am, Victor Khimenko <k...@google.com> wrote:
> On Tue, Aug 30, 2011 at 11:38 AM, Assaf Raman <assafra...@gmail.com> wrote:
> > Hi,
>
> > Just to be clear - what I am asking is - is there a nightly build or
> > instructions how to build the following files in the NaCl SDK:
> > libppapi.a
> > libppapi_cpp.a
> > libppapi_gles2.a
> > libppapi_stub.a
> > libppruntime.a
> > (the files exist in this folder in NaCl SDK: "toolchain\win_x86\x86_64-
> > nacl\lib", "toolchain\win_x86\x86_64-nacl\lib32")
>
> > On Chromium.org there are instructions:
>
> https://sites.google.com/a/chromium.org/dev/nativeclient/sdk/howto_bu...
> And also we have a buildbot (if you'll click on the green rectangle you'll
> see many stages including "archived to revision" with "download" link). This
> being said be aware that it only runs small set of automatic tests, there
> are no guarantee that it'll be installable, let alone usable.

assaf raman

unread,
Aug 30, 2011, 5:10:50 AM8/30/11
to native-cli...@googlegroups.com
Thanks Victor,

I looked it up, the bottom line and what I needed it this link: http://build.chromium.org/f/client/nacl_archive/sdk/latest/
Meaning the latest version of the NaCl SDK that always works an corresponds to the latest Chrome Beta.
I assume that the Chrome Beta is always pushed to clients, right?
Else - I guess you need to download the relevant NaCl SDK from this link: http://build.chromium.org/f/client/nacl_archive/sdk/ - I am not sure how to match, possibly by files dates.

Regards,

Assaf

Ivan Krasin

unread,
Aug 30, 2011, 5:58:40 AM8/30/11
to native-cli...@googlegroups.com
On Tue, Aug 30, 2011 at 2:10 AM, assaf raman <assaf...@gmail.com> wrote:
> Thanks Victor,
>
> I looked it up, the bottom line and what I needed it this link:
> http://build.chromium.org/f/client/nacl_archive/sdk/latest/
> Meaning the latest version of the NaCl SDK that always works an corresponds
> to the latest Chrome Beta.
Almost always, that's not true. The latest NaCl SDK can have some
features which are not yet supported in Chrome Beta.
You can assume that it works with Chrome Nightly.

assaf raman

unread,
Aug 30, 2011, 6:04:45 AM8/30/11
to native-cli...@googlegroups.com
Can you give me a link to the Chrome Nightly that corresponds to http://build.chromium.org/f/client/nacl_archive/sdk/latest/ ?
In other words - where do I download Chrome Nightly from?

Ivan Krasin

unread,
Aug 30, 2011, 6:06:47 AM8/30/11
to native-cli...@googlegroups.com
Assaf,

will this link work for you? http://build.chromium.org/f/chromium/snapshots/

-- krasin

assaf raman

unread,
Aug 30, 2011, 6:18:53 AM8/30/11
to native-cli...@googlegroups.com
It does work. Thanks.
So - I guess that for now - while 3d in NaCl is experimental - I will post a link on any demo page to the right version of chromium and ask to use it.
At least I can be up to date with NaCl development.
I still don't know how to get 3d working in the current version of Chrome 14 beta, none of the Nightly SDK builds seems compile a result with 3d that works on 14...

Thanks for all the help, I can live with this as is for now.

Regards,

Assaf

Matthew Ball

unread,
Aug 30, 2011, 9:42:38 AM8/30/11
to native-cli...@googlegroups.com
Hi Assaf,

Reconciling the Chrome version with the latest SDK version can be a bit tricky.  First of all, we don't currently do automated testing of the SDK against a particular Chrome browser, although we would like to add this functionality soon.  That means there's no guarantee that an SDK will even work with Chrome until we complete our manual testing plan, which typically happens sometime after each Chrome branch is created.

That said, to get the most accurate Chrome version that has the best chance of working with a particular SDK, you can follow these steps, roughly:


Cheers,
-Matt

Assaf Raman

unread,
Aug 30, 2011, 11:24:55 AM8/30/11
to Native-Client-Discuss
Thanks for the answer...
I am starting to think if this really worth my time at the current
stage of NaCl development, I think the way we are going to go in OGRE
is that I will make sure from time to time that OGRE runs with the
latest NaCl SDK + latest Chromium. Sadly it seems that it will not be
possible for me to write "download Chrome Beta" and run. I guess that
my demo page will read - download Chromium from this link - this demo
only work with this version of chromium.
Hopefully one day the 3D API will be stable - so I can have a nice 3d
demo that runs with a none Beta version of Chrome, and without any env
vars, cmd switches and such. I do this porting work as a hobby - so I
don't maid waiting.

Regards,

Assaf



On Aug 30, 4:42 pm, Matthew Ball <mb...@google.com> wrote:
> Hi Assaf,
>
> Reconciling the Chrome version with the latest SDK version can be a bit
> tricky.  First of all, we don't currently do automated testing of the SDK
> against a particular Chrome browser, although we would like to add this
> functionality soon.  That means there's no guarantee that an SDK will even
> work with Chrome until we complete our manual testing plan, which typically
> happens sometime after each Chrome branch is created.
>
> That said, to get the most accurate Chrome version that has the best chance
> of working with a particular SDK, you can follow these steps, roughly:
>
>    - Look at the src/DEPS file in the NaCl SDK Subversion repository and
>    find the variable named "native_client_version" (e.g., 6511).  If you don't
>    want to check-out the repository, you can see
>    http://nativeclient-sdk.googlecode.com/svn/trunk/src/DEPS
>    - Look at the DEPS file in the NaCl repository at "native_client_version"
>    (or earlier).  See
>    http://src.chromium.org/viewvc/native_client/trunk/src/native_client/....
>     After clicking on 'View' for the matching version, look for "
>    chrome_ppapi_rev".  This is the version of Pepper that was built into the
>    SDK, so you should have the best luck running a build of Chromium that is
>    close to that revision.
>
> Seehttp://www.chromium.org/nativeclient/sdk/sdk-development/how-to-match...
> for
> a related discussion.
>
> Cheers,
> -Matt
>
>
>
>
>
>
>
> On Tue, Aug 30, 2011 at 4:04 AM, assaf raman <assafra...@gmail.com> wrote:
> > Can you give me a link to the Chrome Nightly that corresponds to
> >http://build.chromium.org/f/client/nacl_archive/sdk/latest/?
> > In other words - where do I download Chrome Nightly from?
>
> > On Tue, Aug 30, 2011 at 12:58 PM, Ivan Krasin <imkra...@gmail.com> wrote:
>
> >> On Tue, Aug 30, 2011 at 2:10 AM, assaf raman <assafra...@gmail.com>
> >> wrote:
> >> > Thanks Victor,
>
> >> > I looked it up, the bottom line and what I needed it this link:
> >> >http://build.chromium.org/f/client/nacl_archive/sdk/latest/
> >> > Meaning the latest version of the NaCl SDK that always works an
> >> corresponds
> >> > to the latest Chrome Beta.
> >> Almost always, that's not true. The latest NaCl SDK can have some
> >> features which are not yet supported in Chrome Beta.
> >> You can assume that it works with Chrome Nightly.
>
> >> > I assume that the Chrome Beta is always pushed to clients, right?
> >> > Else - I guess you need to download the relevant NaCl SDK from this
> >> link:
> >> >http://build.chromium.org/f/client/nacl_archive/sdk/- I am not sure
> >> how to
> >> > match, possibly by files dates.
>
> >> > Regards,
>
> >> > Assaf
>
> >> > On Tue, Aug 30, 2011 at 11:58 AM, Victor Khimenko <k...@google.com>
> >> wrote:
>
> >> >> On Tue, Aug 30, 2011 at 12:13 PM, Assaf Raman <assafra...@gmail.com>

David Springer

unread,
Aug 30, 2011, 11:30:14 AM8/30/11
to native-cli...@googlegroups.com
On Tue, Aug 30, 2011 at 9:24 AM, Assaf Raman <assaf...@gmail.com> wrote:
Thanks for the answer...
I am starting to think if this really worth my time at the current
stage of NaCl development, I think the way we are going to go in OGRE
is that I will make sure from time to time that OGRE runs with the
latest NaCl SDK + latest Chromium. Sadly it seems that it will not be
possible for me to write "download Chrome Beta" and run. I guess that
my demo page will read - download Chromium from this link - this demo
only work with this version of chromium.
Hopefully one day the 3D API will be stable - so I can have a nice 3d

From what I can tell, it looks like the 3D API in Chromium is heading towards stabilization pretty soon - although it's impossible to tell what "pretty soon" exactly means.

While it can be immensely frustrating to build software on top of unsupported APIs that are in flux, I see there is a very positive reaction to the OGRE port on the lists.  So on behalf of everyone who is anxiously waiting for 3D in Chrome and OGRE, thank-you for your work.

Assaf Raman

unread,
Aug 30, 2011, 5:47:00 PM8/30/11
to Native-Client-Discuss
I ported OGRE to the NaCl SDK latest version
(native_client_sdk_0_6_1085) - resizing gl surface crashes the
browser, easy to recreate, I opened an issue for it:
http://code.google.com/p/nativeclient/issues/detail?id=2215

Regards,

Assaf

On Aug 30, 6:30 pm, David Springer <dsprin...@chromium.org> wrote:
> > > >> >http://build.chromium.org/f/client/nacl_archive/sdk/-I am not sure

Christian Stefansen

unread,
Aug 30, 2011, 5:55:04 PM8/30/11
to native-cli...@googlegroups.com
Thanks for reporting, Assaf!
Christian Stefansen
Product Manager
Google

If you received this communication by mistake, please don't forward it to anyone else (it may contain confidential or privileged information), please erase all copies of it, including all attachments, and please let the sender know it went to the wrong person. Thanks.


Assaf Raman

unread,
Sep 2, 2011, 3:17:04 PM9/2/11
to Native-Client-Discuss
Hi,

The resize bug is fixed.

Regards,

Assaf

On Aug 31, 12:55 am, Christian Stefansen <