Skip to content

Add ThinkPad T14 Intel Gen 6 support #1572

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

bashfulrobot
Copy link
Contributor

Hardware Profile

Adds support for Lenovo ThinkPad T14 Intel Gen 6 with Intel Core Ultra processors (Lunar Lake architecture).

Changes

  • CPU/GPU Support: Uses module for Intel Core Ultra 5/7 processors with Intel Arc integrated graphics
  • Kernel Requirements: Ensures kernel 6.8+ for full Lunar Lake support
  • Hardware Optimizations:
    • for ThinkPad brightness control
    • for touchpad click registration
    • Disables service for modern Intel power management
  • Module Structure: Added both base Intel T14 profile and Gen 6 specific profile
  • Documentation: Updated README.md table and flake.nix entries

Hardware Tested

  • Intel Core Ultra 7 268V processor
  • Intel Arc Graphics 130V/140V
  • All hardware functionality verified working
  • Kernel 6.16.0 with xe driver loaded successfully

Feedback Requested

The kernel parameters and throttled service settings are marked with TODO comments as they're based on common ThinkPad patterns. Feedback from other T14 Gen 6 users would help validate these optimizations.

Test Plan

  • Graphics acceleration working (Mesa Intel Graphics LNL)
  • xe driver loading correctly
  • Kernel 6.8+ requirement met
  • Hardware detection functional
  • Community testing of brightness keys
  • Community testing of touchpad behavior
  • Community validation of power management settings

@bashfulrobot
Copy link
Contributor Author

bashfulrobot commented Aug 8, 2025

I reviewed the error, and the component that the nix fmt is complaining about also does not exist in your current flake. Can I ignore that? Or if there is something I need to do. Please let me know. I am currently running this code from my repo on my laptop. Feel free to let me know if there is anything else you need. Appreciate your time.

 nix fmt ..                nixos-hardware on  master took 6m5s error: flake 'git+file:///home/dustin/dev/nix/nixos-hardware' does not provide attribute 'formatter.x86_64-linux'

Cheers.

@panchoh
Copy link

panchoh commented Aug 11, 2025

I reviewed the error, and the component that the nix fmt is complaining about also does not exist in your current flake. Can I ignore that? Or if there is something I need to do. Please let me know. I am currently running this code from my repo on my laptop. Feel free to let me know if there is anything else you need. Appreciate your time.

 nix fmt ..                nixos-hardware on  master took 6m5s error: flake 'git+file:///home/dustin/dev/nix/nixos-hardware' does not provide attribute 'formatter.x86_64-linux'

Cheers.

(Sorry, I missed this comment before.)

The formatter has been recently moved (a7600ce) to the tests flake, so the GitHub Actions workflow enters the tests directory before running nix fmt:

- run: cd tests && nix fmt .. -- --fail-on-change

So, just run cd tests, and then run nix fmt .. -- --fail-on-change a couple of times until no errors are detected, and you are good to go. (Technically, the first pass will fix all the errors, but with the second pass, you get feedback that it won’t fail when run by the workflow.)

Hope that it helps!

Happy hacking,

@bashfulrobot
Copy link
Contributor Author

I reviewed the error, and the component that the nix fmt is complaining about also does not exist in your current flake. Can I ignore that? Or if there is something I need to do. Please let me know. I am currently running this code from my repo on my laptop. Feel free to let me know if there is anything else you need. Appreciate your time.

 nix fmt ..                nixos-hardware on  master took 6m5s error: flake 'git+file:///home/dustin/dev/nix/nixos-hardware' does not provide attribute 'formatter.x86_64-linux'

Cheers.

(Sorry, I missed this comment before.)

The formatter has been recently moved (a7600ce) to the tests flake, so the GitHub Actions workflow enters the tests directory before running nix fmt:

- run: cd tests && nix fmt .. -- --fail-on-change

So, just run cd tests, and then run nix fmt .. -- --fail-on-change a couple of times until no errors are detected, and you are good to go. (Tecnically, the first pass will fix all the errors, but with the second pass, you get feedback that it won’t fail when run by the workflow.)

Hope that it helps!

Happy hacking,

Thanks for the tip! It ran clean locally after two runs. I have now committed that change as well.

@panchoh
Copy link

panchoh commented Aug 12, 2025

Thanks for the tip! It ran clean locally after two runs. I have now committed that change as well.

Glad to be of service!

@bashfulrobot
Copy link
Contributor Author

Ok, the checks all passed! That's something. 🤣 is there anything else I need to do to get this PR in shape to get approved?

Cheers.

@panchoh
Copy link

panchoh commented Aug 19, 2025

Ok, the checks all passed! That's something. 🤣 is there anything else I need to do to get this PR in shape to get approved?

Cheers.

Disclaimer: I’m just a user here.

That being said, I would suggest that you rewrite the history of this PR, leaving only the relevant parts. Ideally, a single commit. This makes the review process easier for the maintainers.

For instance, the flake.lock coming and going is just noise here. Or having a commit that adds a chunk only to be reverted in the next one (security.pam.services, I’m looking at you 😉), is of little use, just adds load to the reviewer.

Hope that it helps and, at any rate, thanks for your contribution!

@bashfulrobot bashfulrobot force-pushed the master branch 2 times, most recently from 1008f7f to f616d6d Compare August 19, 2025 17:13
@bashfulrobot
Copy link
Contributor Author

Ok, the checks all passed! That's something. 🤣 is there anything else I need to do to get this PR in shape to get approved?
Cheers.

Disclaimer: I’m just a user here.

That being said, I would suggest that you rewrite the history of this PR, leaving only the relevant parts. Ideally, a single commit. This makes the review process easier for the maintainers.

For instance, the flake.lock coming and going is just noise here. Or having a commit that adds a chunk only to be reverted in the next one (security.pam.services, I’m looking at you 😉), is of little use, just adds load to the reviewer.

Hope that it helps and, at any rate, thanks for your contribution!

Fixed that as well! Thanks for the input. Now hopefully someone can review/merge.

Add complete hardware profile for Lenovo ThinkPad T14 Intel Gen 6 with:
- Lunar Lake CPU architecture support with modern kernel requirements
- Intel Arc graphics integration
- Kernel parameters for backlight and touchpad optimization
- Fingerprint reader support with comprehensive PAM configuration guidance
- Disabled throttled service for modern Intel power management
- Updated flake.nix and README.md with new module entries

Includes detailed documentation for fingerprint authentication setup
with warnings about potential login issues and proper PAM configuration
in host systems. Follows CONTRIBUTING.md guidelines for profile structure.
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