=== Laptop Testing and Integration Project

Links: +
link:https://freebsdfoundation.github.io/freebsd-laptop-testing/[Project URL] URL: link:https://freebsdfoundation.github.io/freebsd-laptop-testing/[] +
link:https://github.com/FreeBSDFoundation/freebsd-laptop-testing[GitHub repository] URL: link:https://github.com/FreeBSDFoundation/freebsd-laptop-testing[]

Contact: Shreeney Ajmeri <shreeney@freebsdfoundation.org>

The goal of this project is to create a community workflow for  users of FreeBSD to easily test their laptops against, placing all tested laptops in a table, along with a ranking system to automatically deduce which laptops are currently the best for running FreeBSD on.

As part of the FreeBSD Foundation's link:https://github.com/FreeBSDFoundation/proj-laptop[Laptop Support and Usability Project], this workflow will prove very useful for prospective users of FreeBSD, who want to test their laptops to see how well-supported they are.
It also helps buyers who want to purchase a laptop that is known to be well-supported by FreeBSD.

The main goal is to consolidate all FreeBSD laptop compatibility information into one central knowledge base for the community to refer to.


During this quarter the following items were completed,

* Created a Python-based link:https://github.com/FreeBSDFoundation/freebsd-laptop-testing/blob/main/main.py[application] which builds on top of the link:https://github.com/linuxhw/hw-probe/blob/master/INSTALL.BSD.md[`hw-probe`] utility, which collects and aggregates a relevant subset of the data for both laptop developers and end users to view.
* Developed a link:https://github.com/FreeBSDFoundation/freebsd-laptop-testing/blob/main/parse.py[static-site-generation] system to parse the files created by the Python application into HTML fragments for use in the website
* Set up a link:https://github.com/FreeBSDFoundation/freebsd-laptop-testing/pull/23/files#diff-28802fbf11c83a2eee09623fb192785e7ca92a3f40602a517c011b947a1822d3[GitHub Actions] workflow to auto-run the parser and generate the website upon new merge or git actions from a user
* Outlined a sub-set of relevant information created by `hw-probe` to be used in the FreeBSD laptop testing workflow
* Created a link:https://github.com/FreeBSDFoundation/freebsd-laptop-testing/pull/27/changes[pull request] template for the users to follow outlining important features of the laptop that work or not.
* Developed a scoring system to be used in the application to automatically score laptops based on how many devices on the laptop function or not.
  Added a workflow that makes manual adjustment of criteria and scores easier for maintainers.
* Created Makefile and shell scripts to aid users in running the tests using a simple `make` command within a terminal, complete with user-friendly prompts if required applications are not installed.
* Tested all laptops and desktops in the Kitchener office with the test suite inside the repository to verify if it works properly across both laptops and desktops

In addition, extensive testing took place during this quarter,

* Tested the Framework Laptop 13 (AMD 7040 Series) and Lenovo Yoga 11e (Kaby Lake) against the link:https://github.com/FreeBSDFoundation/freebsd-laptop-testing/blob/main/testing_checklist.md[FreeBSD Laptop Integration Testing Guidelines] on FreeBSD 16-CURRENT
* Worked on testing `drm-kmod` support on the Framework Desktop (Ryzen AI MAX) , as well as s2idle (suspend-2-idle) support on the Framework Laptop.
* Created FreeBSD Handbook documentation on Wayland, including setting up Niri, Labwc, Hyprland, and RiverWM window managers properly.
  Tested and debugged Wayland support on the link:https://github.com/FreeBSDFoundation/proj-laptop/tree/main/supported[commited test targets], and reported bugs to relevant developers.
* Integrated the https://codeberg.org/fairyglade/ly[Ly] display manager into the upcoming link:https://gitlab.com/alfix/kde-installer-dialogs/-/merge_requests/10[KDE installer] for FreeBSD 15.1, allowing users to choose between SDDM and Ly.
* Evaluated the viability of GPU Passthrough on a Dell OptiPlex 7010 system using an NVIDIA GPU

Other notes:

* Started work on testing GPU passthrough on other machines; they are yet to arrive at the Kitchener office
* Continuing to iterate on the `freebsd-laptop-testing` repository and listening to user feedback after it goes live.
* Working on iterating the laptop testing project into the `freebsd.org` domain

Sponsor: The FreeBSD Foundation
