You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Commit d0c9893
Browse filesBrowse the repository at this point in the historyBrowse files
<spanclass="desc">Why Chromium screen-share freezes the X session when <code>$HOME</code> is on NFS: the server doesn't register NLM, SQLite POSIX locks block in <code>fcntl()</code>, and the main thread stops servicing X events. Evidence, root cause, and fix.</span>
79
+
</li>
76
80
</ul>
77
81
78
82
<h2>GNUstep Research</h2>
79
83
<ulclass="guides">
80
84
<li>
81
-
<ahref="menu-rendering-compared.html?v=20260504">How Menus Work: macOS vs GNUstep</a>
85
+
<ahref="menu-rendering-compared.html?v=20260509">How Menus Work: macOS vs GNUstep</a>
82
86
<spanclass="desc">Comparing menu rendering architecture between macOS and GNUstep.</span>
83
87
</li>
84
88
<li>
85
-
<ahref="apple-menu-ownership.html?v=20260504">Who draws the macOS menu bar?</a>
89
+
<ahref="apple-menu-ownership.html?v=20260509">Who draws the macOS menu bar?</a>
86
90
<spanclass="desc">Ownership and rendering of the macOS menu bar.</span>
87
91
</li>
88
92
<li>
89
-
<ahref="WindowServer-Plan.html?v=20260504">WindowServer.app Development Plan</a>
93
+
<ahref="WindowServer-Plan.html?v=20260509">WindowServer.app Development Plan</a>
90
94
<spanclass="desc">Native GNUstep display server for Linux using KMS/DRM and GPU compositing.</span>
<spanclass="desc">Two-track QA plan: per-PR manual smoke checklist plus a phased automated test suite.</span>
95
99
</li>
96
100
</ul>
97
101
98
102
<h2>FreeBSD Research</h2>
99
103
<ulclass="guides">
100
104
<li>
101
-
<ahref="freebsd-livecd-plan.html?v=20260504">FreeBSD Live ISO — implementation report & remaining options</a>
105
+
<ahref="freebsd-livecd-plan.html?v=20260509">FreeBSD Live ISO — implementation report & remaining options</a>
102
106
<spanclass="desc">Working livecd: cd9660 + mkuzip + gunion overlay + init_chroot pivot. Measured at 396 MiB minimal / 3.8 GiB with KDE Plasma 6. Lessons learned and three concrete paths to RAM-scaled writable headroom.</span>
103
107
</li>
104
108
<li>
105
-
<ahref="freebsd-squashfs-research.html?v=20260504">SquashFS on FreeBSD — architecture research</a>
109
+
<ahref="freebsd-squashfs-research.html?v=20260509">SquashFS on FreeBSD — architecture research</a>
106
110
<spanclass="desc">Why a Linux-style squashfs livecd is hard on FreeBSD today: GSoC 2023 kernel work, geom_uzip vs squashfs vs tarfs, gunion vs unionfs, reboot -r vs init_chroot.</span>
<spanclass="desc">Combine gunion (block-level RAM overlay) with <code>reboot -r</code> reroot to eliminate the kernel/userspace namespace split. Deferred — the simpler symlink trick (<code>cdroot/boot/firmware → /sysroot/boot/firmware</code>) verified working on real hardware, addressing the firmware-loading problem without architectural rewrite. Plan preserved as a reference if some future need genuinely requires kernel-and-userspace-share-a-root semantics.</span>
111
115
</li>
112
116
<li>
113
-
<ahref="gershwin-livecd-launchd-plan.html?v=20260507e">gershwin-on-freebsd: livecd rework + launchd port — plan <spanclass="pill ok">Phase 1 + 2 CI-green</span></a>
117
+
<ahref="gershwin-livecd-launchd-plan.html?v=20260509e">gershwin-on-freebsd: livecd rework + launchd port — plan <spanclass="pill ok">Phase 1 + 2 CI-green</span></a>
114
118
<spanclass="desc">Sequenced integration of freebsd-launchd's work into <ahref="https://github.com/pkgdemon/gershwin-on-freebsd">pkgdemon/gershwin-on-freebsd</a>. Phase 1 landed (single-root unionfs + init_chroot pivot, CI boot-test gate, feat/libs-corebase). Phase 2 landed (launchd as PID 1 via Option D, bedrock plists from freebsd-launchd, gershwin-specific dshelper/loginwindow/gdomap plists, dhcpcd swap, no getty — LoginWindow is the login). Phase 3 polish (dbus, kmodloader, gdomap lo0 fix, dshelper daemonization, ASL, single-user) deferred.</span>
<spanclass="desc">Replace rc.d on FreeBSD with a non-Mach port of Apple's launchd. Single repo, single build.sh: GNUstep system-domain libs + launchd built inside a livecd staging chroot, boot-tested in qemu, published as a continuous release.</span>
<spanclass="desc">Eventual replacement for dhcpcd. Ports Apple's IPConfiguration as a netconfigd plugin (DHCPv4 + DHCPv6 + IPv4LL + RA, ~57k LOC, 6-9 person-months). Currently <strong>deferred</strong> — dhcpcd works, the cost-benefit doesn't justify the port until netconfigd Phase 2-3 ships and a real reason surfaces.</span>
127
131
<ul>
128
132
<li>
129
-
<ahref="freebsd-wifi-management.html?v=20260506">FreeBSD WiFi management — Apple stack research</a>
133
+
<ahref="freebsd-wifi-management.html?v=20260509">FreeBSD WiFi management — Apple stack research</a>
130
134
<spanclass="desc">What macOS uses for WiFi (it's not <code>wpa_supplicant</code>): <code>wifid</code> + <code>Apple80211</code> + <code>CoreWLAN</code>, mostly closed source. Only the <code>eap8021x</code> EAP/802.1X code is open. We ship <code>wpa_supplicant</code> from ports; sketches a hypothetical <code>wifid-fbsd</code> wrapper if Apple-shape API symmetry ever matters.</span>
<spanclass="desc">Apple-shaped clean-room daemon: every hardware-class kmod autoloads at boot or hot-plug. Closes the gap where stock FreeBSD doesn't aggressively bind GPU/NIC/USB drivers without manual <code>kld_list=</code> editing.</span>
139
143
<ul>
140
144
<li>
141
-
<ahref="freebsd-gpu-detection-comparison.html?v=20260506">GPU autodetection comparison — kmodloader vs. GhostBSD xconfig vs. NomadBSD initgfx vs. xlibre vs. Linux</a>
145
+
<ahref="freebsd-gpu-detection-comparison.html?v=20260509">GPU autodetection comparison — kmodloader vs. GhostBSD xconfig vs. NomadBSD initgfx vs. xlibre vs. Linux</a>
142
146
<spanclass="desc">Side-by-side comparison of how each system maps GPUs to drivers, handles fallback to scfb/vesa/efifb, and what happens when a DRM kmod loads but the chip is too new to bind. Cites source line:column for the key logic in each.</span>
143
147
</li>
144
148
</ul>
145
149
</li>
146
150
<li>
147
-
<ahref="freebsd-asl-plan.html?v=20260505">FreeBSD ASL — porting plan</a>
151
+
<ahref="freebsd-asl-plan.html?v=20260509">FreeBSD ASL — porting plan</a>
148
152
<spanclass="desc">Apple System Logger replacing FreeBSD's <code>/usr/sbin/syslogd</code>. Structured log records (Sender/Facility/PID/Time queries without grep), binary-store + BSD-text dual output (<code>tail /var/log/messages</code> still works).</span>
<spanclass="desc">Apple's lightweight named-event pub/sub bus (<code>libnotify</code> + <code>notifyd</code>). Cross-process event coordination for gershwin desktop — theme changes, network state, power events — via the same C API Apple-derived apps already speak.</span>
<spanclass="desc">Bonjour / zeroconf service discovery: <code>.local</code> hostnames, automatic printer / file-share discovery on the LAN. Surprise win — Apple's source already has a cross-platform <code>mDNSPosix</code> layer with zero Mach surface; the port is mostly a configuration exercise.</span>
0 commit comments