KCEF
KCEF copied to clipboard
Initialization fails on Ubuntu (23.10)
Expected behavior:
Initializing as per the example would download and initialize on Ubuntu (23.10) / OpenJDK 17:
e.g.
KCEF.init(builder = {
installDir(File("kcef-bundle"))
progress {
onDownloading {
println("KCEF downloading: $it to ${File("kcef-bundle").absolutePath}")
downloading = max(it, 0F)
}
onInitialized {
println("KCEF initialized!")
initialized = true
}
}
settings {
cachePath = File("cache").absolutePath
}
}, onError = {
println("KCEF - ERROR!")
it?.printStackTrace()
}, onRestartRequired = {
restartRequired = true
})
Observed behavior:
KCEF downloading: 100.0 to /home/mike/StudioProjects/UstadMobile/app-desktop/kcef-bundle
JCEF(04:51:619): initialized stderr logger, severity=LOGSEVERITY_DEFAULT
JCEF_I(04:51:619): CefApp: set state NEW
JCEF_I(04:51:621): CefApp: set state INITIALIZING
JCEF_V(04:51:621): Initialize CefApp on Thread[CefInitialize-thread,5,main]
[0131/100451.688536:WARNING:policy_logger.cc(151)] :components/enterprise/browser/controller/chrome_browser_cloud_management_controller.cc(88) Could not create policy manager as CBCM is not enabled.
[0131/100451.699364:ERROR:browser_main_loop.cc(276)] GLib-GObject: cannot register existing type 'GdkDisplayManager'
[0131/100451.699388:ERROR:browser_main_loop.cc(276)] GLib: g_once_init_leave: assertion 'result != 0' failed
[0131/100451.699396:ERROR:browser_main_loop.cc(276)] GLib-GObject: g_object_new_with_properties: assertion 'G_TYPE_IS_OBJECT (object_type)' failed
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
[0131/100451.868560:WARNING:gpu_memory_buffer_support_x11.cc(49)] dri3 extension not supported.
It seems like "GLib-GObject: cannot register existing type 'GdkDisplayManager'" is the important one. I have found discussion about this affecting Python https://github.com/JuliaGraphics/Gtk.jl/issues/192 .
When I attempt to use the browser (via the compose multiplatform webview), I get this:
JCEF_V(06:10:809): CefMessageRouter_N: org.cef.browser.CefMessageRouter_N@287b174: add delayed action addHandler
JCEF_E(06:10:830): CefBrowser_N: org.cef.browser.CefBrowserWr@2297a5f8: can't invoke native method 'setWindowVisibility' before native context initialized
JCEF_W(06:10:831): failed to retrieve platform window handle
JCEF_E(06:10:831): CefBrowser_N: org.cef.browser.CefBrowserWr@2297a5f8: can't invoke native method 'setParent' before native context initialized
JCEF_E(06:10:832): CefBrowser_N: org.cef.browser.CefBrowserWr@2297a5f8: can't invoke native method 'wasResized' before native context initialized
JCEF_V(06:10:834): CefMessageRouter_N: org.cef.browser.CefMessageRouter_N@3ecbb34a: add delayed action addHandler
JCEF_E(06:10:835): CefBrowser_N: org.cef.browser.CefBrowserWr@aac3d3a: can't invoke native method 'setWindowVisibility' before native context initialized
J