startx was failing for two separate reasons:
~/.xinitrcwas broken:- malformed test expression in the
xsession.*loop - wrong JWM path (
bin/jwminstead of/usr/local/bin/jwm)
- malformed test expression in the
- Xorg was crashing on this laptop during GPU auto-probe with the Intel/DRM path.
- corrected the shell syntax in the
xsession.*loader - fixed quoting for resource/modmap loading
- changed JWM launch to the installed path
- added:
xsetroot -cursor_name left_ptrxset s off -dpmsxterm -geometry 100x30+40+40 &exec dbus-launch --exit-with-session /usr/local/bin/jwm
This makes the session easier to use and gives a visible terminal immediately after startx.
Created /usr/local/etc/X11/xorg.conf with:
DontZapset tofalsesoCtrl+Alt+Backspaceworks- first tried an explicit
scfbfallback to avoid the Xorg GPU auto-probe crash
That made X start, but the framebuffer output was wrong on this panel: only a thin strip at the top of the screen updated correctly while the rest stayed black/stale.
- installed
xf86-video-intel
That did not solve the crash by itself, but it is now present on the system.
To get off the broken scfb fallback, I rebuilt:
graphics/libdrmgraphics/gpu-firmware-kmodgraphics/drm-66-kmodx11-servers/xorg-server
I also fetched the exact matching FreeBSD source tree for the running kernel commit:
- kernel build commit:
2434fcfd0dd0
This was required because drm-66-kmod could not be rebuilt without /usr/src/sys/conf/kern.opts.mk.
After the rebuild, /usr/local/etc/X11/xorg.conf was switched to a modesetting OutputClass configuration:
MatchDriver "drm"Driver "modesetting"PrimaryGPU trueAccelMethod noneSWcursor true
This is the configuration now used successfully after reboot.
~/.xinitrcis fixed and starts JWM plus anxterm- the graphics stack has been rebuilt from ports against matching kernel sources
- the active Xorg config uses
modesettingthrough anOutputClassmatch on the DRM driver - after reboot,
startxworks and JWM starts correctly
Before reboot, tests still showed:
/dev/dri/card0: failed to query DRM version- Xorg crashing when trying the real DRM/modesetting path
That is consistent with the system still running the previously loaded DRM kernel module in memory, even though a freshly rebuilt one now exists on disk.
After reboot, the rebuilt DRM module was loaded and the prepared modesetting configuration worked correctly.
/root/.xinitrc/usr/local/etc/X11/xorg.conf/root/xorgfix.md