X runs without -dumbSched; the ISO ships r8169 and the licences

Tried in QEMU on a built ISO: startx brings up Window Maker, xclock and xeyes connect and disconnect, an xterm runs
and exits, Xorg stays up -- the pthread_join crash is gone with threads. -dumbSched is removed from .xserverrc.
make iso now stages Linux's r8169 set first when this machine has the modules (ldls-r8169-if-present), and
sysroot-install puts LICENSE, LICENSE.MIT and NOTICE in /usr/share/licenses/schos.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01EVRhxi9zpdW2uDUN4FVcao
This commit is contained in:
Nexoniarz 2026-10-26 09:20:22 +01:00
commit 6e78bb0d5e
3 changed files with 28 additions and 13 deletions

View file

@ -40,11 +40,12 @@ the real program is for.
## The four files
- **`/root/.xserverrc`** starts `X` on the VT `startx` was started from (startx works that
out only when `uname -s` says Linux, and SchOS's says SchIFT) with **`-dumbSched`**. Xorg
normally reads input on a thread of its own; when SchOS had no threads the server crashed
the first time a client disconnected, in `pthread_join` on a thread that was never made, and
`-dumbSched` is Xorg's own switch for input on the main loop. Threads exist now; the switch
is still on, and nobody has run the server without it since.
out only when `uname -s` says Linux, and SchOS's says SchIFT). It used to add **`-dumbSched`**,
Xorg's switch for reading input on the main loop, because Xorg normally reads input on a
thread of its own and, when SchOS had no threads, the server crashed the first time a client
disconnected, in `pthread_join` on a thread that was never made. Threads exist now and the switch
is gone: under QEMU, X starts with Window Maker, `xclock` and `xeyes` connect and disconnect, an
`xterm` runs and exits, and the server stays up.
- **`/root/.xinitrc`** is `exec wmaker`. Without it xinit falls back to twm and an xterm, which
are not in the image.
- **`/etc/X11/xorg.conf.d/10-schos.conf`** names the input devices. Alpine's Xorg asks udev for