Hardware detection
One image for many laptops: at every boot gbOS86 reads the machine's devices and loads the matching drivers.
What happens at boot
- Module tree. The volume's
gbos/modules/(about 400 kernel modules, built and indexed for the running kernel) is bind-mounted over/lib/modules. - Coldplug. The script reads the
modaliasstring of every device in sysfs (PCI, USB, ACPI, HID, I2C, DMI) and asksmodprobeto load whatever module claims each one. It repeats up to four times, because loading a driver (an audio controller, a USB hub) creates new devices. - Firmware. The kernel's firmware loader is pointed at
gbos/firmware, a trimmed copy of linux-firmware and sof-bin. After the switch to Android it points at the same folder as seen from there. - Wait and report. It waits a few seconds for Wi-Fi, Bluetooth and sound to appear and writes
logs/boot-N/hwdetect.txt.
Every step is non-fatal: a laptop with an unsupported device simply ends up without that driver. Set HWDETECT=0 to disable it. If a stick has no gbos/modules, the older Latitude 5300-specific Wi-Fi and Bluetooth sequence runs instead.
What is covered
| Area | Drivers |
|---|---|
| Graphics | i915 (Skylake to Raptor Lake, loaded by stage0), xe for newer parts (needs its own firmware; see Tested laptops), ACPI video and the backlight class. |
| Wi-Fi | Intel iwldvm (7260, 7265) and iwlmvm (8265 to BE200), Realtek rtw88/rtw89, MediaTek mt7921/mt7922/mt7925, Qualcomm ath10k/ath11k, Broadcom brcmfmac. |
| Bluetooth | btusb with Intel, Realtek, MediaTek, Qualcomm and Broadcom support, plus Intel PCIe Bluetooth. |
| Audio | Legacy HDA with Realtek, Conexant, Cirrus, IDT/SigmaTel, VIA and other codecs, or SOF (Intel DSP, digital mics, SoundWire). The kernel's snd_intel_dspcfg picks one per machine. |
| Input | Intel LPSS I2C-HID (most touchpads), Intel Integrated Sensor Hub, PS/2 (Synaptics, ALPS, Elan), Synaptics RMI4. |
| Platform | Dell, HP, ThinkPad, IdeaPad, Asus, Acer, Samsung, MSI, Sony, Fujitsu, LG and Intel HID hotkey/rfkill/fan drivers; Intel PMC and thermal drivers. |
| Other | SD readers (Realtek, SDHCI), USB webcams (UVC), Ethernet (r8169, e1000e, igc, USB adapters). |
Audio
Google's audio service matches a configuration to the ALSA card id. Nearly every Intel PCH laptop using legacy HDA has the card id PCH, for which a complete configuration ships. For another main card (for example a SOF card) a configuration is generated from the PCH one with that card's id and name. That is a best-effort mapping: mixer control names differ per codec, so some laptops will have no sound or wrong routing until a config is written for them. Reports help.
The report
hwdetect.txt contains the kernel version, DMI vendor and model, PCI devices that have no driver, USB devices with their drivers, input devices, network interfaces, Bluetooth controllers, backlight devices with their range, sound cards, rfkill switches, missing-firmware kernel messages, and the list of loaded modules. It is the first thing asked for in any hardware report.
Firmware layout
The files are in gbos/firmware/ using the names the kernel requests: Intel Wi-Fi iwlwifi-*.ucode at the top level, intel/ibt-* for Intel Bluetooth, i915/ for graphics microcontrollers, intel/sof* for SOF audio, and folders for rtw88, rtw89, mediatek, ath10k, ath11k, brcm, qca, rtl_bt and cirrus.