sikulixapi.jar running concurrently in multiple VMs

Asked by Jose Miguel on 2019-09-09

Hello All,

I've been using sikulixapi for several months (in-house java application with sikulixapi.jar) and everything has been working flawlessly. Usually, the sikulix app runs inside a virtual machine (in this case, Oracle Virtualbox is used) with Windows 10 as guest, while the host is a Linux system.

However, recemtly I've been doing several tests with multiple Win10 VMs, running on the aforementioned linux host, each one running my silulix app concurrently.

Well, sure, it didn't work. Thing is, if I've figured this out correctly, that when multiple VMs (each of them running a sikulix app) try to capture the mouse _simultaneously_ , sikulix will throw the famous "mouse should be at ... but it is at .... might try to run sikulix stuff as administrator..."

This behaviour makes sense to me, and I understand this isn't even sikulix's fault, but instead it's due to the fact that a host system has a single "mouse resource" which must share between all of his VMs. So, considering the fact that an human user cannot possibly click on two VMs at the same time, there's no problem with such a limitation when it's a "real" user the one who is using the VMs. Fair enough.

However... enter multiple sikulix instances running in parallel VMs, trying to make automated clicks at the same time in their own VM desktops, and obviously everything is blown out of the water.

While I do understand that this could be an inherent limitation from how Level-2 hypervisors work (i.e., perhaps what I am trying to do simply can not be done), I'm posting this question here because perhaps someone has found a similar scenario before, and could lend me a hand or give me a suggestion on how this [somewhat complex] scenario could get solved.

thanks for your time,


edit: in case someone is wondering why I'm asking for trouble going through all this strange setup, the reason is cost-efficiency: a single 9980XE w/128GB RAM could handle easily 5 VMs for my business. If I cannot make multiple sikulix-runnig VMs to "coexist in peace", I will have to resort to purchase 5 complete, independient, physical PCs,.

Question information

English Edit question
Sikuli Edit question
No assignee Edit question
Last query:
Last reply:
Launchpad Janitor (janitor) said : #1

This question was expired because it remained in the 'Open' state without activity for the last 15 days.