Skip to content

Commit a65a97b

Browse files
committed
drm/vboxvideo: Add missing remove_conflicting_pci_framebuffers call, v2
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: [email protected] Fixes: 2695eae ("drm/vboxvideo: Switch to generic fbdev emulation") Signed-off-by: Hans de Goede <[email protected]> Reviewed-by: Daniel Vetter <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
1 parent d021d75 commit a65a97b

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

drivers/gpu/drm/vboxvideo/vbox_drv.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,10 @@ static int vbox_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
4141
if (!vbox_check_supported(VBE_DISPI_ID_HGSMI))
4242
return -ENODEV;
4343

44+
ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, "vboxvideodrmfb");
45+
if (ret)
46+
return ret;
47+
4448
vbox = kzalloc(sizeof(*vbox), GFP_KERNEL);
4549
if (!vbox)
4650
return -ENOMEM;

0 commit comments

Comments
 (0)