This library provides a "Mouse, Keyboard, and Screen" to QEMU using the D-Bus device support in QEMU and GTK 4.
Go to file
Javier Martinez Canillas 868aad0244
build: Set a SONAME version in the libmks library
The libmks library is currently unversioned, but donwstream users expect
this library to have a proper SONAME version in order to package them.

A stable release has not yet happened because the project is still under
development and the API/ABI might change. But having a versioned SONAME
would allow distributions to package libmks, without the need to add any
downstream patch to set the library version.

Since the "0.1.0" version is already set as the meson project, let's use
it to set the library version as well. The meson build system will use the
first part of the version (0) as the SONAME version, which is aligned with
the convention used by other projects:

  $ ls ./lib/libmks-1.so* -1
  ./lib/libmks-1.so
  ./lib/libmks-1.so.0
  ./lib/libmks-1.so.0.1.0

  $ objdump -p ./lib/libmks-1.so.0.1.0 | grep SONAME
  SONAME               libmks-1.so.0
2023-05-30 11:46:27 +02:00
data/icons data: provide a symbolic and an emblem 2023-03-09 12:27:45 +01:00
docs docs: Document most of the public APIs 2023-05-23 12:34:01 +02:00
lib build: Set a SONAME version in the libmks library 2023-05-30 11:46:27 +02:00
subprojects build: Depend on gtk main for GdkGLTextureBuilder 2023-05-17 13:08:31 -07:00
tools docs: Document most of the public APIs 2023-05-23 12:34:01 +02:00
.editorconfig initial commit 2023-02-08 18:06:08 -08:00
.gitignore build: Depend on gtk main for GdkGLTextureBuilder 2023-05-17 13:08:31 -07:00
.gitlab-ci.yml build: Depend on gtk main for GdkGLTextureBuilder 2023-05-17 13:08:31 -07:00
COPYING initial commit 2023-02-08 18:06:08 -08:00
meson_options.txt build: allow -Dtracing for more logging information 2023-04-20 14:00:04 -07:00
meson.build build: Depend on gtk main for GdkGLTextureBuilder 2023-05-17 13:08:31 -07:00
org.gnome.libmks.mks.json build: add flatpak manifest to testing in Builder 2023-02-17 16:28:25 -08:00
README.md docs: Document most of the public APIs 2023-05-23 12:34:01 +02:00

libmks

This library provides a "Mouse, Keyboard, and Screen" to QEMU using the D-Bus device support in QEMU and GTK 4.

Documentation

Nightly documentation can be found here.

Testing

By default, QEMU will connect to your user session D-Bus if you do not provide an address for -display dbus. Therefore, it is pretty easy to test things by running QEMU manually and then connecting with the test program ./tools/mks.

qemu-img create -f qcow2 fedora.img 30G
qemu-system-x86_64 \
    -enable-kvm \
    -cpu host \
    -device virtio-vga-gl,xres=1920,yres=1080 \
    -m 8G \
    -smp 4 \
    -display dbus,gl=on \
    -cdrom Fedora-Workstation.iso \
    -hda fedora.img \
    -boot d

and then to run the test widget

meson setup build
cd build
ninja
./tools/mks