Development log
Working notes from the operating system projects - what got built, what broke, and what turned out to be harder than it looked. Mostly Path OS bring-up on real hardware at the moment.
The articles in this section describe where each project has reached. This is the running commentary underneath them.
- Dictation while the key is still down Holding AltGr streams speech into the transcript as you talk, with the tokens the next chunk may still revise shown dimmed. Proved against the reference implementation token for token before it went near the machine.
- The browser draws the page The browser has been emitting a list of headings and paragraphs rather than rendering. Both missing ends now exist, and the one CSS construct that was carrying every real site's design was not implemented.
- The integer dot that won, and the core farm that did not Dictation from 4.68 times real time down to 1.38, with two correct optimisations that measured slower than the thing they replaced, and a multi-core encoder that was built, measured and thrown away.
- Hibernation, and the copy that ran out from under itself S4 writes memory to disk and reads it back. The restore kept dying in the copy, and the reason was a design error rather than a slip: the frames being restored contain the page tables doing the restoring.
- Bringing the panel back, and five registers that lied The machine wakes and the screen stays black. Seventeen documented steps to bring a display pipeline back up, and five registers that each gave a plausible wrong answer.
- Nothing would wake it, so the firmware's own bytecode had to run The X1 slept perfectly and nothing would bring it back. Waking it needed the laptop's own firmware procedures to run, which needed an interpreter for ACPI Machine Language.
- S3 sleep, and the three bugs it found Suspend to RAM is a deal with the firmware - leave an address behind, and be ready to be re-entered as though the machine had just been switched on. Every bug it exposed was somewhere the kernel already was.
- A cellular modem in an M.2 slot The X1 has an integral Fibocom L850-GL. I expected to have to write PPP or SLIP for it, and it turned out to want neither.
- A self test, a startup sound and a splash screen Audio is working in both directions, verified by playing and recording at the same time. Which means the machine can finally make a noise when it boots.
- Bluetooth on the X1, and why isochronous audio is hard Getting a phone onto the machine over Hands-Free Profile, and then getting a call's audio through it in both directions. The second part was much harder than the first.