[Intel-gfx] Enabling i915.fastboot=1 by default

Maarten Lankhorst maarten.lankhorst at linux.intel.com
Wed Jun 6 10:43:00 UTC 2018


Op 06-06-18 om 11:54 schreef Hans de Goede:
> Hi,
>
> On 06-06-18 11:36, Maarten Lankhorst wrote:
>> Op 06-06-18 om 11:09 schreef Hans de Goede:
>>> Hi All,
>>>
>>> So I'm working on making Linux boot in a complete
>>> flickerfree manner (no modesets, no black screens).
>>>
>>> I have this working on various machines with Intel
>>> gfx, but I need to pass i915.fastboot=1 on the kernel
>>> commandline.
>>>
>>> I know there was some talk about enabling this by
>>> default a while ago, but it seems that that still
>>> has not happened (yet?).
>>>
>>> I'm wondering what is holding this back ? Maybe we
>>> can change it from a bool to an int, init it to -1
>>> and when it is -1 have some automatic detection
>>> code which disables it where it is known to be
>>> troublesome and otherwise enables it by default?
>>
>> Main reason are bugs like https://bugs.freedesktop.org/show_bug.cgi?id=103781 and our hw
>> readout not being perfect. On some haswell/broadwell eDP laptops we stop generating vblanks
>> when we fastboot, and in general we don't trust our code enough for that.
>>
>> The automatic detection code is already in place, we modeset if the mode is not compatible
>> enough, but we don't catch all the cases where this might happen.
>
> Right but the "mode is not compatible" check will be always
> necessary, because e.g. some BIOs-es insist in bringing
> up the display in 1024x768 instead of its native mode.

It's not just the mode we're checking, any parameter in intel_pipe_config_compare is
checked and adjusted. This code is also run after each modeset. If the panel fitter is
used we don't need to modeset from 1024x768, we will just disable the panel fitter.

> What I meant is, something like check which generation we are on
> (and maybe if a specific type of output is used or not if that
> does not convolute the code too much).
>
> E.g. you mention vblank issues with haswell/broadwell eDP,
> so if i915.fastboot=-1 we would then disable fastboot
> if we are on a haswell or broadwell and eDP is used.

I think we shouldn't put any code in adding workarounds or detection, but fix
those bugs and then retry enabling things.

> Or we could simply disable it on all haswell/broadwell devices
> when i915.fastboot=-1 used, but maybe enable on skylake and
> newer? 
First step is making sure we use the code for everything except the initial modeset, already had a patch for that,
but it needs some fixing since new warnings pop up..

https://patchwork.freedesktop.org/series/43248/


More information about the Intel-gfx mailing list