As part of a spike to study the viability of using...
# compose-desktop
m
As part of a spike to study the viability of using Compose Desktop for an IOT project, I have just managed to run a compose window with an embedded CEF Chromium browser in Ubuntu arm64. Next step is getting rid of the window manager and if possible of X11. I have no idea of how to start doing that. Any guidance / advice /sample project would be welcomed. :D
😶 1
s
Take a look at this implementation using JWM from @smallshen: https://github.com/smallshen/JWM-Compose
👀 1
a
oh man I'm very interested in this!
I used to use Android Things for IOT, but google of course canned it 😕
m
IOT + Chromium seems like quite a surprising combination! What's the browser for if you don't mind me asking?
m
My plan is to create a kiosk app that will run in a dedicated arm64 device (Like a Raspberry PI). I need an embedded browser to show WebRTC video streams.
Unfortunately I have just discovered that I cannot place any composable on top of a SwingPanel 😞 I'll finally have to use Qt or GTK if I cannot place my UI on top of the browser.
m
Do they have to be WebRTC specifically? I think there's a CfD/VLC integration somewhere that lets you play all sorts of video streams using CfD
Alternatively, JavaFX has a MediaPlayer component that can play live HTTP video streams, I think.
m
The issue with VLC is that in our experience it has a very big latency. Of every stream we have tested only WebRTC and GStreamer work for us. I could test the JavaFx player, but it seems that it is decided going by the WebRTC way. I have managed to put composables over SwingPanel using ComposePanel, but the look is not good. Discussed here: 41 minutes ago
m
JavaFX MediaPlayer is backed by GStreamer, btw. On Linux at least.
(you can also mix jfx and swing if necessary). Have no idea about the latency though.
m
Thanks! I didn't know dat. I'll give it a try.
m
JFX also has an embedded version btw called Monocle. It uses the Linux kernel framebuffer directly.
Pity that CfD doesn't work for you directly, but with JavaFX you can still use Kotlin.
m
Other solution would be using the cef-compose example, but I have many issue trying to compile it. It is using internal classes from skiko and seems to be a confussion between skia and skija
Fixed the skija thing, but still having troubles with dkiko hardwarelayer being internal