diff --git a/meson_options.txt b/meson_options.txt
index c91cd241a..1f70da0f5 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -84,6 +84,7 @@ option('udev',
        description : 'Enable udev support for hotplug')
 
 option('v4l2',
-        type : 'boolean',
-        value : false,
-        description : 'Compile the V4L2 compatibility layer')
+        type : 'feature',
+        value : 'auto',
+        description : 'Compile the V4L2 compatibility layer',
+        deprecated : {'true': 'enabled', 'false': 'disabled'})
diff --git a/src/v4l2/meson.build b/src/v4l2/meson.build
index 58f53bf3d..2c0404147 100644
--- a/src/v4l2/meson.build
+++ b/src/v4l2/meson.build
@@ -1,12 +1,11 @@
 # SPDX-License-Identifier: CC0-1.0
 
-if not get_option('v4l2')
-    v4l2_enabled = false
+v4l2_enabled = get_option('v4l2').allowed()
+
+if not v4l2_enabled
     subdir_done()
 endif
 
-v4l2_enabled = true
-
 v4l2_compat_sources = files([
     'v4l2_camera.cpp',
     'v4l2_camera_file.cpp',
