Skip to content
  • Nerdopolis Turfwalker's avatar
    [platforms/fbdev] Attempt to set the framebuffer color layout on the framebuffer device · 304528e8
    Nerdopolis Turfwalker authored and Vlad Zahorodnii's avatar Vlad Zahorodnii committed
    Summary:
    Weston does something similar
    https://cgit.freedesktop.org/wayland/weston/tree/libweston/compositor-fbdev.c#n315
     ...and it seems that the non-primary framebuffer devices start completely off. (the screen is off on my Displayport device, and the window for the second vga card in qemu is much smaller than the primary one, and all black for my qemu vm) .
    
    In my testing, sending the ioctl FBIOPUT_VSCREENINFO with a *changed* &varinfo allows it to wake up, and turns on the screen.
    doing FBIOGET_VSCREENINFO and then FBIOPUT_VSCREENINFO in my testing does not work.
    
    I think really the values that end up getting changed are varinfo.transp.offset and varinfo.transp.length. at least on the qemu system, but in this patch I am aligning all of them for completeness, because the drivers might do it differently for qemu
    
    Test Plan: This causes the window for /dev/fb1 (remote-viewer, and a qemu vm with two "VGA" (bochsdrm) cards) to resize from the smaller size when specifying it as the --fb-device on seat0, and kwin draws on the device.
    
    Reviewers: #kwin, davidedmundson, graesslin
    
    Reviewed By: #kwin, graesslin
    
    Subscribers: zzag, davidedmundson, rkflx, graesslin, kwin
    
    Tags: #kwin
    
    Differential Revision: https://phabricator.kde.org/D9572
    304528e8