Current state of Clockwork OS Virtualisation

Hi everyone,
I was wondering if it is possible to virtualise the GameShell by running ClockworkOS on a VM.
I was looking for some resources here on the forum, but can’t get anything more recent than '19.

any update on this topic?

ClockworkOS is not an OS per se.

I’m not sure what you want to do in tern of virtualisation. Running the thing on your PC? Having multiple OS running in parallel on your game shell?

If it is the first, as this is just linux running on ARM, not sure what you would benefit to run a QEMU-ARM (or equivalent) to run a linux you could run natively on your computer, or via an standard VM.

The only specific thing for the GameShell is the launcher, and it is made of python, so nothing really specific there.

Well I no luck with qemu-system-arm. I tried running both the DEOT image and the 0.5 release. All I see is a black screen. Maybe because they are designed to run on the screen could be a driver issue or my VM don’t run at all. Either way I didn’t get it to work so far.

EDIT: Maybe it’s me. I don’t know what all of the arguments are about yet. If anybody knows it would be cool to know too.

Again, what the purpose of running a near normal Debian ARM distro in QEMU? Also counting that there is some specific driver, including the frame buffer used in the SoC of the Gameshell that QEMU is not going to emulate, so you will need to build your own kernel.

So again, what’s the point of that?

If you want the game shell interface, just go on GitHub and download either the Python or the Go version of the launcher, there is really no benefit in running the game shell “image” in QEMU.

1 Like

Well I dunno about the original poster’s motive. But I want to check the original python game shell launcher interface and see how everything is set up to later mod it. I don’t have my gameshell yet and I’d love to do that without having to mess with my python settings on Debian or armbian installs or backport libs and stuff like that. I’ve checked the forums and it’s kind of an hassle so far. Maybe I missed some stuff.

Hi, please excuse me for such delayed reply.
@Godzil Since you asked, my honest purpose of “virtualising” ClockworkOS was just for testing purposes while waiting for the shipment of the actual physical device. So nothing fancy more than trying to run it locally inside a VM and playing with it.
More specifically, my first idea was to try compiling a Godot Engine game and testing it with the ClockworkOS without having the hardware.
Secondly, the idea is that if I’m able to create a virtual environment where ClockworkOS can be executed, I can treat is as a sandbox - so breaking it without any concern.
I opened this thread before doing some actual research on the clockwork os structure, so I asked before actually verifying by myself if what I was asking did make any sense or not, pardon.
Btw, I did the same trials as @PaerGaben meanwhile, of course without any relevant success.
I suppose this thread can be closed, since your answers technically answer my question in a detailed way, in the hope that one day this will be possible, since I think that my points still make some sense… at least, for me :stuck_out_tongue:
Thanks again for you help @Godzil

1 Like

If I understand correctly, you want to play with the GameShell without “breaking it”. Godzil is right, after three days of research, ClockworkOS is just a tailored standard embedded Linux with some extra drivers ported to make TFT Screen, KeyPad, Wifi, Bluetooth, Sound, etc. I/O work properly. That’s what ClockworkOS is all about. So I think “virtualization” is somehow not that valuable (in my shallow mind), because the pre-installed Linux GameShell is already a sandbox that can hold all the Linux applications you want to run. You can install tools to make it a multimedia NAS or make it a web server, even a git repo backup machine…imagination is the only limit. Oh, and the coolest thing is that you can also take the GameShell out of your pocket and play retro games on it. Back to the topic, the real thing(UI and icons and stuff) you see is actually a program called “launcher” written in python(which is just a pygame game… yeh… running after the Linux has been successfully booted). The embeded linux doesn’t have desktop environment, but it has X11 display server installed, so pygame which using SDL(Simple DirectMedia Layer) as abstract layer works like a charm. In this “GAME” the system settings are modified using python “os.system(…)” calling system commands like “Power Off”, “Wifi Connect” etc. This is all about what GameShell has delivered, with no magic. Don’t get me wrong, before I knew the whole story, I used to want a VM too, now I just write code and debug on local machine(my macbook), copy scripts(python,go) or cross-compile(c/c++/rust?) and copy executable to GameShell and RUN and SEE!. In case you accidentally damage a core component of the system, make an SD card image file(using “dd” command on unix) and do a flash recovery. Don’t worry you’ll never break it.