Basic setup - t2linux wiki (2024)

This page explains how to perform a basic set up after installing Linux on a T2 Mac.

Do you need to do this?

This guide is mainly relevent in the following cases :

  1. If you have installed Linux using an official ISO, instead of a T2 ISO.
  2. The Make modules load on early boot section is relevant for those who wish to encrypt their disk drives using LUKS or some other similar software.
  3. If some functionality related to T2 Macs is broken, then you can consider following this guide.

In rest cases, you probably won't need to follow this guide.

Installing a kernel for T2 support

Installing a kernel with support for T2 Macs is required in order to get the Keyboard, Trackpad, Touch Bar, Audio, Fan and Wi-Fi working.

Many distro maintainers provide compiled kernels which can be installed on your Linux installation. Following are the links to the repos providing such kernels:

Linux DistributionKernel with T2 support
Arch based distroshttps://github.com/NoaHimesaka1873/linux-t2-arch
Arch based distros (Xanmod kernels)https://github.com/NoaHimesaka1873/linux-xanmod-edge-t2
Fedorahttps://github.com/mikeeq/mbp-fedora-kernel
Fedorahttps://github.com/t2linux/fedora-kernel
Gentoohttps://github.com/t2linux/T2-Gentoo-Kernel
Manjarohttps://github.com/NoaHimesaka1873/manjaro-kernel-t2
NixOShttps://github.com/NixOS/nixos-hardware
Ubuntu based distroshttps://github.com/t2linux/T2-Debian-and-Ubuntu-Kernel
Debian based distroshttps://github.com/t2linux/T2-Debian-and-Ubuntu-Kernel
Debian based distroshttps://github.com/andersfugmann/T2-Debian-Kernel

If compiled kernels for your distro are not available, then you shall have to compile a kernel on your own. You can follow the Kernel guide for help.

Add necessary kernel paramaters

Using your bootloader, add the intel_iommu=on iommu=pt pcie_ports=compat kernel parameters. For example in GRUB:

  1. Edit /etc/default/grub.
  2. On the line with GRUB_CMDLINE_LINUX="quiet splash", add the following kernel parameters: intel_iommu=on iommu=pt pcie_ports=compat.
  3. Run sudo grub-mkconfig -o /boot/grub/grub.cfg if you are on a non-debian based distro. If using Debian or Ubuntu based distro, run sudo update-grub.

Make modules load on boot

Simply run the following:

echo apple-bce | sudo tee /etc/modules-load.d/t2.conf

Make modules load on early boot

Having the apple-bce module loaded early allows the use of the keyboard for decrypting encrypted volumes (LUKS).It also is useful when boot doesn't work, and the keyboard is required for debugging.To do this, one must ensure the apple-bce module as well as its dependent modules are included in the initial ram disk.You can get the list of dependent modules by running modinfo -F depends apple-bceThe steps to be followed vary depending upon the initramfs module loading mechanism used by your distro. Some examples are given as follows:

Setting up the Touch Bar

Setting up the Touch Bar is different for Ubuntu and Debian based distros.

If you are using an Ubuntu or Debian based distro:

  1. Add the apt repo for T2 Macs from here.
  2. Install tiny-dfr by running sudo apt install tiny-dfr.
  3. Restart your Mac.
  4. After restarting, you can run sudo touchbar to get a list of options that you can configure. Simply follow the on-screen instructions. Note that this command is only for Ubuntu or Debian based distros.

If you are using Arch Linux or EndeavourOS:

  1. Install tiny-dfr by running sudo pacman -Syu tiny-dfr.
  2. Restart your Mac.

If you are using Fedora:

  1. Install tiny-dfr with sudo dnf install rust-tiny-dfr.
  2. Restart your mac

For other distros:

  • Compile tiny-dfr yourself if your distro don't have that packaged yet.

The drivers for Wi-Fi and Bluetooth are included in a kernel with T2 support. But, we also need firmware to get them working from macOS.

Instructions for the same are given in the Wi-Fi and Bluetooth guide.

Some users have experienced recurrent notifications due the internal usb ethernet interface connected to the T2 chip. To avoid those notifications we can blacklist cdc_ncm and cdc_mbim modules with the following command:

sudo sh -c 'echo "# Disable for now T2 chip internal usb ethernetblacklist cdc_ncmblacklist cdc_mbim" >> /etc/modprobe.d/blacklist.conf'

Please note that this internal ethernet interface is required for various services including touchid that there currently is no Linux support for. In the future, if any of these services are supported, you'll need to undo this.

S3 suspend has been broken since macOS Sonoma, it has never been fixed, but this workaround will make deep suspend work:

  1. Create and edit this file: /etc/systemd/system/suspend-fix-t2.service

  2. Check your modprobe and rmmod location by running:

    which modprobewhich rmmod
  3. Taking the example as /usr/bin for location of modprobe and rmmod, copy the following to /etc/systemd/system/suspend-fix-t2.service. If the location is different, do the changes accordingly.

    [Unit]Description=Disable and Re-Enable Apple BCE Module (and Wi-Fi)Before=sleep.targetStopWhenUnneeded=yes[Service]User=rootType=oneshotRemainAfterExit=yes#ExecStart=/usr/bin/modprobe -r brcmfmac_wcc#ExecStart=/usr/bin/modprobe -r brcmfmacExecStart=/usr/bin/rmmod -f apple-bceExecStop=/usr/bin/modprobe apple-bce#ExecStop=/usr/bin/modprobe brcmfmac#ExecStop=/usr/bin/modprobe brcmfmac_wcc[Install]WantedBy=sleep.target
  4. Enable the service by running: sudo systemctl enable suspend-fix-t2.service

  5. If you are facing issues with Wi-Fi on resume, uncomment the lines having brcmfmac and brcmfmac_wcc in the above file.

Note

This seems to be working with CONFIG_MODULE_FORCE_UNLOAD=y in the kernel config.To check, run: zcat /proc/config.gz | grep "CONFIG_MODULE_FORCE_UNLOAD" on Arch based distros or cat /boot/config-$(uname -r) | grep "CONFIG_MODULE_FORCE_UNLOAD" on Debian/Ubuntu based distros.

Basic setup - t2linux wiki (2024)
Top Articles
Sf Craigslist Apartment
Rose Flower Care | Farmgirl Flowers — Farmgirl Flowers Care
Victory Road Radical Red
Pieology Nutrition Calculator Mobile
Mrh Forum
Botanist Workbench Rs3
سریال رویای شیرین جوانی قسمت 338
Top Golf 3000 Clubs
Busted Newspaper S Randolph County Dirt The Press As Pawns
Michaels W2 Online
10 Free Employee Handbook Templates in Word & ClickUp
Elizabethtown Mesothelioma Legal Question
Jesus Calling Oct 27
Grasons Estate Sales Tucson
Craigslist Blackshear Ga
Nashville Predators Wiki
Kürtçe Doğum Günü Sözleri
Craigslistjaxfl
Schedule 360 Albertsons
Www Craigslist Com Bakersfield
Nearest Walgreens Or Cvs Near Me
Providence Medical Group-West Hills Primary Care
Mega Personal St Louis
How to Make Ghee - How We Flourish
The Creator Showtimes Near R/C Gateway Theater 8
Kirsten Hatfield Crime Junkie
Kohls Lufkin Tx
Meridian Owners Forum
Is Holly Warlick Married To Susan Patton
Saxies Lake Worth
Jt Closeout World Rushville Indiana
Delta Rastrear Vuelo
Opsahl Kostel Funeral Home & Crematory Yankton
Frostbite Blaster
Body Surface Area (BSA) Calculator
MSD Animal Health Hub: Nobivac® Rabies Q & A
Blackwolf Run Pro Shop
Craigslist Florida Trucks
Noaa Marine Weather Forecast By Zone
Aurora Il Back Pages
Lovely Nails Prices (2024) – Salon Rates
511Pa
Oklahoma City Farm & Garden Craigslist
Large Pawn Shops Near Me
How to Connect Jabra Earbuds to an iPhone | Decortweaks
Sherwin Source Intranet
Server Jobs Near
Actress Zazie Crossword Clue
Plumfund Reviews
German American Bank Owenton Ky
Research Tome Neltharus
Strange World Showtimes Near Atlas Cinemas Great Lakes Stadium 16
Latest Posts
Article information

Author: Delena Feil

Last Updated:

Views: 6646

Rating: 4.4 / 5 (45 voted)

Reviews: 92% of readers found this page helpful

Author information

Name: Delena Feil

Birthday: 1998-08-29

Address: 747 Lubowitz Run, Sidmouth, HI 90646-5543

Phone: +99513241752844

Job: Design Supervisor

Hobby: Digital arts, Lacemaking, Air sports, Running, Scouting, Shooting, Puzzles

Introduction: My name is Delena Feil, I am a clean, splendid, calm, fancy, jolly, bright, faithful person who loves writing and wants to share my knowledge and understanding with you.