genpatches-4.14-1.extras.tar.xz used by gentoo-sources doesn't include fbcondecor patch :/ My first attempts to fix, but I am still unable to compile. drivers/video/console/bitblit.c -> drivers/video/fbdev/core/bitblit.c (still applies after changing to new path in diff) drivers/video/console/fbcon.c -> ./drivers/video/fbdev/core/fbcon.c (1 hunk failed, but rest still applies after changing to new path in diff) The hunk seems to be easy fixable: --- drivers/video/fbdev/core/fbcon.c +++ drivers/video/fbdev/core/fbcon.c @@ -1317,8 +1337,12 @@ static void fbcon_clear_margins(struct vc_data *vc, int bottom_only) struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]]; struct fbcon_ops *ops = info->fbcon_par; - if (!fbcon_is_inactive(vc, info)) - ops->clear_margins(vc, info, bottom_only); + if (!fbcon_is_inactive(vc, info)) { + if (fbcon_decor_active(info, vc)) + fbcon_decor_clear_margins(vc, info, bottom_only); + else + ops->clear_margins(vc, info, bottom_only); + } } drivers/video/console/fbcondecor.c drivers/video/console/cfbcondecor.c -> Both complained about not finding fbcon.h, changed to #include <linux/fbcon.h> But compile still fails. Maybe someone has an idea? CC drivers/video/console/cfbcondecor.o drivers/video/console/cfbcondecor.c: In function 'fbcon_decor_putcs': drivers/video/console/cfbcondecor.c:184:19: error: dereferencing pointer to incomplete type 'struct fbcon_ops' transparent = ops->blank_state ? 0 : ^~ drivers/video/console/cfbcondecor.c: In function 'fbcon_decor_cursor': drivers/video/console/cfbcondecor.c:213:48: error: dereferencing pointer to incomplete type 'struct fbcon_ops' if (info->state != FBINFO_STATE_RUNNING || ops->blank_state) ^~ drivers/video/console/cfbcondecor.c: In function 'fbcon_decor_clear': drivers/video/console/cfbcondecor.c:386:30: error: implicit declaration of function 'attr_bgcol_ec' [-Werror=implicit-function-declaration] int transparent, bg_color = attr_bgcol_ec(bgshift, vc, info); ^~~~~~~~~~~~~ drivers/video/console/cfbcondecor.c:395:25: error: dereferencing pointer to incomplete type 'struct fbcon_ops' if (transparent && !ops->blank_state) { ^~ cc1: some warnings being treated as errors make[3]: *** [scripts/Makefile.build:315: drivers/video/console/cfbcondecor.o] Error 1 make[2]: *** [scripts/Makefile.build:573: drivers/video/console] Error 2 make[1]: *** [scripts/Makefile.build:573: drivers/video] Error 2
Created attachment 504128 [details, diff] 4200_fbcondecor.patch
Sorry, I was on the wrong track. Including the correct files makes it work ;-) I am attaching a new full patch. This one works for me. It applies, compiles and works with gentoo-sources-4.14. So could we include it again? At least, I can see my background on tty again. I didn't test bootsplash, as I am not using it, only for background.
Created attachment 504252 [details, diff] 4200_fbcondecor.patch
Thanks for the patch. This is committed and will be released with gentoo-sources-4.14.1. Author: Mike Pagano <mpagano@gentoo.org> Date: Thu Nov 16 14:08:05 2017 -0500 fbcondecor bootsplash patch ported by Conrad Kostecki. See bug #637434.
relased on 4.14.1