Skip to content

fix(kernel): restore VGEM/USBTMC on x86_64 and align USB HID/serial options on aarch64 - #20010

Draft
Rachel Menge (rlmenge) wants to merge 3 commits into
microsoft:4.0from
rlmenge:rlmenge/4.0/kernel/restore-vgem-usbtmc
Draft

Rachel Menge (rlmenge) wants to merge 3 commits into
microsoft:4.0from
rlmenge:rlmenge/4.0/kernel/restore-vgem-usbtmc

Conversation

@rlmenge

@rlmenge Rachel Menge (rlmenge) commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Resolves four placeholder kernel-config overrides ("Align kernel 6.18 with its
generated configuration") by making both architectures match the shared policy.

This will stack after #20009

x86_64: restore

Option Before After Why
CONFIG_DRM_VGEM n m Virtual GEM/DMA-BUF provider used by Mesa software rendering (#3227). Already m on aarch64; n came from the AZL4 Ubuntu import, which upstream Ubuntu has since re-enabled.
CONFIG_USB_TMC n m USB Test & Measurement Class; explicit requirement (OS 52967503). Already m on aarch64.

aarch64: disable

Option Before After Why
CONFIG_USB_HIDDEV y n Legacy /dev/usb/hiddev* interface; no supported server workload. hidraw (=y) covers modern HID access. Already n on x86_64.
CONFIG_USB_SERIAL_CH341 ⟨CH341⟩ m n Matches x86_64. ⟨CH341⟩

Checker policy

  • Remove x86_64 overrides for DRM_VGEM, USB_TMC, USB_HIDDEV and USB_SERIAL_CH341 ⟨CH341⟩.
  • Require DRM_VGEM=m on arm64 (matches config).
  • USB_HIDDEV and USB_SERIAL_CH341 ⟨CH341⟩ defaults: n on both architectures.

Packaging

  • Bump release to 6.18.57-1.4 with a changelog entry.
  • Refresh locks/kernel.lock and regenerate the rendered specs.

Fixes AB#24900
Fixes AB#24916
Fixes AB#24914
Fixes AB#24915 ⟨CH341⟩

Copilot AI balanced review requested due to automatic review settings November 6, 2026 01:13
@rlmenge

Copy link
Copy Markdown
Contributor Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
2 pipeline(s) were filtered out due to trigger conditions.

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.

🔵 Needs a closer look

Kernel driver and early-boot crypto changes lack documented final-revision build, RPM inspection, and runtime validation on both architectures, and the review environment cannot perform those checks.

No open issues 🎉

What changed in this PR

Aligns Azure Linux’s kernel configuration across x86_64 and aarch64, alongside the early-boot crypto changes stacked from #20009.

Changes:

  • Restores VGEM and USBTMC modules on x86_64; disables legacy HIDDEV and CH341 support on aarch64.
  • Updates checker policy to enforce the shared settings and removes four placeholder overrides.
  • Bumps the kernel release to 6.18.57-1.4, refreshes the lock fingerprint, and updates rendered files.
File Description
specs/​k/​kernel/​kernel.spec Rendered release bump and changelog entries.
specs/​k/​kernel/​6.18-x86_64-azl.config Rendered VGEM, USBTMC, and built-in crypto settings.
specs/​k/​kernel/​6.18-aarch64-azl.config Rendered HIDDEV, CH341, and built-in crypto settings.
scripts/​ci/​kernel/​kernel-config-checker/​kernel_config_checker/​kernel_configs_json/​azl4-os-required-kernel-configs.json Enforces updated policy and removes obsolete overrides.
locks/​kernel.lock Refreshes the kernel input fingerprint.
base/​comps/​kernel/​kernel.spec Sets release 1.4 and records configuration changes.
base/​comps/​kernel/​6.18-x86_64-azl.config Enables VGEM and USBTMC modules plus stacked crypto settings.
base/​comps/​kernel/​6.18-aarch64-azl.config Disables HIDDEV and CH341 plus applies stacked crypto settings.

Review effort: Balanced

Restore CONFIG_DRM_VGEM=m and CONFIG_USB_TMC=m in the x86_64 kernel
6.18 config. The aarch64 config already enables both as modules.

- Remove the stale checker overrides that disabled both options on
  x86_64.
- Require CONFIG_DRM_VGEM=m on arm64 in the checker, matching the
  existing aarch64 config and the CONFIG_USB_TMC policy.
- Refresh the kernel lock and regenerate the rendered x86_64 config.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Align the aarch64 kernel 6.18 config with x86_64 on two USB options that
differed between the two.

- Disable CONFIG_USB_HIDDEV on aarch64 to match x86_64. The legacy hiddev
  interface has no supported server workload, and hidraw covers modern
  HID access.
- Disable CONFIG_USB_SERIAL_CH341 on aarch64 to match x86_64.
- Require both options to be off on both architectures in the checker
  policy and remove the now-redundant x86_64 overrides.
- Add to the existing kernel 6.18.57-1.4 changelog entry, refresh the lock, and
  regenerate the rendered specs.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@rlmenge
Rachel Menge (rlmenge) force-pushed the rlmenge/4.0/kernel/restore-vgem-usbtmc branch from 4964c55 to 0016d4d Compare November 6, 2026 19:24
Copilot AI balanced review requested due to automatic review settings November 6, 2026 19:24
@rlmenge

Copy link
Copy Markdown
Contributor Author

/azp run

@azure-pipelines

Copy link
Copy Markdown
Azure Pipelines:
2 pipeline(s) were filtered out due to trigger conditions.

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.

🔵 Needs a closer look

Kernel driver and early-boot crypto changes lack build, RPM-inspection, and boot/module smoke-test evidence on both architectures, and this review environment cannot perform the required runtime checks.

No open issues 🎉

Review effort: Balanced

This branch has not been deployed

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants