Skip to content

Enable support of i2c-based touchscreens for x86 and aarch64#4463

Merged
sairon merged 3 commits intohome-assistant:devfrom
puterboy:CONFIG_I2C_HID
Jan 5, 2026
Merged

Enable support of i2c-based touchscreens for x86 and aarch64#4463
sairon merged 3 commits intohome-assistant:devfrom
puterboy:CONFIG_I2C_HID

Conversation

@puterboy
Copy link
Contributor

@puterboy puterboy commented Dec 25, 2025

This kernel option is needed to support i2c-based touchscreens in HAOS, such as many integrated touchscreens (note external USB-based touchscreens don't require this)

All that is required is adding the line: CONFIG_I2C_HID_ACPI=m for x86 platforms and CONFIG_I2C_HID_OF=m for arm64 platforms (adding only 20-40kB to codebase).

In particular, this is necessary for the addon that I published https://github.com/puterboy/HAOS-kiosk that allows users to connect up any display directly to their HAOS server and display HA dashboards directly without having to have use a browser on another device.

This addon has become increasingly popular as it saves the cost, space and perhaps most importantly energy consumption of adding a dedicated PC/Android/RPi just to access HA and display your core dashboards. Plus it seems only natural for a home user to associate a display directly with the device rather than having to use a separate physical client (pc + screen running a browser) and server (pc running HAOS) setup.

I have spent a lot of time developing this add-on to seamlessly support a broad range of input and output devices, including touchscreens. And I have gotten several bug reports because it fails to work on integrated i2c-based touchscreens.

I want to thank you for your previous support of my project where you enabled CONFIG_HID_MULTITOUCH=m to support multi-touch. (See: #4298 ). SINCEREST OF THANKS!!!

Summary by CodeRabbit

  • New Features
    • Added I2C HID Over-Fabric (OF) module support for ARM-based systems.
    • Added I2C HID ACPI module support for x86-64 systems.

✏️ Tip: You can customize this high-level summary in your review settings.

Needed to support i2c-based touchscreens on x86 boards
Needed to support i2c touchscreens on arm64 devices
@coderabbitai
Copy link

coderabbitai bot commented Dec 25, 2025

📝 Walkthrough

Walkthrough

Adds two kernel configuration symbols enabling I2C HID support as loadable modules: CONFIG_I2C_HID_OF=m for arm-uefi generic-aarch64 and CONFIG_I2C_HID_ACPI=m for pc generic-x86-64. No other changes to I2C entries.

Changes

Cohort / File(s) Summary
Kernel I2C configuration additions
buildroot-external/board/arm-uefi/generic-aarch64/kernel.config, buildroot-external/board/pc/generic-x86-64/kernel.config
Adds kernel config symbols: CONFIG_I2C_HID_OF=m (arm-aarch64) and CONFIG_I2C_HID_ACPI=m (x86-64) — both as modules; no other modifications in the I2C blocks.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title accurately reflects the main change: enabling i2c-based touchscreen support for both x86 and aarch64 platforms through kernel config modifications.
✨ Finishing touches
  • 📝 Generate docstrings

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

📜 Review details

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Cache: Disabled due to data retention organization setting

Knowledge base: Disabled due to data retention organization setting

📥 Commits

Reviewing files that changed from the base of the PR and between 7960c80 and 301497f.

📒 Files selected for processing (2)
  • buildroot-external/board/arm-uefi/generic-aarch64/kernel.config
  • buildroot-external/board/pc/generic-x86-64/kernel.config
🔇 Additional comments (1)
buildroot-external/board/arm-uefi/generic-aarch64/kernel.config (1)

74-74: LGTM!

The addition of CONFIG_I2C_HID_OF=m is correct for enabling I2C HID touchscreen support on device-tree (Open Firmware) based ARM systems. This complements the existing CONFIG_I2C_CADENCE option and will enable the i2c-hid-of module for touchscreen functionality.

@sairon sairon linked an issue Jan 5, 2026 that may be closed by this pull request
@sairon sairon changed the title Enable HID multitouch support in kernel for x86 and arm64 devices Enable support of i2c-based touchscreens for x86 and aarch64 Jan 5, 2026
@sairon sairon added board/generic-x86-64 Generic x86-64 Boards (like Intel NUC) board/generic-aarch64 Generic aarch64 machine linux Linux kernel related issue labels Jan 5, 2026
Copy link
Member

@sairon sairon left a comment

Choose a reason for hiding this comment

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

Looks good. I just updated the PR title a bit to highlight the difference between the older PR.

@sairon sairon merged commit 4c8582b into home-assistant:dev Jan 5, 2026
3 checks passed
sairon pushed a commit that referenced this pull request Jan 7, 2026
* Enable CONFIG_I2C_ACPI in kernel configuration for generic-x86-64

Needed to support i2c-based touchscreens on x86 boards

* Enable I2C HID support in kernel configuration for generic aarch64

Needed to support i2c touchscreens on arm64 devices

(cherry picked from commit 4c8582b)
@sairon sairon mentioned this pull request Jan 7, 2026
@github-actions github-actions bot locked and limited conversation to collaborators Jan 13, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

board/generic-aarch64 Generic aarch64 machine board/generic-x86-64 Generic x86-64 Boards (like Intel NUC) cla-signed linux Linux kernel related issue

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Touchscreen not detected on Home Assistant OS for generic x86-64

2 participants