Unable to screenshot properly

Discussions about using Windows guests in VirtualBox.
Post Reply
MaggiePaggie
Posts: 4
Joined: 20. Feb 2016, 01:54

Unable to screenshot properly

Post by MaggiePaggie »

Hiya there, first post on this forum so sorry if it's in the wrong section! :)

I'm running a windows 7 guest on a windows 10 host machine. I can't seem to get the regular prtscn function within the guest to work properly though. I'm trying to screenshot a game window and some paused youtube video footage but when pasted it appears as completely white except for the title bar. It screenshots and pastes properly with the virtualbox host option for screenshots though and it shows up properly in the little preview window on the host as well. Tried a few hours of googling for solutions and tried everything I could think of so I figured I'd try my luck and post here. I appreciate any suggestions!
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Mostly XP

Re: Unable to screenshot properly

Post by mpack »

AFAIK this is normal for some guests (and the current VirtualBox) when you have 3D acceleration enabled.

Old style (non accelerated) graphics: you build an image in the background of what the screen should look like, then on the next frame refresh you blast this image to the graphics card, which displays it on your monitor. Print screen is dead easy with this, you just make a copy of that background image. Hard to do accelerated graphics with this working model though - too much back and forth with the card.

3D acceleration: means the complex graphics are rendered in the graphics card, removing the overhead of constructing the complicated bits in software and transferring it to the card. It works a lot like Hollywood greenscreen - the PC does the simple background stuff (the frame) and transfers it to the card which mattes in the complex stuff and shows it on your monitor. However you now have a problem with screenshots (like taking a photo on that Hollywood greenscreen set): the data was never there in the PC, so it can't easily be captured. Continuously transferring it back to the PC would lose much of the benefits of hardware acceleration. You would need some command to request one off copies.

There are two main APIs for accessing the hardware acceleration features of a graphics card: OpenGL and Direct3D. VirtualBox uses the former, and I'm not sure that the version VirtualBox uses has a method to request image data back from the card. But, it's a big API, so I maybe just missed it and there's some other reason why the VBox 3D accelerated graphics driver doesn't use the feature.
MaggiePaggie
Posts: 4
Joined: 20. Feb 2016, 01:54

Re: Unable to screenshot properly

Post by MaggiePaggie »

From what I understood from your reply it's the 3dacceleration options fault. I tried turning it off and I was indeed able to take a regular screenshot without flickering or complete white solid colours. The game I'm trying to screenshot however suffers from extreme lag to the point where it takes 10 seconds for text to change or so, after having done this. Is there some way to keep the screenshot functionality while still being able to somewhat operate the game too by any chance?
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Mostly XP

Re: Unable to screenshot properly

Post by mpack »

Is there a way to be accelerated while not being accelerated? Not at the moment.
MaggiePaggie
Posts: 4
Joined: 20. Feb 2016, 01:54

Re: Unable to screenshot properly

Post by MaggiePaggie »

mpack wrote:Is there a way to be accelerated while not being accelerated? Not at the moment.
I see. How does this work outside a VM though? And why is it impossible to implement the same method within a VM?
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: Mostly XP

Re: Unable to screenshot properly

Post by mpack »

I think my previous explanation was about as clear as I can make it.
Martin
Volunteer
Posts: 2562
Joined: 30. May 2007, 18:05
Primary OS: Fedora other
VBox Version: VirtualBox+Oracle ExtPack
Guest OSses: XP, Win7, Win10, Linux, OS/2

Re: Unable to screenshot properly

Post by Martin »

MaggiePaggie wrote:
mpack wrote:Is there a way to be accelerated while not being accelerated? Not at the moment.
I see. How does this work outside a VM though? And why is it impossible to implement the same method within a VM?
When you use a VM with 3D support, the driver sends the 3D parts of the image as commands to the host where the host displays these parts of the image directly. So these parts of the image just don't exist inside the guest and cannot be seen by the screenshot.
If you run such a game directly on the host you just have the single display image of the host where it can be grabbed by a screenshot.
MaggiePaggie
Posts: 4
Joined: 20. Feb 2016, 01:54

Re: Unable to screenshot properly

Post by MaggiePaggie »

Martin wrote:
MaggiePaggie wrote:
mpack wrote:Is there a way to be accelerated while not being accelerated? Not at the moment.
I see. How does this work outside a VM though? And why is it impossible to implement the same method within a VM?
When you use a VM with 3D support, the driver sends the 3D parts of the image as commands to the host where the host displays these parts of the image directly. So these parts of the image just don't exist inside the guest and cannot be seen by the screenshot.
If you run such a game directly on the host you just have the single display image of the host where it can be grabbed by a screenshot.

Oh, I get it now! Thanks for clearing that up. :)
Post Reply