[vbox-dev] Monitor count limitations
Rūdolfs Bundulis
rudolfs.bundulis at gmail.com
Thu Sep 4 06:52:42 GMT 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