In that case, it seems there is something unusual about the monitor, and that intelfb or X is misparsing it. Either that or our code is just buggy. I would suggest
Configure a modeline in X explicitly, so parsing the EDID is out of the equation. Probably the fastest path to working. Add debugging to the edid parsing, look at the bits, and follow along with the spec and figure out what we are doing wrong, or if the monitor is wrong and we could make a more helpful choice in the face of bad data, or something else, and fix it. The best path to helping everybody, and beware that I could be confused here. But this is of course much harder. This may need doing in intelfb and in X. Note that the linux utility printed: #Extension block found. Parsing... #WARNING: I may have missed a mode (CEA mode 95) #WARNING: I may have missed a mode (CEA mode 97) #WARNING: I may have missed a mode (CEA mode 94) #WARNING: I may have missed a mode (CEA mode 96) #WARNING: I may have missed a mode (CEA mode 93) Modeline "Mode 16" +hsync +vsync which is a clue that something is irregular. I would read the source code for that too, as it might have a workaround with a good comment, in the best case. (Reminder that it is fine to steal concepts as they are not subject to copyright (concept attribution remains polite of course), but not to copy even comments from a GPL-licensed file to a BSD-licensed file. This assuming you would send a patch in to NetBSD.)