[vbox-dev] Monitor count limitations

Rūdolfs Bundulis rudolfs.bundulis at gmail.com
Thu Sep 4 06:52:42 UTC 2014


>Actually VBoxHeadless sets framebuffers for each guest monitor (in VBox
>4.3 or older).
>Where exactly did you see that VBoxHeadless uses one IFramebuffer instance?
>
>If no Framebuffer is assigned then graphics output from the VM does not
>work.

Sorry my bad, I guess I was working too late, I looked at:

    if (RT_SUCCESS(rrc) && rcc == S_OK)
    {
        Log2(("VBoxHeadless: Registering framebuffer\n"));
        pFramebuffer->AddRef();
        display->SetFramebuffer(VBOX_VIDEO_PRIMARY_SCREEN, pFramebuffer);
    }

when actually lower there is a loop that adds a framebuffer to all the
screens, my bad.

>I wonder why monitors in your guest resize to 1280x720.
>Did you allow all modes in IFramebuffer::VideoModeSupported?
>Can you run 1 monitor at 1920x1200?
>How do you resize the guest monitors: from the guest or using VBoxManage
>controlvm setvideomodehint?

Yep, I allow all modes:

    STDMETHODIMP
CVirtualBoxCaptureSourceOutput::raw_VideoModeSupported(/*[in]*/ unsigned
long aWidth, /*[in]*/ unsigned long aHeight, /*[in]*/ unsigned long aBpp,
/*[out,retval]*/ long * aSupported)
    {
  CHECK_PARAMETER(aSupported, E_POINTER);
*aSupported = true;
return S_OK;
  }

And I try to force the desired resolution like this:

  for (unsigned short nMonitorIndex = 0; nMonitorIndex < m_nMonitorCount;
++nMonitorIndex)
  {
  // Set full hd for all the screens
CHECK_HRESULT(m_pDisplay->SetVideoModeHint(nMonitorIndex, true, false, 0,
0, 1920, 1080, 32));
  }

One monitor runs fine, 7 also work, I didn't have time now to find exact
boundary but I will do it. Bascially in all the configuriation the
VirtualBox logs shows the hint for 1920x1080 but a bit later just resizes
to 1280x720 and does not even try that. I'll mail you the source and logs
directly, thanks for the help.

Rudolfs


2014-09-04 2:00 GMT+03:00 Vitali Pelenjow <Vitali.Pelenjow at oracle.com>:

> Actually VBoxHeadless sets framebuffers for each guest monitor (in VBox
> 4.3 or older).
> Where exactly did you see that VBoxHeadless uses one IFramebuffer instance?
>
> If no Framebuffer is assigned then graphics output from the VM does not
> work.
>
> I wonder why monitors in your guest resize to 1280x720.
> Did you allow all modes in IFramebuffer::VideoModeSupported?
> Can you run 1 monitor at 1920x1200?
> How do you resize the guest monitors: from the guest or using VBoxManage
> controlvm setvideomodehint?
>
> BTW, you can send me source code of the framebuffer implementation and
> code which sets framebuffers fro the VM.
> I could take a look.
>
> When I tested Win7 32 bit guest with VBoxHeadless and 24 monitors, I used
> VBoxManage controlvm setvideomodehint to resize and enable them.
>
> Vitali
>
> Rūdolfs Bundulis wrote:
> > Hi,
> >
> > >I just tested a VBoxHeadless VM with 24 monitors at 1920x1200 and 256 MB
> > >of guest VRAM and it seems to work fine.
> >
> > I fixed errors on my side, and still got the same (which is still much
> > better than with the WDDM driver) but it seems that you actually
> > cannot run that many monitors on full hd. I tried 25,24,20,16 and all
> > these numbers resized to 1280x720, didn't go much lower, but I will
> > find the boundary. I looked at VBoxHeadless, since it was mentioned
> > that it did work, and I saw that VBoxHeadless actually injects only
> > one IFramebuffer instance. So can that actually affect the behaivor?
> > What happens if no IFramebuffer implementation is provided for the a
> > display? Does that count as a disconnected video output or what?
> >
> >
> > 2014-09-03 12:01 GMT+03:00 Rūdolfs Bundulis
> > <rudolfs.bundulis at gmail.com <mailto:rudolfs.bundulis at gmail.com>>:
> >
> >     Hi,
> >
> >     I made a new Windows 7 machine and installed the guest additions
> >     without the 3D support, verified that the XPDM files were
> >     installed and now the machine booted to 1280x720 at all 25
> >     monitors and my software acutally run out of memory for the
> >     NV12/H264 buffers so I guess if I fix that I should be able to go
> >     to 1920x1200, thanks for the pointers on XPDM, I'll fix everything
> >     on my side with the memory and try again.
> >
> >
> >     2014-09-02 17:07 GMT+03:00 Rūdolfs Bundulis
> >     <rudolfs.bundulis at gmail.com <mailto:rudolfs.bundulis at gmail.com>>:
> >
> >             Yes. However HGSMI is "The Interface" between the vitual
> >             graphics card
> >             and the host and
> >             therefore can not be disabled.
> >
> >             Moreover HGSMI does not affect the memory allocation much.
> >             The monitor count is limited by the screen surface memory.
> >
> >
> >         Thanks a lot for the explanation.
> >
> >
> >
> >
> >
> > _______________________________________________
> > vbox-dev mailing list
> > vbox-dev at virtualbox.org
> > https://www.virtualbox.org/mailman/listinfo/vbox-dev
>
>
> _______________________________________________
> vbox-dev mailing list
> vbox-dev at virtualbox.org
> https://www.virtualbox.org/mailman/listinfo/vbox-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.virtualbox.org/pipermail/vbox-dev/attachments/20140904/92c47e75/attachment.html 


More information about the vbox-dev mailing list