| QEMU Barrier Client |
| |
| |
| * About |
| |
| Barrier is a KVM (Keyboard-Video-Mouse) software forked from Symless's |
| synergy 1.9 codebase. |
| |
| See https://github.com/debauchee/barrier |
| |
| * QEMU usage |
| |
| Generally, mouse and keyboard are grabbed through the QEMU video |
| interface emulation. |
| |
| But when we want to use a video graphic adapter via a PCI passthrough |
| there is no way to provide the keyboard and mouse inputs to the VM |
| except by plugging a second set of mouse and keyboard to the host |
| or by installing a KVM software in the guest OS. |
| |
| The QEMU Barrier client avoids this by implementing directly the Barrier |
| protocol into QEMU. |
| |
| This protocol is enabled by adding an input-barrier object to QEMU. |
| |
| Syntax: input-barrier,id=<object-id>,name=<guest display name> |
| [,server=<barrier server address>][,port=<barrier server port>] |
| [,x-origin=<x-origin>][,y-origin=<y-origin>] |
| [,width=<width>][,height=<height>] |
| |
| The object can be added on the QEMU command line, for instance with: |
| |
| ... -object input-barrier,id=barrier0,name=VM-1 ... |
| |
| where VM-1 is the name the display configured int the Barrier server |
| on the host providing the mouse and the keyboard events. |
| |
| by default <barrier server address> is "localhost", port is 24800, |
| <x-origin> and <y-origin> are set to 0, <width> and <height> to |
| 1920 and 1080. |
| |
| If Barrier server is stopped QEMU needs to be reconnected manually, |
| by removing and re-adding the input-barrier object, for instance |
| with the help of the HMP monitor: |
| |
| (qemu) object_del barrier0 |
| (qemu) object_add input-barrier,id=barrier0,name=VM-1 |
| * TO DO |
| |
| - Enable SSL |
| - Manage SetOptions/ResetOptions commands |
| |