diff --git a/.gitignore b/.gitignore
index c007401..17b63ef 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1 @@
-SOURCES/libdrm-2.4.111.tar.xz
+SOURCES/libdrm-2.4.114.tar.xz
diff --git a/.libdrm.metadata b/.libdrm.metadata
index 87ffb3b..76332f4 100644
--- a/.libdrm.metadata
+++ b/.libdrm.metadata
@@ -1 +1 @@
-b28405363aa44e3801d90085b4dc6687a19a3eb4 SOURCES/libdrm-2.4.111.tar.xz
+ef3d35d9aeae48be1294724007e5e66f17fa53a4 SOURCES/libdrm-2.4.114.tar.xz
diff --git a/SOURCES/libdrm-2.4.0-no-bc.patch b/SOURCES/libdrm-2.4.0-no-bc.patch
index e9f300c..30a8168 100644
--- a/SOURCES/libdrm-2.4.0-no-bc.patch
+++ b/SOURCES/libdrm-2.4.0-no-bc.patch
@@ -1,7 +1,7 @@
-diff -up libdrm-2.4.103/xf86drm.c.dma libdrm-2.4.103/xf86drm.c
---- libdrm-2.4.103/xf86drm.c.dma	2020-11-04 13:24:14.000000000 +1000
-+++ libdrm-2.4.103/xf86drm.c	2020-11-04 13:42:04.190975193 +1000
-@@ -507,11 +507,6 @@ drm_public int drmAvailable(void)
+diff -up libdrm-2.4.114/xf86drm.c.dma libdrm-2.4.114/xf86drm.c
+--- libdrm-2.4.114/xf86drm.c.dma	2022-11-03 18:33:36.000000000 +1000
++++ libdrm-2.4.114/xf86drm.c	2022-11-10 05:39:58.652477119 +1000
+@@ -930,11 +930,6 @@ drm_public int drmAvailable(void)
      int           fd;
  
      if ((fd = drmOpenMinor(0, 1, DRM_NODE_PRIMARY)) < 0) {
@@ -13,7 +13,7 @@ diff -up libdrm-2.4.103/xf86drm.c.dma libdrm-2.4.103/xf86drm.c
          return 0;
      }
  
-@@ -704,38 +699,6 @@ static int drmOpenByName(const char *nam
+@@ -1127,38 +1122,6 @@ static int drmOpenByName(const char *nam
          }
      }
  
@@ -25,7 +25,7 @@ diff -up libdrm-2.4.103/xf86drm.c.dma libdrm-2.4.103/xf86drm.c
 -        int  retcode;
 -
 -        sprintf(proc_name, "/proc/dri/%d/name", i);
--        if ((fd = open(proc_name, O_RDONLY, 0)) >= 0) {
+-        if ((fd = open(proc_name, O_RDONLY)) >= 0) {
 -            retcode = read(fd, buf, sizeof(buf)-1);
 -            close(fd);
 -            if (retcode) {
diff --git a/SPECS/libdrm.spec b/SPECS/libdrm.spec
index a2fa9a0..66edfa8 100644
--- a/SPECS/libdrm.spec
+++ b/SPECS/libdrm.spec
@@ -1,6 +1,13 @@
 %define bcond_meson() %{lua: do
   local option = rpm.expand("%{1}")
   local with = rpm.expand("%{?with_" .. option .. "}")
+  local value = (with ~= '') and "enabled" or "disabled"
+  option = option:gsub('_', '-')
+  print(string.format("-D%s=%s", option, value))
+end}
+%define bcond_meson_tf() %{lua: do
+  local option = rpm.expand("%{1}")
+  local with = rpm.expand("%{?with_" .. option .. "}")
   local value = (with ~= '') and "true" or "false"
   option = option:gsub('_', '-')
   print(string.format("-D%s=%s", option, value))
@@ -46,7 +53,7 @@ end}
 
 Name:           libdrm
 Summary:        Direct Rendering Manager runtime library
-Version:        2.4.111
+Version:        2.4.114
 Release:        1%{?dist}
 License:        MIT
 
@@ -123,9 +130,9 @@ Utility programs for the kernel DRM interface.  Will void your warranty.
   %{bcond_meson cairo_tests}           \
   %{bcond_meson man_pages}             \
   %{bcond_meson valgrind}              \
-  %{bcond_meson freedreno_kgsl}        \
-  %{bcond_meson install_test_programs} \
-  %{bcond_meson udev}                  \
+  %{bcond_meson_tf freedreno_kgsl}        \
+  %{bcond_meson_tf install_test_programs} \
+  %{bcond_meson_tf udev}                  \
   %{nil}
 %meson_build
 
@@ -271,6 +278,9 @@ install -Dpm0644 -t %{buildroot}%{_udevrulesdir} %{S:2}
 %endif
 
 %changelog
+* Thu Nov 10 2022 Dave Airlie <airlied@redhat.com> - 2.4.114-1
+- Update to 2.4.114
+
 * Fri Jun 03 2022 Dave Airlie <airlied@redhat.com> - 2.4.111-1
 - Update to 2.4.111