When nouveau kernel module is build as module and not inserted manually, X
server won't start with message "[drm] KMS not enabled".
Older versions (like xf86-video-nouveau-0.0.16) didn't have that problem.
Reason is in function NVHasKMS, where you FIRST call
drmCheckModesettingSupported and THEN nouveau_device_open, meaning
drmCheckModesettingSupported will fail.
When the calls are switched, nouveau_device_open will call modprobe and insert
the nouveau module, so later drmCheckModesettingSupported works correctly.