• Hans de Goede's avatar
    drm/vboxvideo: Add missing remove_conflicting_pci_framebuffers call, v2 · a65a97b4
    Hans de Goede authored
    The vboxvideo driver is missing a call to remove conflicting framebuffers.
    
    Surprisingly, when using legacy BIOS booting this does not really cause
    any issues. But when using UEFI to boot the VM then plymouth will draw
    on both the efifb /dev/fb0 and /dev/drm/card0 (which has registered
    /dev/fb1 as fbdev emulation).
    
    VirtualBox will actual display the output of both devices (I guess it is
    showing whatever was drawn last), this causes weird artifacts because of
    pitch issues in the efifb when the VM window is not sized at 1024x768
    (the window will resize to its last size once the vboxvideo driver loads,
    changing the pitch).
    
    Adding the missing drm_fb_helper_remove_conflicting_pci_framebuffers()
    call fixes this.
    
    Changes in v2:
    -Make the drm_fb_helper_remove_conflicting_pci_framebuffers() call one of
     the first things we do in our probe() method
    
    Cc: stable@vger.kernel.org
    Fixes: 2695eae1 ("drm/vboxvideo: Switch to generic fbdev emulation")
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Reviewed-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Link: https://patchwork.freedesktop.org/patch/msgid/20200325144310.36779-1-hdegoede@redhat.com
    a65a97b4
vbox_drv.c 4.73 KB