Page:
Yaks in need of shaving
Pages
"When will Asahi Linux be done?"
Apple Platform Security Crash Course
Apple Silicon Subsystems
Broken Software
Codenames
Devices
Differences with other platforms
Display Controllers
Distro:Boot process guide
Distro:Differences from Arch Linux ARM
FAQ
FW:ADT
Feature Support
Glossary
HW: Clocks
HW: SPRR and GXF
HW:AGX
HW:AIC
HW:ANE
HW:AOP
HW:APCIe
HW:ARM System Registers Dumps
HW:ARM System Registers
HW:ASC
HW:AVD
HW:Apple Instructions
HW:CPU debug registers
HW:Debug USB
HW:GPIO
HW:MacBook Pro keyboard backlight (FPWM0)
HW:Memory map
HW:SEP
HW:SMC
HW:SMP spin up
HW:USB PD
HW:WDT
Home
Installing Gentoo with LiveCD
Introduction to Apple Silicon
Kernel config notes for distros
Low level serial debug
M1 Series Feature Support
M1 vs. PC Boot
M2 Series Feature Support
M3 Series Feature Support
Open OS Ecosystem on Apple Silicon Macs
Partitioning cheatsheet
Project:References
RE:Kernelcache
Reference Asahi kernel config
SW:AGX driver notes
SW:Alternative Distros
SW:Boot
SW:DT bindings
SW:Getting started
SW:Hypervisor
SW:Keyboard Layouts
SW:MachO Boot Protocol
SW:NVRAM
SW:Speakers Test Cases
SW:Speakers
SW:Storage
SW:Ubuntu Asahi Gambas
SW:Ubuntu Asahi Godot
SW:Ubuntu Asahi Mesa
SW:Ubuntu Asahi Qemu
Software known to have issues with 16k page size
Tethered Boot Setup (For Developers)
Tethered boot setup on macOS
Trivia
U Boot
Undoing early speaker support hacks
Yaks in need of shaving
m1n1:Developer Guide
m1n1:User Guide
macOS Sonoma Boot Failures
perf on M1 systems
46
Yaks in need of shaving
Zzy Wysm edited this page 2024-06-14 12:15:50 -04:00
This page is a list of miscellaneous tasks that need to be done, but may have been de-prioritised in order to focus on frying bigger fish. Most of these tasks will be low stakes and low effort, making them good places to start for newcomers to kernel development or Free Software in general.
If you decide to take up any of these tasks, please update the task's status to avoid duplicate work. Reach out on #asahi-dev
if you have
any questions or are in need of assistance.
Task | Status | Description | Contact |
---|---|---|---|
libgnome-volume-control fixes | Unclaimed | GNOME's volume mixer is implemented in the libgnome-volume-control plugin. Unfortunately, this interacts poorly with WirePlumber/Pipewire and does not seem to respect node graph permissions. This leads to the default sink being the "raw" hardware device on GNOME, bypassing our DSP, which is completely unsupported. libgnome-volume-control needs to be fixed so that it hides the raw hardware sink and selects the correct default sink. |
chadmed |
Bankstown enhancements | Unclaimed | Our psychoacoustic bass enhancer needs some work to clean up the output. There are some filtering tricks that can be done to make it sound better, however someone with more experience in DSP for audio applications should probably handle this. All PRs will be tested by ear on J314, J475, and J415. | chadmed |
Extend tipd driver | Unclaimed | Add support to reset other Apple Silicon machines, and to enable serial, to tipd. On the Macs, some parts of the USB specification are implemented by (undocumented) CD321x chips, similar to TPS65982. Apple added some debugging features to their Type-C ports, and if we want to make use of those when running Linux on an M1/M2 host for development (connected to another M1/M2 machine being the target of experimentation), we need to extend the tipd driver. |
suggested by sven |
Bluetooth suspend | Unclaimed | Currently, when suspending and then resuming Bluetooth breaks. This is either an issue with the way hci_bcm4377 uses the bluetooth suspend API or we are missing some special vendor-specific commands before suspend or after resume. It's probably possible to figure this out without making the hypervisor survive a full suspend/resume cycle by using Apple's PacketLogger which is part of the "Additional Tools for XCode" to look for additional commands. It's probably also a good idea to compare how hci_bcm4377 suspend works to other Bluetooth drivers since it's also possible that it's just misusing some API that gets the device stuck in a wrong state. | sven |
Keyboard layout cleanup (XKB/hid_apple) | Unclaimed | Apple keyboard support across the Linux desktop stack has been hit-and-miss, across layouts and hardware keyboards. Since our keyboard drivers are not upstream yet, we have the chance to do some major cleanup. In particular, the keyboards on these machines have a soft Fn key that is handled entirely in software. The hid_apple driver currently does this in the kernel, but this is the wrong approach. This key should be handled in userspace in XKB/Wayland (Xorg cannot do it, but it's deprecated), so that we can have more comprehensive Fn key mappings including letting users customize the key bindings like they would any other modifier key, or offer special symbols like macOS does. This should probably be done by introducing new XKB keyboard models, which do this mapping in userspace. To test this, use the fnmode=0 module parameter for hid_apple to disable all Fn key processing. We will later want to introduce a new fnmode that only does Fn key combination emulation for the edit keys (insert/delete/home/end/pgup/pgdown), which is the minimum required for a usable TTY and Xorg, and leave the rest to XKB, defaulting to this mode on Apple Silicon machines. Besides the Fn story, there are also many regional Mac layouts that need to be fixed in XKB configuration, and everyone with a non-English keyboard is welcome to help out with that effort. Relevant xkeyboard-config issue |
marcan |
Various unexplained errors | Unclaimed | As of asahi-6.8.10-4, there continue to be a variety of low-severity messages logged in the dmesg. They don't appear to prevent proper functioning, but someone with kernel debugging experience should track them down and submit fixes for them. Here are some examples from a M1 MacBook Air, found by running sudo dmesg : https://gist.github.com/zzywysm/d4f1669ff3b7454e2821a65e31c511e1 |
? |
Feature Support:
Project related:
Platform documentation:
For users:
For developers:
- Yaks in need of shaving (HELP WANTED!)
- Tethered Boot Setup (For Developers)
- m1n1:User Guide Boot loader
- Hypervisor
- U-Boot
- Devicetree bindings
- Open OS ecosystem on Apple Silicon Macs
Wiki for the Asahi Linux project: https://asahilinux.org/