VirtualBox

Ignore:
Timestamp:
Mar 21, 2016 2:40:17 PM (9 years ago)
Author:
vboxsync
Message:

bugref:8288: Additions/x11: rework VBoxClient video mode hint handling: limit the screen size to 800x600 until after we have created the frame-buffer console so that it does not end up with a random size every time. At present we cannot resize it any way.

Location:
trunk/src/VBox/Additions/linux/drm
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/linux/drm/vbox_drv.h

    r60085 r60123  
    119119    struct mutex hw_mutex;
    120120    bool isr_installed;
     121    /** Have we finished fbdev initialisation?  We limit reported display
     122     * modes to 800x600 until this point to get a sensible console size. */
     123    bool fbdev_init;
    121124    struct work_struct hotplug_work;
    122125};
  • trunk/src/VBox/Additions/linux/drm/vbox_fb.c

    r59964 r60123  
    439439    if (ret)
    440440        goto fini;
     441    vbox->fbdev_init = true;
    441442
    442443    LogFunc(("vboxvideo: %d\n", __LINE__));
  • trunk/src/VBox/Additions/linux/drm/vbox_mode.c

    r60111 r60123  
    427427    struct vbox_connector *vbox_connector = NULL;
    428428    struct drm_display_mode *mode = NULL;
     429    struct vbox_private *vbox = NULL;
    429430    unsigned num_modes = 0;
    430431    int preferred_width, preferred_height;
     
    432433    LogFunc(("vboxvideo: %d: connector=%p\n", __LINE__, connector));
    433434    vbox_connector = to_vbox_connector(connector);
     435    vbox = connector->dev->dev_private;
     436    if (!vbox->fbdev_init)
     437        return drm_add_modes_noedid(connector, 800, 600);
    434438    num_modes = drm_add_modes_noedid(connector, 2560, 1600);
    435439    preferred_width = vbox_connector->mode_hint.width ? vbox_connector->mode_hint.width : 1024;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette