Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.
[quattro only] Update fix-t2.sh to enhance T2 macs compatibility
Reported by twilightresonance86 · filed Aug 5, 2026Closed upstream on 2026-08-07 by the merge of PR #6562 (closed by dhh). GitHub close reason: completed.
At a glance
- 1 · What is claimed?
- Only the report text below — no validator has restated it as checkable claims yet.
- 2 · What does it affect?
- Not yet mapped to any requirement or component.
- 3 · Is it reproducible?
- No validation has been run yet.
- 4 · What remains unclear?
- Not validated yet: no claims, no reproducer.
- 5 · What happens next?
- Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.
Original report
System details
MacBook Pro (16-inch 2019) T2
What's wrong?
With the transition of arch's Watanare-t2 kernel to t2bce the KERNEL_CMDLINE defaults need to be updated (see https://kait2en.github.io/reference/installed-files Kernel Args section)
KERNEL_CMDLINE[default]+=" intel_iommu=on iommu=pt pm_async=off mem_sleep_default=deep "
This will fix the known suspend issues, enable faster suspend and resume times.
Also, tiny-dfr is not behaving properly with t2bce and the standard touchbar firmware works perfectly instead with sleep and resume, so this extra dependency can be removed.
Last but not least we need an additional Fan2 entry for MacBooks with two fans to avoid t2fanrd service crashing repeatedly.
Here's the suggested fixed file
# Detect T2 MacBook models using PCI IDs
# Vendor: 106b (Apple), Device IDs: 1801 or 1802 (T2 Security Chip)
if lspci -nn | grep -q "106b:180[12]"; then
echo "Detected MacBook with T2 chip. Installing support items..."
omarchy-pkg-add \
linux-t2 \
linux-t2-headers \
apple-t2-audio-config \
apple-bcm-firmware \
t2fanrd
# Enable T2 services
# Probably won't need that anymore
systemctl enable t2fanrd.service
mkdir -p /etc/modules-load.d
{
echo "t2bce_vhci"
echo "hci_bcm4377"
} > /etc/modules-load.d/t2.conf
# linux-t2 7.1.4 replaced the apple-bce driver with t2bce; t2bce_vhci is the
# virtual USB host controller the internal keyboard hangs off, and mkinitcpio
# pulls t2bce_core/t2bce_dma in via module dependencies.
mkdir -p /etc/mkinitcpio.conf.d
echo "MODULES+=(t2bce_vhci usbhid hid_apple hid_generic xhci_pci xhci_hcd)" > \
/etc/mkinitcpio.conf.d/apple-t2.conf
mkdir -p /etc/modprobe.d
cat > /etc/modprobe.d/brcmfmac.conf <<'EOF'
# Fix for T2 MacBook WiFi connectivity issues
options brcmfmac feature_disable=0x82000
EOF
mkdir -p /etc/limine-entry-tool.d
cat > /etc/limine-entry-tool.d/t2-mac.conf <<'EOF'
# Generated by Omarchy installer for T2 Mac support
# With the new t2bce these are the needed defaults for suspend. See https://kait2en.github.io/reference/installed-files/
KERNEL_CMDLINE[default]+=" intel_iommu=on iommu=pt pm_async=off mem_sleep_default=deep "
EOF
# Added Fan2 to workaround a crashloop
cat > /etc/t2fand.conf <<'EOF'
[Fan1]
low_temp=55
high_temp=75
speed_curve=exponential
always_full_speed=false
[Fan2]
low_temp=55
high_temp=75
speed_curve=exponential
always_full_speed=false
EOF
fiView raw text
### System details
MacBook Pro (16-inch 2019) T2
### What's wrong?
With the transition of arch's Watanare-t2 kernel to t2bce the KERNEL_CMDLINE defaults need to be updated (see https://kait2en.github.io/reference/installed-files Kernel Args section)
`KERNEL_CMDLINE[default]+=" intel_iommu=on iommu=pt pm_async=off mem_sleep_default=deep "`
This will fix the known suspend issues, enable faster suspend and resume times.
Also, tiny-dfr is not behaving properly with t2bce and the standard touchbar firmware works perfectly instead with sleep and resume, so this extra dependency can be removed.
Last but not least we need an additional Fan2 entry for MacBooks with two fans to avoid t2fanrd service crashing repeatedly.
Here's the suggested fixed file
```
# Detect T2 MacBook models using PCI IDs
# Vendor: 106b (Apple), Device IDs: 1801 or 1802 (T2 Security Chip)
if lspci -nn | grep -q "106b:180[12]"; then
echo "Detected MacBook with T2 chip. Installing support items..."
omarchy-pkg-add \
linux-t2 \
linux-t2-headers \
apple-t2-audio-config \
apple-bcm-firmware \
t2fanrd
# Enable T2 services
# Probably won't need that anymore
systemctl enable t2fanrd.service
mkdir -p /etc/modules-load.d
{
echo "t2bce_vhci"
echo "hci_bcm4377"
} > /etc/modules-load.d/t2.conf
# linux-t2 7.1.4 replaced the apple-bce driver with t2bce; t2bce_vhci is the
# virtual USB host controller the internal keyboard hangs off, and mkinitcpio
# pulls t2bce_core/t2bce_dma in via module dependencies.
mkdir -p /etc/mkinitcpio.conf.d
echo "MODULES+=(t2bce_vhci usbhid hid_apple hid_generic xhci_pci xhci_hcd)" > \
/etc/mkinitcpio.conf.d/apple-t2.conf
mkdir -p /etc/modprobe.d
cat > /etc/modprobe.d/brcmfmac.conf <<'EOF'
# Fix for T2 MacBook WiFi connectivity issues
options brcmfmac feature_disable=0x82000
EOF
mkdir -p /etc/limine-entry-tool.d
cat > /etc/limine-entry-tool.d/t2-mac.conf <<'EOF'
# Generated by Omarchy installer for T2 Mac support
# With the new t2bce these are the needed defaults for suspend. See https://kait2en.github.io/reference/installed-files/
KERNEL_CMDLINE[default]+=" intel_iommu=on iommu=pt pm_async=off mem_sleep_default=deep "
EOF
# Added Fan2 to workaround a crashloop
cat > /etc/t2fand.conf <<'EOF'
[Fan1]
low_temp=55
high_temp=75
speed_curve=exponential
always_full_speed=false
[Fan2]
low_temp=55
high_temp=75
speed_curve=exponential
always_full_speed=false
EOF
fi
```Validation
Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.
Linked
Not linked to any known issue, other report or change yet.
Decision
Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.
No decision has been recorded yet.