So... good news here!
TL;DL: Everything is fine
The issues we were having were sorted out, so it all works.
In particular, "Failed to launch GPU process" is gone - no idea why exactly, initialization code was a bit shaky but the message disappeared as we cleaned that up.
We still have some issues; java-cef can do very little about them, so this is just for your information:
a) We are integrating java-cef into our own framework, which uses Javabeans. Which assume that you can change every configuration aspect after the fact, by calling a setter; however, java-cef cannot change some configuration settings once CEF stuff is up and running, so we had to reconsider the architecture. In the end, we had to use separate classes for each configuration variant; if that runs into a combinatorial explosion with too many configuration settings, we'll have to rework java-cef so we can take down the browsers and reinitialize them, to the exact state they were in before.
So my wish would be that java-cef
- either never adopt more configuration settings that cannot be changed after the browser started
- or offer a way to capture the entire browser state, and that mechanism is a part of the core feature set so we can assume we can use this approach in the future. (I won't be surprised if that is completely not feasible; OTOH maybe Chromium does indeed have that kind of feature and it's just a matter of making it available, so I figured I should mention that possibility even if I don't have my hopes up)
b) We are struggling a bit with Mac integration. I believe we don't have any serious problems there, we just need to identify and follow the rules (which are pretty restrictive on Mac I learned, I dimly recall java-cef is already using them so it's mostly being careful about not doing anything stupid).
I'm not working on that personally, if the colleagues run into serious trouble, he'll post questions, so all is fine.
I do feel that java-cef should be a bit more transparent about the way it finds its libraries. Either more explicit Javadoc, or a more transparent load mechanism. That's just a heads-up for now so you know that this area may need improvements; if I ever have an opportunity to do a deeper dive into the load mechanism (which I know is there and overridable), I'll come around with actionable improvement suggestions, but please nobody hold their breath for that. (Mail me at joachim.durchholz@six-group.net if you do your own improvements and want a review, that I can always do.)