6.0.x: How to tell the vGPU from the logs

This is for discussing general topics about how to use VirtualBox.
Post Reply
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

6.0.x: How to tell the vGPU from the logs

Post by socratis »

If you're analyzing a VBox.log and you want to see which vGPU is in use, the easiest way is to look at the following section:
[/Devices/vga/0/Config/] (level 4)
  3DEnabled        <integer> = 0x0000000000000001 (1)        <-- self-explanatory
...
  VMSVGA3dEnabled  <integer> = 0x0000000000000001 (1)        <-- VMSVGA and VBoxSVGA
  VMSVGAEnabled    <integer> = 0x0000000000000001 (1)        <-- VMSVGA and VBoxSVGA
  VMSVGAPciId      <integer> = 0x0000000000000001 (1)        <-- VMSVGA only
Another clue is that in the VBoxVGA+3D case (the old, legacy one), something like the following would appear in the very beginning of the log, before the "CFGM dump" section. The following is from my 2015 MacBookPro11,5. Note the OpenGL version is 2.1, which is weird, because the MBP supports OpenGL 4.1 according to the OpenGL Extensions Viewer:
OpenGL: Offline rendering support is OFF (pid=9436)
OpenGL Info: 3D test passed
OpenGL: Offline rendering support is OFF (pid=9436)
OpenGL Info: Render SPU: GL_VENDOR:   ATI Technologies Inc.
OpenGL Info: Render SPU: GL_RENDERER: AMD Radeon R9 M370X OpenGL Engine
OpenGL Info: Render SPU: GL_VERSION:  2.1 ATI-1.42.15
...
OpenGL Info: Render SPU: GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB=4096
OpenGL Info: Host supports version 2.1 [2.1 ATI-1.42.15]
OpenGL Info: Cfg: u32Caps(0x1f), fVisualBitsDefault(0x23)
Shared OpenGL service loaded -- 3D enabled
************************* CFGM dump *************************
With 6.0.0, using the VBoxSVGA or VMSVGA with 3D enabled, the host's GPU info appears right after the "CPUID dump" section:
******************** End of CPUID dump **********************
...
Changing the VM state from 'CREATED' to 'POWERING_ON'
VMSVGA3d: OpenGL version: 2.1 ATI-1.42.15
VMSVGA3d: OpenGL Vendor: ATI Technologies Inc.
VMSVGA3d: OpenGL Renderer: AMD Radeon R9 M370X OpenGL Engine
VMSVGA3d: OpenGL shader language version: 1.20
VMSVGA3d: OpenGL extensions (156):
...
VMSVGA3d: Alternative OpenGL version: 4.1 ATI-1.42.15
VMSVGA3d: Alternative OpenGL Vendor: ATI Technologies Inc.
VMSVGA3d: Alternative OpenGL Renderer: AMD Radeon R9 M370X OpenGL Engine
VMSVGA3d: Alternative OpenGL shader language version: 4.10
VMSVGA3d: Alternative OpenGL extensions (114):
...
Changing the VM state from 'POWERING_ON' to 'RUNNING'
Note that there are two versions of OpenGL showing; 2.1 which is the "Compatibility" one according to the OpenGL ExtViewer, and the "Alternative" 4.1 which is the "Core" according to the same program.

Hope it helps you figure out those logs a little bit easier...
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: 6.0.x: How to tell the vGPU from the logs

Post by mpack »

Interesting that you detect both compatibility and core versions on an OS X host. I just Googled to remind myself of why you'd prefer one over the other, and the first hit said that Macs didn't implement the compatibility API - mind you the discussion was from 2011.

The compatibility layer is what I expect most business users would want: more convenience, less bling. The core profile would be for gamers. The OpenGL people have been trying to noodge us away from the old direct call API for about twenty years (*), but as long as it exists that ain't gonna happen. :)

(*) Actually I suspect most business apps use a compromise of storing all vertex data in buffer objects to minimize data transfers, and the rest is direct calls. Minimal use of shader language.

Hierarchy:
OpenGL 1.1 still exists as the built in software renderer in Windows. Direct mode only, no buffer objects except for textures. Useless.
OpenGL 2.1 you see a lot in VirtualBox, the fact that compatibility layers claim to be 2.1 is a surprise to me. Supports vertex buffer objects, hence gives very good performance on business graphics.
OpenGL > 3.x : increasingly deprecates (but still supports) direct mode API, trends towards shader languages: scripts that get downloaded into the card and run independantly. Features mostly driven by marketing to gamers.
socratis
Site Moderator
Posts: 27330
Joined: 22. Oct 2010, 11:03
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: Win(*>98), Linux*, OSX>10.5
Location: Greece

Re: 6.0.x: How to tell the vGPU from the logs

Post by socratis »

Don, I'm going to do some research later today on what exactly those reports mean. In the mean time, I'm going to move this from the "Forum Volunteers" to "Using VirtualBox", I don't see why restrict it to volunteers/moderators/administrators only. And I don't even know why I didn't post it there from the beginning...
Do NOT send me Personal Messages (PMs) for troubleshooting, they are simply deleted.
Do NOT reply with the "QUOTE" button, please use the "POST REPLY", at the bottom of the form.
If you obfuscate any information requested, I will obfuscate my response. These are virtual UUIDs, not real ones.
cremor
Posts: 41
Joined: 16. Oct 2013, 11:37

Re: 6.0.x: How to tell the vGPU from the logs

Post by cremor »

I can't find any mention of "OpenGL" at all in my logs. Are those logs only written on a OS X host? I've tried it both with 3D enabled and disabled with VBoxSVGA.
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: 6.0.x: How to tell the vGPU from the logs

Post by mpack »

OpenGL will only be mentioned if 2D or 3D acceleration is enabled in the VM settings, as OpenGL on the host is needed to provide that feature for guests.
cremor
Posts: 41
Joined: 16. Oct 2013, 11:37

Re: 6.0.x: How to tell the vGPU from the logs

Post by cremor »

In case you only read my initial message:
I've edited my post to mention that the logs also don't show anything about OpenGL if 3D acceleration is enabled.
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: 6.0.x: How to tell the vGPU from the logs

Post by mpack »

Then I'll need to see the log (as a zipped attachment please).
cremor
Posts: 41
Joined: 16. Oct 2013, 11:37

Re: 6.0.x: How to tell the vGPU from the logs

Post by cremor »

Here are the logs.
Attachments
Logs.zip
(33.7 KiB) Downloaded 25 times
mpack
Site Moderator
Posts: 39156
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: 6.0.x: How to tell the vGPU from the logs

Post by mpack »

Your log does not mention OpenGL, but it does have a long list of Direct3D capabilities (D3Dxxxxx) located exactly where Socratis said that OpenGL stuff appeared in his log. I believe it's the first time I've ever seen Direct3D referenced in a host log.

Socratis was on a Mac host. I'm guessing that on Windows hosts the VBoxSVGA controller must rely on the host implemention of Direct3D instead of OpenGL? That should certainly lead to a more reliable foundation on Windows hosts.
Post Reply