Hi, Thomas. Because you've been the one who's been working on drm_fb_helper.c the most the last few years I wanted to pick your brain a bit. I was porting vmwgfx to drm_fb_helper code which is largely trivial, just removing all of vmwgfx_fb.c and replacing it with a call to drm_fbdev_generic_setup. But drm_fb_helper.c code never deals with resizes which is a bit of a problem. e.g. replacing the drm_sysfs_hotplug_event() call from https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/vmwgfx/vmwgfx_kms.c#L2255 with drm_kms_helper_hotplug_event will call drm_fbdev_client_hotplug and end up in drm_fb_helper_hotplug_event: https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/drm_fb_helper.c#L2003 Now drm_fb_helper_hotplug_event does drm_client_modeset_probe but it never resizes drm_fb_helper::buffer and drm_fb_helper::fb so they're both incorrectly sized. In general I don't see drm_fb_helper code ever being able to deal with resizes. In particular because the fbdev's xres_virtual/yres_virtual are sized exactly to the initial xres/yres. It's definitely a lot bigger issue on virtualized environments where at boot we'll have some very conservative size (800x600) on vmwgfx which is then usually resized to the size of the window. drm_fb_helper breaks pretty bad in that case because it can't deal with those resizes at all. Is this scenario something that drm_fb_helper should be able to handle or is it not worth pursuing it? I don't think there's a trivial way of handling it so my guess is that it would make drm_fb_helper quite a bit more complicated. z