modesetting is done on first run with mode=current
Some betas ago, Weston started to do modesetting (ie: blanking the screen to do a full modeset) even with
That's because there's this general misconception that setting
max_bpc does not need a full modeset, but it does, so setting max_bpc has propagated from WLRoots to Weston (or is it the opposite?) and is now being done unconditionally in Weston, too.
As a temporal fix for my own builds, removing this call prevents modesetting (screen blanking on Weston's first launch after a reboot):
TAKE INTO ACCOUNT that, once set, max_bpc on a connector is kept between Wayland compositor runs, so a reboot is needed to see the unnecessary screen blanking and again to see it solved.
In a nutshell:
max_bpc should NOT be set if
mode=current assumes no modesetting will be done and setting
max_bpc requires a full modeset.
Just in case: tested on VC4 and AMDGPU, and both DRM kernel drivers require a full modeset for setting
max_bpc, so this is not happening on some exotic kernel driver.