I managed to capture dmesg outputs of successful and not successful (resetting) runs with progress drm.debug=0xe debug ignore_loglevel options by removing the usb boot disk in timely fashion
Success (kernel 4.18.11, alpha 006): https://paste.ee/r/sj89d/0
Failure (kernel 4.19.4, alpha 009): https://paste.ee/r/grmht/0
Failure (kernel 4.20, next LibreELEC-Generic.x86_64-9.0-Milhouse-20181129005231-#1128x-g63fb241.tar): https://paste.ee/r/ocdrz/0
I compared the good (4.18.11) and bad (4.19.4) logs line by line found the following difference:
good:
[drm:drm_mode_debug_printmodeline] Modeline 0:"1920x1080" 60 148499 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x5
[drm:intel_dump_pipe_config] adjusted mode:
[drm:drm_mode_debug_printmodeline] Modeline 0:"1920x1080" 60 148499 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x5
[drm:intel_dump_pipe_config] crtc timings: 148499 1920 2008 2052 2200 1080 1084 1089 1125, type: 0x40 flags: 0x5
[drm:intel_dump_pipe_config] port clock: 270000, pipe src size: 1920x1080, pixel rate 148499
...
[drm:intel_fbdev_init] found possible fb from plane A
[drm:intel_fbdev_init] pipe B not active or no fb, skipping
[drm:intel_fbdev_init] pipe C not active or no fb, skipping
[drm:intel_fbdev_init] checking plane A for BIOS fb
[drm:intel_fbdev_init] pipe A area: 1920x1080, bpp: 32, size: 8294400
[drm:intel_fbdev_init] fb big enough for plane A (8294400 >= 8294400)
[drm:intel_fbdev_init] pipe B not active, skipping
[drm:intel_fbdev_init] pipe C not active, skipping
[drm:intel_fbdev_init] using BIOS fb for initial console
...
[drm:intelfb_create] re-using BIOS fb
[drm:intelfb_create] allocated 1920x1080 fb: 0x00000000
...
[drm:intel_dump_pipe_config] planes on this crtc
[drm:intel_dump_pipe_config] [PLANE:28:plane 1A] FB:83, fb = 1920x1080 format = XR24 little-endian (0x34325258)
[drm:intel_dump_pipe_config] scaler:-1 src 0x0+1920+1080 dst 0x0+1920+1080
[drm:intel_dump_pipe_config] [PLANE:33:plane 2A] disabled, scaler_id = -1
[drm:intel_dump_pipe_config] [PLANE:38:cursor A] disabled, scaler_id = -1
Display More
bad:
[drm:drm_mode_debug_printmodeline] Modeline 0:"1920x1080" 60 148499 720 2008 2052 2200 400 1084 1089 1125 0x40 0x5
[drm:intel_dump_pipe_config] adjusted mode:
[drm:drm_mode_debug_printmodeline] Modeline 0:"1920x1080" 60 148499 1920 2008 2052 2200 1080 1084 1089 1125 0x40 0x5
[drm:intel_dump_pipe_config] crtc timings: 148499 1920 2008 2052 2200 1080 1084 1089 1125, type: 0x40 flags: 0x5
[drm:intel_dump_pipe_config] port clock: 270000, pipe src size: 720x400, pixel rate 148499
...
[drm:intel_fbdev_init] pipe A not active or no fb, skipping
[drm:intel_fbdev_init] pipe B not active or no fb, skipping
[drm:intel_fbdev_init] pipe C not active or no fb, skipping
[drm:intel_fbdev_init] no active fbs found, not using BIOS config
...
[drm:intelfb_create] no BIOS fb, allocating a new one
[drm:intelfb_create] allocated 1920x1080 fb: 0x00040000
...
[drm:intel_dump_pipe_config] planes on this crtc
[drm:intel_dump_pipe_config] [PLANE:28:plane 1A] disabled, scaler_id = -1
[drm:intel_dump_pipe_config] [PLANE:33:plane 2A] disabled, scaler_id = -1
[drm:intel_dump_pipe_config] [PLANE:38:cursor A] disabled, scaler_id = -1
Display More
present in good, missing in bad:
[drm:skylake_get_initial_plane_config] pipe A/plane 1A with fb: size=1920x1080@32, offset=0, pitch 7680, size 0x7e9000
[drm:i915_gem_object_create_stolen_for_preallocated] creating preallocated stolen object: stolen_offset=0x000000000000000
0, gtt_offset=0x0000000000000000, size=0x00000000007e9000
[drm:intel_alloc_initial_plane_obj.isra.131] initial plane fb obj (____ptrval____)
[drm:intel_set_plane_visible] pipe A active planes 0x1
The difference is most likely due to the fact that there was a framebufffer console in one case, and 80x25 in another. So the only real difference is i915 module version, 1.6.0 20180514 vs 1.6.0 20180719.
Maybe someone with i915 driver understanding can take a look and notice any clues?