mirror of
https://gitlab.gnome.org/GNOME/libmks.git
synced 2024-12-22 05:35:21 +00:00
This library provides a "Mouse, Keyboard, and Screen" to QEMU using the D-Bus device support in QEMU and GTK 4.
868aad0244
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 |
||
---|---|---|
data/icons | ||
docs | ||
lib | ||
subprojects | ||
tools | ||
.editorconfig | ||
.gitignore | ||
.gitlab-ci.yml | ||
COPYING | ||
meson_options.txt | ||
meson.build | ||
org.gnome.libmks.mks.json | ||
README.md |
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