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

@ -230,6 +230,13 @@ fb_ioctl(int request, addr_t arg)
// blanking does too, as Linux's own drivers without the hook do.
case FBIOBLANK:
return 0;
// A palette, on a framebuffer that is always true-colour. Linux's drivers
// keep the values for the console's sixteen colours and succeed; refusing
// made Xorg's fbdev driver log an error for every entry it loads, 256 of
// them at each start.
case FBIOPUTCMAP:
return 0;
}
return -ENOTTY;