I came across this issue on a project earlier in the year and unfortunately there's no current way to use Stage3D inside the Facebook timeline ('feed gaming' as opposed to a standard Facebook app), because the embedding that Facebook applies uses wmode:"opaque"
, and there's no option to change that through the FBML meta properties. More details here on what you can specify: https://developers.facebook.com/docs/games/feed-gaming/
In the case of Angry Birds, they use a stripped down version of their app (with just one level, I believe) for the timeline feed version, which doesn't use Starling or Stage3D.
And to answer your other question, you can use Starling with a software rendered fallback (where compatible graphics hardware isn't available), but it unfortunately will still go through Stage3D (as described here: http://www.bytearray.org/?p=3443), and if used without wmode:"direct"
it will still fail with the error 3702: Context3D not available
.
The workaround, then, if you need it to run in the Facebook timeline, is to either rebuild your application to use conventional display objects, and no Stage3D content, or to make a cut-back second version, which doesn't use Stage3D but links out to your fullblown version, inside a conventional Facebook app. Sorry for the bad news; I feel your pain.