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!
Unable to screenshot properly
-
MaggiePaggie
- Posts: 4
- Joined: 20. Feb 2016, 01:54
Unable to screenshot properly
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!
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
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.
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
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
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
I see. How does this work outside a VM though? And why is it impossible to implement the same method within a VM?mpack wrote:Is there a way to be accelerated while not being accelerated? Not at the moment.
-
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
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
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.MaggiePaggie wrote:I see. How does this work outside a VM though? And why is it impossible to implement the same method within a VM?mpack wrote:Is there a way to be accelerated while not being accelerated? Not at the moment.
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
Martin wrote: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.MaggiePaggie wrote:I see. How does this work outside a VM though? And why is it impossible to implement the same method within a VM?mpack wrote:Is there a way to be accelerated while not being accelerated? Not at the moment.
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.