diff --git a/deps/libevdev.json b/deps/libevdev.json
new file mode 100644
index 0000000000000000000000000000000000000000..77b1e9f99491199d00fb73709c00fb6b60da628c
--- /dev/null
+++ b/deps/libevdev.json
@@ -0,0 +1,17 @@
+{
+    "name": "libevdev",
+    "buildsystem": "meson",
+    "cleanup": [
+    ],
+    "config-opts": [
+        "-Ddocumentation=disabled",
+        "-Dtests=disabled"
+    ],
+    "sources": [
+        {
+            "type": "git",
+            "url": "https://gitlab.freedesktop.org/libevdev/libevdev.git",
+            "tag": "libevdev-1.9.0"
+        }
+    ]
+}
diff --git a/deps/libgudev.json b/deps/libgudev.json
new file mode 100644
index 0000000000000000000000000000000000000000..71d921a8770b4ec5dd8514f0f5b4ed04e024ccbf
--- /dev/null
+++ b/deps/libgudev.json
@@ -0,0 +1,16 @@
+{
+    "name": "libgudev",
+    "buildsystem": "autotools",
+    "cleanup": [
+    ],
+    "config-opts": [
+        "--disable-umockdev"
+    ],
+    "sources": [
+        {
+            "type": "git",
+            "url": "https://gitlab.gnome.org/GNOME/libgudev.git",
+            "tag": "233"
+        }
+    ]
+}
diff --git a/deps/libinput.json b/deps/libinput.json
new file mode 100644
index 0000000000000000000000000000000000000000..27498be68dad789948315d81423596a7735a03aa
--- /dev/null
+++ b/deps/libinput.json
@@ -0,0 +1,18 @@
+{
+    "name": "libinput",
+    "buildsystem": "meson",
+    "cleanup": [
+    ],
+    "config-opts": [
+        "-Ddebug-gui=false",
+        "-Ddocumentation=false",
+        "-Dtests=false"
+    ],
+    "sources": [
+        {
+            "type": "git",
+            "url": "https://gitlab.freedesktop.org/libinput/libinput.git",
+            "tag": "1.14.3"
+        }
+    ]
+}
diff --git a/deps/libwacom.json b/deps/libwacom.json
new file mode 100644
index 0000000000000000000000000000000000000000..22c4c0638c152f1593378437d887cdedba5446b4
--- /dev/null
+++ b/deps/libwacom.json
@@ -0,0 +1,14 @@
+{
+    "name": "libwacom",
+    "sources": [
+        {
+            "type": "git",
+            "url": "https://github.com/linuxwacom/libwacom.git",
+            "tag": "libwacom-1.3"
+        }
+    ],
+    "config-opts": [
+    ],
+    "cleanup": [
+    ]
+}
diff --git a/deps/mtdev.json b/deps/mtdev.json
new file mode 100644
index 0000000000000000000000000000000000000000..acff0e50d450cbf93416594dc0df3e83d5a95c6b
--- /dev/null
+++ b/deps/mtdev.json
@@ -0,0 +1,14 @@
+{
+    "name": "mtdev",
+    "sources": [
+        {
+            "type": "archive",
+            "url": "http://bitmath.org/code/mtdev/mtdev-1.1.6.tar.gz",
+            "sha256": "1325f389a2f25cd5f5a8ea4d29aad24aa7c3ec30401d679400dd79eb9c0a8dbb"
+        }
+    ],
+    "config-opts": [
+    ],
+    "cleanup": [
+    ]
+}
diff --git a/tv.kodi.Kodi.yml b/tv.kodi.Kodi.yml
index 8f1fe1b685c642e6edc4fa7ccf8689bf9be451c8..e18f9041709474101eeebc4e4aaa1cc60c175927 100644
--- a/tv.kodi.Kodi.yml
+++ b/tv.kodi.Kodi.yml
@@ -54,6 +54,11 @@ modules:
   - deps/libmariadbclient.json
   - deps/libbluray.json
   - deps/waylandpp.json
+  - deps/mtdev.json
+  - deps/libevdev.json
+  - deps/libgudev.json
+  - deps/libwacom.json
+  - deps/libinput.json
 
   - name: kodi-x11
     buildsystem: &kodi-buildsystem cmake-ninja
@@ -109,6 +114,20 @@ modules:
     cleanup: *kodi-cleanup
     sources: *kodi-sources
 
+  - name: kodi-gbm
+    buildsystem: *kodi-buildsystem
+    config-opts:
+      - -DVERBOSE=1
+      - -DCROSSGUID_URL=build/download/crossguid.tar.gz
+      - -DLIBDVDCSS_URL=build/download/libdvdcss.tar.gz
+      - -DLIBDVDREAD_URL=build/download/libdvdread.tar.gz
+      - -DLIBDVDNAV_URL=build/download/libdvdnav.tar.gz
+      - -DJava_JAVA_EXECUTABLE=/usr/lib/sdk/openjdk11/bin/java
+      - -DCORE_PLATFORM_NAME=gbm
+      - -DGBM_RENDER_SYSTEM=gl
+    cleanup: *kodi-cleanup
+    sources: *kodi-sources
+
   - name: appdata
     buildsystem: simple
     build-commands: