X on the console: /dev/tty0, a palette, and startx that works

Xorg finds its VT through /dev/tty0, and without one ran on none: the
console went on drawing into the framebuffer over the X screen. tty0 is
the terminal on screen, as on Linux. FBIOPUTCMAP succeeds, as it does on
a true-colour Linux framebuffer, instead of 256 logged errors per start.

schos-base gives root a .xserverrc with -dumbSched, Xorg's switch for
input on the main loop: SchOS has no threads, and Xorg crashed in
pthread_join on its input thread when the first client left. It adds
the hostname to /etc/hosts, so xauth can resolve schos:0.

zsh loses PROMPT_SP: on a serial terminal narrower than the console its
padding wrapped and left a # above every prompt. bootcheck knows zsh's
prompt and matches without colour codes, so busybox's ls reads as text.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01S1giNvrHTrPMPw7V6x1kQ4
This commit is contained in:
Nexoniarz 2026-10-24 19:44:10 +02:00
commit 906318f2b6
6 changed files with 51 additions and 4 deletions

View file

@ -22,6 +22,12 @@ setopt EXTENDED_GLOB
setopt INTERACTIVE_COMMENTS # a # in an interactive line is a comment
setopt NO_BEEP # SchOS has no audio, but it would also scroll
unsetopt FLOW_CONTROL # ^S/^Q are worth more as keys than as flow control
# No PROMPT_SP. It marks output that did not end in a newline by printing a
# `#` and then padding to $COLUMNS, trusting the terminal to wrap so the next
# CR can erase it. The console is mirrored to the serial port, and a host
# terminal narrower than the SchOS screen wraps the padding early: every
# prompt came with a `#` line above it.
unsetopt PROMPT_SP
# ---------------------------------------------------------------------------
# Keys