On 07/30/2018 08:18 AM, Hans de Goede wrote:
> Hi,
>
> On 02-07-18 13:55, Hans de Goede wrote:
>> Hi All,
>>
>> On 28-06-18 16:19, Hans de Goede wrote:
>>> Hi All,
>>>
>>> Good news on the patch to make the loglevel for quiet configurable,
>>> this has been accepted into -next now. I plan to add this to the
>>> Fedora kernels soonish and set the quiet loglevel to 3 as
>>> discussed earlier.
>>>
>>> Today another related patch-set got merged, see the last 3
>>> commits here:
>>>
https://github.com/bzolnier/linux/commits/ib-fbdev-drm-v4.19-deferred-con...
>>>
>>> I would also like to add these 3 patches to the Fedora 4.18
>>> kernel (for F29+).
>>>
>>> The end goal here is a boot where the firmware shows its boot graphics
>>> and these stay in place for a couple of seconds until the GUI loads and
>>> the GUI then smoothly takes over the framebuffer without any disruptions.
>>>
>>> See here for an example of what this looks like on my main workstation:
>>>
>>>
https://fedorapeople.org/~jwrdegoede/flickerfree-videos/workstation-norma...
>>>
>>> Shim has already been modified to leave the framebuffer as setup by
>>> the firmware intact and patches for grub have been merged, but not
>>> yet build for F29+.
>>>
>>> Combined with the hidden grub menu feature for F29:
>>>
>>>
https://fedoraproject.org/wiki/Changes/HiddenGrubMenu
>>>
>>> This means that the framebuffer is still showing the boot graphics
>>> (e.g. vendor logo) when the kernel loads.
>>>
>>> Without the "deferred fbcon console takeover" patches the fbcon
>>> will takeover from dummycon as the console driver as soon as
>>> the efifb registers itself as a fbdev, clearing the screen to
>>> black. breaking the desired boot experience.
>>>
>>> The deferred console takeover patches make the fbcon code delay
>>> taking over as the console until the first character is output
>>> on the console.
>>>
>>> I've tested this code with the following scenarios:
>>>
>>> 1) Remove quiet from the kernel commandline -> fbcon binds right away
>>> because messages are logged to the dummycon before efifb loads
>>>
>>> 2) Mess up the root= kernel argument -> As soon as dracut prints
>>> its timeout message for finding the rootfs, fbcon binds and shows
>>> the timeout message
>>>
>>> 3) Detailed view in plymouth mode (press ESC to show boot msg) ->
>>> plymouth retains drm master rights on /dev/dri/card? while it
>>> tries to show the details. The blocks fbcon accessing the fbdev
>>> device registered by the kms driver, so nothing will be shown
>>> until plymouth exits (and releases the drm-master rights).
>>>
>>> This really is a plymouth bug, I've submitted plymouth patches
>>> fixing this here:
>>>
https://bugs.freedesktop.org/show_bug.cgi?id=107047
>>
>> I got an ack from Ray for these patches and for adding these
>> patches to the Fedora plymouth package as downstream patches
>> (until the next upstream release). A new plymouth package
>> fixing this is building now:
>>
>>
https://koji.fedoraproject.org/koji/buildinfo?buildID=1102343
>
> I discussed adding these patches to the 4.18 / rawhide kernel
> with Laura off-list and she said this was ok. So I've just
> pushed the patches and the matching Kconfig changes.
>
> Regards,
>
> Hans
s390 didn't seem to work:
https://koji.fedoraproject.org/koji/taskinfo?taskID=28719549
In function 'strncat',
inlined from 'iscsit_ta_authentication' at
drivers/target/iscsi/iscsi_target_tpg.c:639:3:
./include/linux/string.h:313:10: warning: '__builtin_strncat' specified bound 1
equals source length [-Wstringop-overflow=]
return __builtin_strncat(p, q, count);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In function 'strncat',
inlined from 'iscsit_ta_authentication' at
drivers/target/iscsi/iscsi_target_tpg.c:640:3:
./include/linux/string.h:313:10: warning: '__builtin_strncat' specified bound 4
equals source length [-Wstringop-overflow=]
return __builtin_strncat(p, q, count);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ERROR: "dummycon_unregister_output_notifier" [drivers/video/fbdev/core/fb.ko]
undefined!
ERROR: "dummycon_register_output_notifier" [drivers/video/fbdev/core/fb.ko]
undefined!
make[1]: *** [scripts/Makefile.modpost:92: __modpost] Error 1
Looks like they might be missing EXPORT_SYMBOLS?
Yes there even is a patch for that in -next already, but this is only a
problem when building the fbdev code as a module so I did not catch
this while testing on x86_64.
I've added the necessary patch to the Fedora rawhide kernel now and
re-enabled this on s390x.
Regards,
Hans