Like any well-written application, Compose has several layers. The full consumer-facing tech stack is built with Swing integration and I assume swing is going to make some assumptions about a relatively featureful windowing system. Having said that, the swing interop layer is actually pretty thin and you could relatively easily forgo that, but you would need to provide/implement an alternative mechanism for Skia to paint to your frame buffer. I would describe this as an intermediate-advanced task. Certainly doable, but not if you're unwilling to dive into some undocumented code and get your hands dirty. We'd be happy to answer questions, accept pull requests, etc - but you operating without a windowing system is inherently outside of the scope of the docs we provide.
Are you actually looking to run on a Raspberry Pi, or just using that as an example?
There are going to be a few of steps:
1. Learn Compose, you've already been playing with Compose for a couple months so you are already a decent way along this track and can probably proceed to the next step
2. Build Compose Desktop on Raspberry Pi with Swing/X-Windowing, as I think we don't currently build for this platform, but it should be readily doable if you're willing to get your hands dirty. This will be a good litmus test for your ability to complete your stated objective, as you are venturing into the types of code and challenges you will need to solve. Compose for Desktop basically has a single main dependency (skiko) which has a single main dependency (skija) which has a single main dependency (skia); all three of those will need to be compiled for the Reaspberry Pi. Skiko has a bunch of scripts for building, and you can copy one of those scripts, modify it for Raspberry Pi, upstream the changes, and others will be happy too! Once you can run Compose for Desktop on a Raspberry Pi with Swing/X-windowing, you are about a third of the way there.
3. Use Skia to paint directly to a framebuffer instead of painting to a Swing/X-windowing system. This will depend on your non-x-windowing environment and on a bunch of factors that are specific to your project, but this is very possible. You can look at how our Swing interop works for an example to copy/modify for your non-swing environment. You are now about two-thirds of the way there.
4. Wire up your input events. Again, copy how Swing did this, but you will need to pass your input events (touch, it sounds like) to Compose. You are now about three-quarters of the way there.
5. Cleanup and polish the various layers to meet the needs of your application. You are now done.
You can learn more about Skiko at:
https://github.com/JetBrains/skiko and in the process you will be able to learn about Skija (which provides java skia bindings) and Skia (the graphics layer). If you run into questions that you are unable to solve, we are here to help, but try to get as far as you can before asking questions as we are pretty occupied supporting the primary use cases and don't have a ton of additional bandwidth to add additional bespoke environments at the moment.