Emulation Support for Librem 5

I would like to start working on developing network configurations that might eventually allow the Librem 5 to act as a thin client of my much more robust and powerful home server PC. But there are a few differing potential technology paths that could be used to set that up. Regardless of method, I would like to use Windows 10 Pro at the bottom of a stack-up of compatibility layers. Without a large ARM-based server in my possession, this seems to be the only practical method for the average person like myself to do this. And it’s only a network setup project, not an applications development project.

Windows 10 Pro comes with a built-in hypervisor called Hyper-V. Such a hypervisor could host either a Linux distro such as PureOS running on x86 architecture, or could host Qemu as an ARM emulation layer, upon which the real ARM-based Librem 5 operating system itself could run. Either way, the goal at first would be to log in to a virtual machine running on a more powerful server, from your Librem 5, set the appropriately-sized display back to the phone from the server, and then run much more resource-intensive applications than the Librem 5 would be capable of executing on its own. Without large Google and Apple servers in your Librem 5’s network, the smart phone magic that most of are currently used to seeing every day, would not exist. The Librem 5 will have no such (Google/Apple-based) heavy load computing in the background that we are used to seeing on our existing smart phones every day.

The path that should be taken has a lot to do with how Purism plans to implement their applications and Librem 5 OS support in the long term. If everything developed for the phone can and will be compiled in x86 format (for example) going forward, then the networking itself can handle most of the instruction set translation details at first. But if not, then an ARM compatibility layer running on a more powerful x86 PC would seem to be required. However from the networking aspect, the needed development work should be relatively easy to do when compared to application development coding. Once that networking server part is built, people may just jump on board. The key is to make the networking part accessible to everyone, even if it comes from your home PC (probably also requiring a VPN/Port forwarding router also). If a solution is developed in to a virtual machine, then anyone can copy the VM in to their PC, boot it up, and install their traditional (already existing)applications that they want to run from their Librem 5. This could be a fertile ground for applications developers. If we build it, they will come. Microsoft doesn’t appear to be trying to claim anything that is developed within their hypervisor unless your client OS is also owned by Microsoft to begin with. So a PureOS or a QEMU base to build on would still be free.

Are there any networking or apps developers here who want to weigh-in on this? If all I want to do to start is to log in to my home PC from a Librem 5 (if I ever get my Librem 5, that is), set the PC display back to the Librem 5, and run some high demand applications effortlessly from the Librem 5, is the better path to use an ARM compatability layer on an x86 PC to serve the ARM-based applications, or to just develop everything without the compatability layer in native x86_64‐bit? It seems like it should be fairly easy to set this up in a virtual machine and then deploy it. With Phosh, Libhandy, and convergence, Running the full Microsoft Office suite or a full Libre Office suite on your phone with plenty of resources to spare, could become a reality. I want to start right now if I can and am not sure which approach to take. This looks like it could be a great hobby project.

Sounds like something you could do with VNC or the like, if I’m reading this properly. Just™ remote desktop to the bigger computer and do whatever you want.

Yes, to start just a remote desktop to the bigger PC as proof of concept at first. Ideally, the long-term vision would be to use Google-like server power to assist the execution of your phone apps the same way Google does for Android phones. But the server resides at home, where Google is not welcome. Your home PC is not as big as a Google server. But then again, you are only a customer of one on your own network. In your Linux virtual machine running at home and in software only, you could have your own Linux router and DHCP server to manage the VPN, port forwarding functions, and application server. Everything already exists in Linux now to set that up. One could spend months if necessary, learning how to configure everything to work in the VM. Then, just like any other Linux distro, you release it. The VM is just a wrapper that allows it to plug and play on a Windows PC, for those who do not know much about Linux, who don’t want to invest in any new hardware and who just want it to work when they install it in to their existing Windows PC and turn it on for the first time. A whole data center in a VM should be possible.

Well Manjaro has its Shells that sound like could do what you want (admittedly I didn’t read too much into it and I can’t remember if you can deploy your own but I’d say not since they cost money). So the tech exists, at least.