Hi,
On 30-07-18 20:46, Laura Abbott wrote:
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-consol...
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-normal.w...
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:
- Remove quiet from the kernel commandline -> fbcon binds right away
because messages are logged to the dummycon before efifb loads
- 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
- 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