Skip to content
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

Add tips for contributing, update State article #487

Merged
merged 13 commits into from
Dec 23, 2023
6 changes: 5 additions & 1 deletion docs/contribute.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,10 @@ The T2 project itself currently does not accept financial donations. However, so

The best way of donation which we believe is in the form of skill. If you think you have the potential to help us in pushing the project further like fixing bugs, adding new features etc., you are free to do so. For this, you may contact our discord server, where other members of this organization are present.

## Contribute to the code

See "partially working" features at [State](https://wiki.t2linux.org/state/) to get an idea of what's being worked on, and what should be worked on.

## Support our maintainers

Here is the list and links to donate some of our maintainers.
Expand All @@ -13,5 +17,5 @@ Here is the list and links to donate some of our maintainers.
- [marcosfad](https://github.com/marcosfad) - Played major role in getting Ubuntu working on T2 Macs. Donate via [Paypal](https://paypal.me/marcosfad) or [GitHub Sponsors](https://github.com/sponsors/marcosfad).
- [NoaHimesaka1873](https://github.com/NoaHimesaka1873) - Currently maintains boot images for Arch, EndeavourOS, and Manjaro. Also maintains kernel for Manjaro too. Donate via [GitHub Sponsors](https://github.com/sponsors/NoaHimesaka1873) or [Toss (South Korea residents only)](https://toss.me/yuifmirror).
- [Redecorating](https://github.com/Redecorating) - Currently maintains Arch kernel package, has written T2 related kernel patches and worked on T2 related kernel regressions. Donate via [PayPal](https://paypal.me/redecorating).
- [AdityaGarg8](https://github.com/AdityaGarg8) - Current maintainer of Ubuntu. Has also helped in writing T2 kernel patches and upstreaming various patches. Donate via **Amazon Gift Cards India** ([Link for Indians](https://www.amazon.in/s?k=amazon+e-gift+voucher&adgrpid=60620499282&ext_vrnc=hi&gclid=Cj0KCQjw8O-VBhCpARIsACMvVLMW9KEhsWO9xHEvOh7VLo3lCimvvJJqaKdqwj-OlN_ZAMp3ZIztQ0AaAtGAEALw_wcB&hvadid=294106443315&hvdev=m&hvlocphy=9075215&hvnetw=g&hvqmt=b&hvrand=11733182626932158840&hvtargid=kwd-314681002020&hydadcr=15237_1791630&tag=googinhydrmob-21&ref=pd_sl_3qs6ai50tg_b), [Link for other countries](https://www.g2a.com/search?query=Amazon%20India)), **GitHub sponsors** ([Link](https://github.com/sponsors/AdityaGarg8)) or **PayPal** ([Link](https://www.paypal.com/paypalme/AdityaGarg8)). The cards can be emailed to **[email protected]** or via the discord.
- [AdityaGarg8](https://github.com/AdityaGarg8) - Current maintainer of Ubuntu. Has also Current maintainer of Ubuntu. Has also helped in writing T2 kernel patches and upstreaming various patches. Donate via **Amazon Gift Cards India** ([Link for Indians](https://www.amazon.in/s?k=amazon+e-gift+voucher&adgrpid=60620499282&ext_vrnc=hi&gclid=Cj0KCQjw8O-VBhCpARIsACMvVLMW9KEhsWO9xHEvOh7VLo3lCimvvJJqaKdqwj-OlN_ZAMp3ZIztQ0AaAtGAEALw_wcB&hvadid=294106443315&hvdev=m&hvlocphy=9075215&hvnetw=g&hvqmt=b&hvrand=11733182626932158840&hvtargid=kwd-314681002020&hydadcr=15237_1791630&tag=googinhydrmob-21&ref=pd_sl_3qs6ai50tg_b), [Link for other countries](https://www.g2a.com/search?query=Amazon%20India)), **GitHub sponsors** ([Link](https://github.com/sponsors/AdityaGarg8)) or **PayPal** ([Link](https://www.paypal.com/paypalme/AdityaGarg8)). The cards can be emailed to **[email protected]** or via the discord.
netnef marked this conversation as resolved.
Show resolved Hide resolved
- [networkException](https://github.com/networkException) - Wiki creator and maintainer. Donate via [GitHub Sponsors](https://github.com/sponsors/networkException).
52 changes: 23 additions & 29 deletions docs/state.md
Original file line number Diff line number Diff line change
@@ -1,35 +1,29 @@
# Introduction
# State

While Linux is usable on all T2 models, some features are limited due to the lack of drivers or similar. This page should give a general overview of what is working and what is not.

## Working

- Internal Drive / SSD: Support for the SSD has been upstreamed to the Linux Kernel
- Screen
- USB
- Keyboard
- Camera
- Wi-Fi (requires macOS firmware)
- Bluetooth (requires macOS firmware only for devices with BCM4377 chip. Also, Bluetooth glitches on devices with BCM4377 Chip if connected to a 2.4 Ghz Wi-Fi connection. Thus, in order to use Bluetooth either turn off your Wi-Fi or use a 5Ghz Wi-Fi connection.)
- Touch Bar: There is support for the "Touch Bar Keyboard" device configuration, where only the Function Keys or the Media/Brightness Control Keys can be shown. No other graphics can be shown on the Touchbar (this is what Windows with Bootcamp drivers uses).
- Suspend

## Partially Working

- Trackpad: Functions, but it is far from the experience on macOS (No force touch or palm rejection). Some models have deadzones on the edges of their trackpads where swipes along the trackpad that start in these deadzones will not be registered.
- Audio: With proper configuration audio can work, however it is not stable in some older kernels and switching between speakers and when using the microphone. Microphone volume is low in some Macs.
- Hybrid Graphics: If the device has a dedicated AMD GPU (15 and 16 inch MacBookPro's) as well as an Intel iGPU, the iGPU can be used, but this breaks resume, see the [Hybrid Graphics](https://wiki.t2linux.org/guides/hybrid-graphics/) page.
- AMD GPUs: Changing resolution, using DRI_PRIME and doing various other things can cause crashes, but `echo high | sudo tee /sys/bus/pci/drivers/amdgpu/0000:??:??.?/power_dpm_force_performance_level` or adding `amdgpu.dpm=0` to the kernel commandline stops these crashes.
- MacPro7,1: Users have encountered PCIE Address Space issues, with auto remap breaking.

## Not working

- Custom graphics on Touchbar: There is currently no Linux driver for the Touchbar's "Touch Bar Display" device configuration, which is what macOS uses, and gives full control over the display to the Operating System.
- T2 Secure Enclave Processor (Touch ID, storing encryption keys on the T2)
- The T2's onboard Audio Video Encoder (used for Sidecar on macOS)
- Graphics switching without rebooting (gmux)

## Other
|Feature|Status|Upstream|Notes|Issues/links|
|-|-|-|-|-|
|Internal Drive / SSD|🟢 Working|🟢 Kernel 5.4||[Filesystem notes](#filesystem-notes)|
|Screen, iGPU|🟢 Working|🟡 Partial|||
|USB|🟢 Working|🟢 Yes|||
|Keyboard|🟢 Working|🔴 No||[apple-bce](https://github.com/t2linux/apple-bce-drv)|
|Trackpad|🟢 Working|🔴 No|Works, but isn't as great as on macOS (no force touch or palm rejection). Some models have deadzones on the edges of their trackpads where swipes along the trackpad that start in these deadzones will not be registered.|[apple-bce](https://github.com/t2linux/apple-bce-drv)|
|Wi-Fi|🟢 Working|🟢 Yes|Requires macOS firmware|[Setup guide](https://wiki.t2linux.org/guides/wifi-bluetooth/)|
|Bluetooth|🟡 Partially working|🟢 Yes|Requires macOS firmware only for devices with BCM4377 chip. Also, Bluetooth glitches on devices with BCM4377 Chip if connected to a 2.4 Ghz Wi-Fi connection. Thus, in order to use Bluetooth either turn off your Wi-Fi or use a 5Ghz Wi-Fi connection.|[Setup guide](https://wiki.t2linux.org/guides/wifi-bluetooth/)|
|Camera|🟢 Working|🔴 No||[apple-bce](https://github.com/t2linux/apple-bce-drv)|
|Thunderbolt|🟢 Working|🟢 Yes|If it doesn't work, try replacing `pcie_ports=compat` with `pcie_ports=native` in the kernel parameters via GRUB.||
|Touch Bar|🟢 Working|🔴 No|"Touch Bar Keyboard" mode works OOTB, where only the Function Keys or the Media/Brightness Control Keys are shown. Support for custom graphics on the Touch Bar is being actively developed.|[tiny-dfr](https://github.com/kekrby/tiny-dfr), [apple-ib](https://github.com/t2linux/apple-ib-drv)|
|Suspend|🟡 Partially working|🟢 Yes|A firmware upgrade attached to macOS Sonoma broke suspend. Some users were having difficulty with it even before Sonoma. The issue has something to do with the apple-bce driver, because suspend works when it's disabled.|[#53](https://github.com/t2linux/T2-Ubuntu-Kernel/issues/53)|
|Audio|🟡 Partially working|🔴 No|With proper configuration audio can work, however it is not stable in some older kernels and switching between speakers and when using the microphone. Microphone volume is low in some Macs.|[apple-bce](https://github.com/t2linux/apple-bce-drv)|
|Hybrid Graphics|🟡 Partially working|🟡 Partial|Toggling dGPU power doesn't work.|[Hybrid Graphics](https://wiki.t2linux.org/guides/hybrid-graphics/)|
|AMD GPUs|🟡 Partially working||Changing resolution, using DRI_PRIME and doing various other things can cause crashes, but `echo high \| sudo tee /sys/bus/pci/drivers/amdgpu/0000:??:??.?/power_dpm_force_performance_level` or adding `amdgpu.dpm=0` to the kernel commandline stops these crashes.||
|MacPro7,1|🟡 Partially working||Users have encountered PCIE Address Space issues, with auto remap breaking.||
netnef marked this conversation as resolved.
Show resolved Hide resolved
|T2 Secure Enclave|🔴 Not working||Used for Touch ID, storing encryption keys on macOS||
|T2 Audio Video Encoder|🔴 Not working||Used for Sidecar on macOS||

## Filesystem notes

- Linux using APFS filesystems: Linux cannot read the internal SSD's macOS APFS parition's Data and System volume (for other APFS volumes, [linux-apfs-rw](https://github.com/linux-apfs/linux-apfs-rw) can be used for reading data, but attempting to write is risky).

- macOS using Linux filesystems: There are FUSE implementations of some Linux Filesystems that can be used on macOS (but again, most only have experemental write support).
Loading