Skip to content

feat(kernel): enable x86 Bluetooth - #18298

Open
Hayden Barnes (sirredbeard) wants to merge 1 commit into
microsoft:4.0from
sirredbeard:enable-x86-bluetooth
Open

feat(kernel): enable x86 Bluetooth#18298
Hayden Barnes (sirredbeard) wants to merge 1 commit into
microsoft:4.0from
sirredbeard:enable-x86-bluetooth

Conversation

@sirredbeard

Copy link
Copy Markdown
Contributor

Enable CONFIG_BT=m and common USB Bluetooth controller drivers for x86_64.

The x86_64 configuration already builds RFKILL support. This adds the Bluetooth core, common host protocols, and USB HCI drivers as modules.

arm64 already enables Bluetooth.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Enables x86_64 Bluetooth kernel support, but the kernel render failed and removed generated build inputs.

Changes:

  • Enables Bluetooth protocols and controller modules.
  • Bumps kernel release/changelog and refreshes the lock.
  • Replaces rendered output with a failure marker and deletions.

Reviewed changes

Copilot reviewed 6 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
base/comps/kernel/6.18-x86_64-azl.config Enables x86 Bluetooth options.
base/comps/kernel/kernel.azl.macros Bumps package release to 12.
base/comps/kernel/kernel.spec Adds the changelog entry.
locks/kernel.lock Refreshes the input fingerprint.
specs/k/kernel/RENDER_FAILED Records the failed render.
specs/k/kernel/README.rst Removes rendered documentation.
specs/k/kernel/Makefile.rhelver Removes rendered version metadata.
specs/k/kernel/Module.kabi_aarch64 Removes rendered kABI data.
specs/k/kernel/Module.kabi_dup_aarch64 Removes rendered duplicate kABI data.
specs/k/kernel/Module.kabi_dup_ppc64le Removes rendered duplicate kABI data.
specs/k/kernel/Module.kabi_dup_riscv64 Removes rendered duplicate kABI data.
specs/k/kernel/Module.kabi_dup_s390x Removes rendered duplicate kABI data.
specs/k/kernel/Module.kabi_dup_x86_64 Removes rendered duplicate kABI data.
specs/k/kernel/Module.kabi_ppc64le Removes rendered kABI data.
specs/k/kernel/Module.kabi_riscv64 Removes rendered kABI data.
specs/k/kernel/Module.kabi_s390x Removes rendered kABI data.
specs/k/kernel/Module.kabi_x86_64 Removes rendered kABI data.
specs/k/kernel/Patchlist.changelog Removes rendered patch history.
specs/k/kernel/azurelinux-ca-20230216.pem Removes the rendered signing certificate.
specs/k/kernel/check-kabi Removes the rendered kABI checker.
specs/k/kernel/def_variants.yaml.fedora Removes rendered Fedora module rules.
specs/k/kernel/def_variants.yaml.rhel Removes rendered RHEL module rules.
specs/k/kernel/dracut-virt.conf Removes rendered dracut configuration.
specs/k/kernel/filtermods.py Removes rendered module-packaging tooling.
specs/k/kernel/flavors Removes rendered flavor metadata.
specs/k/kernel/gating.yaml Removes rendered gating policy.
specs/k/kernel/generate_all_configs.sh Removes rendered config tooling.
specs/k/kernel/kernel-local Removes rendered local overrides.
specs/k/kernel/kernel.azl.macros Removes rendered Azure Linux macros.
specs/k/kernel/kernel.sbat.template Removes rendered SBAT metadata.
specs/k/kernel/kmod-nvidia-open-modprobe.conf Removes rendered NVIDIA configuration.
specs/k/kernel/kmod-nvidia-open.inc Removes rendered NVIDIA kmod packaging.
specs/k/kernel/kvm_stat.logrotate Removes rendered logrotate configuration.
specs/k/kernel/linux-kernel-test.patch Removes the rendered test patch.
specs/k/kernel/merge.py Removes rendered config merge tooling.
specs/k/kernel/mod-denylist.sh Removes rendered module denylist tooling.
specs/k/kernel/mod-sign.sh Removes rendered signing tooling.
specs/k/kernel/partial-clang-debug-snip.config Removes rendered Clang debug settings.
specs/k/kernel/partial-clang-snip.config Removes rendered Clang settings.
specs/k/kernel/partial-clang_lto-aarch64-debug-snip.config Removes rendered arm64 LTO debug settings.
specs/k/kernel/partial-clang_lto-aarch64-snip.config Removes rendered arm64 LTO settings.
specs/k/kernel/partial-clang_lto-x86_64-debug-snip.config Removes rendered x86 LTO debug settings.
specs/k/kernel/partial-clang_lto-x86_64-snip.config Removes rendered x86 LTO settings.
specs/k/kernel/partial-kgcov-debug-snip.config Removes rendered coverage debug settings.
specs/k/kernel/partial-kgcov-snip.config Removes rendered coverage settings.
specs/k/kernel/process_configs.sh Removes rendered config validation tooling.
specs/k/kernel/rpminspect.yaml Removes rendered inspection configuration.
specs/k/kernel/sources Removes the rendered source manifest.
specs/k/kernel/uki_addons.json Removes rendered UKI addon definitions.
specs/k/kernel/uki_create_addons.py Removes rendered UKI addon tooling.
specs/k/kernel/uki-addons.sbat.template Removes rendered addon SBAT metadata.
specs/k/kernel/uki.sbat.template Removes rendered UKI SBAT metadata.
specs/k/kernel/x509.genkey.centos Removes rendered CentOS key configuration.
specs/k/kernel/x509.genkey.fedora Removes rendered Fedora key configuration.
specs/k/kernel/x509.genkey.rhel Removes rendered RHEL key configuration.

Comment thread base/comps/kernel/6.18-x86_64-azl.config
Copilot AI review requested due to automatic review settings August 4, 2026 00:19

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 7 changed files in this pull request and generated no new comments.

Suppressed comments (2)

base/comps/kernel/6.18-x86_64-azl.config:2100

  • Enabling CONFIG_BT exposes additional Kconfig prompts that are still absent from this fragment—for example CONFIG_BT_6LOWPAN, CONFIG_BT_MSFTEXT, CONFIG_BT_AOSPEXT, CONFIG_BT_DEBUGFS, and CONFIG_BT_HCIBTUSB_AUTOSUSPEND. The build invokes process_configs.sh with -n at base/comps/kernel/kernel.spec:2250-2252, so listnewconfig treats these as unset items and fails the build. Regenerate/validate this fragment against the 6.18 source and explicitly commit every newly reported Bluetooth option, including # ... is not set entries for unwanted features.
CONFIG_BT=m

base/comps/kernel/6.18-x86_64-azl.config:2124

  • These options build UART and VirtIO Bluetooth transports, whereas the PR description says this change adds USB HCI drivers. They add unrelated modules beyond the stated x86 USB support; explicitly disable these transports unless the PR scope and rationale are expanded.
CONFIG_BT_HCIUART=m
CONFIG_BT_HCIUART_H4=y
CONFIG_BT_HCIUART_INTEL=y
CONFIG_BT_VIRTIO=m

Enable the Bluetooth subsystem and common USB Bluetooth controller drivers as modules in the x86_64 kernel configuration.

RFKILL support is already built in. Building the Bluetooth core, RFCOMM/BNEP/HIDP, and USB HCI drivers as modules makes common Bluetooth adapters available while keeping them out of the base kernel image.

The arm64 configuration already enables Bluetooth.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 6 out of 7 changed files in this pull request and generated no new comments.

Suppressed comments (1)

base/comps/kernel/6.18-x86_64-azl.config:2103

  • The Atheros USB firmware loader is explicitly disabled, so AR300x/ath3k USB adapters will still fail even though btusb is enabled. The pinned kernel's Kconfig describes BT_ATH3K as the firmware download driver for these Bluetooth USB chipsets, and both the existing arm64 AZL and x86 Fedora/RHEL configs build it as a module. Enable it here so the advertised common USB-controller support includes Atheros devices.
# CONFIG_BT_ATH3K is not set

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants