Index: services/device/hid/BUILD.gn
--- services/device/hid/BUILD.gn.orig
+++ services/device/hid/BUILD.gn
@@ -34,7 +34,26 @@ source_set("hid") {
     "//services/device/public/mojom",
   ]
 
-  if ((is_linux || is_chromeos) && use_udev) {
+  if (is_openbsd) {
+    sources += [
+      "hid_connection_fido.cc",
+      "hid_connection_fido.h",
+      "hid_service_fido.cc",
+      "hid_service_fido.h",
+    ]
+    libs = ["fido2", "cbor", "usbhid", "crypto", "util"]
+  }
+
+  if (is_freebsd) {
+    sources += [
+      "hid_connection_freebsd.cc",
+      "hid_connection_freebsd.h",
+      "hid_service_freebsd.cc",
+      "hid_service_freebsd.h",
+    ]
+  }
+
+  if ((is_linux || is_chromeos) && !is_bsd && use_udev) {
     sources += [
       "hid_connection_linux.cc",
       "hid_connection_linux.h",
