FS#36746 - [virtualbox-guest-module] No GL acceleration running Arch Linux as guest under MacOSX

Attached to Project: Arch Linux
Opened by Gustavo Sverzut Barbieri (barbieri) - Friday, 30 August 2013, 21:57 GMT
Last edited by Dave Reisner (falconindy) - Sunday, 24 November 2013, 16:27 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To Ionut Biru (wonder)
Architecture i686
Severity Medium
Priority Low
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

Running ArchLinux as a guest OS from inside a MacOS X running VirtualBox fails to load DRI, AIGLX and has no OpenGL acceleration.

From the logs it seems that VirtualBox is not DRI2 capable, but I'm unsure if that's the case or if my system is not configured properly.


Additional info:
* Host:
* OS: MacOS X 10.8.4
* VirtualBox version: 4.2.16 r86992
* VirtualBox Guest Additions: 4.2.16 r86992
* Guest:
* OS: ArchLinux latest as 2013-08-30
* virtualbox-guest-modules: 4.2.16-8
* virtualbox-guest-utils: 4.2.16-1

Relevant X logs:

[ 3.771] (II) LoadModule: "vboxvideo"
[ 3.773] (II) Loading /usr/lib/xorg/modules/drivers/vboxvideo.so
[ 3.775] (II) Module vboxvideo: vendor="Oracle Corporation"
[ 3.775] compiled for 10.6.99, module version = 1.0.1
[ 3.775] Module class: X.Org Video Driver
[ 3.775] ABI class: X.Org Video Driver, version 14.1
[ 3.775] (**) Load address of symbol "VBOXVIDEO" is 0xb71fbf40
...
[ 3.781] (II) VBoxVideo: guest driver for VirtualBox: vbox
...
[ 3.806] (II) VBoxVideo(0): VirtualBox guest additions video driver version 4.2.16_OSE
...
[ 3.850] (II) Loading sub module "dri"
[ 3.850] (II) LoadModule: "dri"
[ 3.850] (II) Module "dri" already built-in
...
[ 3.870] (II) VBoxVideo(0): [drm] Using the DRM lock SAREA also for drawables.
[ 3.870] (II) VBoxVideo(0): [drm] framebuffer handle = 0xe0000000
[ 3.870] (II) VBoxVideo(0): [drm] added 1 reserved context for kernel
...
[ 3.892] (II) AIGLX: Screen 0 is not DRI2 capable
[ 3.892] drmOpenDevice: node name is /dev/dri/card0
[ 3.892] drmOpenDevice: open result is 13, (OK)
[ 3.892] drmOpenByBusid: Searching for BusID pci:0000:00:02.0
[ 3.892] drmOpenDevice: node name is /dev/dri/card0
[ 3.892] drmOpenDevice: open result is 13, (OK)
[ 3.892] drmOpenByBusid: drmOpenMinor returns 13
[ 3.892] drmOpenByBusid: Interface 1.4 failed, trying 1.1
[ 3.892] drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0
[ 3.909] (II) Next line is added to allow vboxvideo_drv.so to appear as whitelisted driver
[ 3.909] (II) The file referenced, is *NOT* loaded
[ 3.909] (II) Loading /usr/lib/xorg/modules/drivers//ati_drv.so
[ 3.909] (EE) AIGLX error: vboxvideo does not export required DRI extension
[ 3.909] (EE) AIGLX: reverting to software rendering
[ 3.997] (II) AIGLX: Loaded and initialized swrast
[ 3.997] (II) GLX: Initialized DRISWRAST GL provider for screen 0


This task depends upon

Closed by  Dave Reisner (falconindy)
Sunday, 24 November 2013, 16:27 GMT
Reason for closing:  None
Additional comments about closing:  closed at OP's request
Comment by Gustavo Sverzut Barbieri (barbieri) - Monday, 02 September 2013, 22:10 GMT
As this may be a VirtualBox bug, I'm cross reporting to their issue tracker at https://www.virtualbox.org/ticket/12061
Comment by Alexander F. Rødseth (xyproto) - Monday, 14 October 2013, 12:05 GMT
Have you enabled 3D acceleration in the settings for the virtual machine?

This is a problem with Virtual Box (either guest or host).
Comment by Gustavo Sverzut Barbieri (barbieri) - Monday, 14 October 2013, 14:45 GMT
Sorry, I forgot to mention I do have "3D acceleration" enabled for that VM.

From the logs it seems the problem is with Xorg driver provided by guest-modules, seems Xorg wants DRI2 and driver just provides old api.

Could you check your GL works with the same versions (Xorg, VirtualBox, guest-modules)?
Comment by Ionut Biru (wonder) - Monday, 14 October 2013, 15:03 GMT
i dont see any problem in the logs.
Comment by Gustavo Sverzut Barbieri (barbieri) - Wednesday, 13 November 2013, 18:02 GMT
  • Field changed: Percent Complete (100% → 0%)
This is strange, maybe mesa is broken?

glxinfo indeed reports direct rendering is enabled, but even this software (enlightenment) reports:

OpenGL Warning: glFlushVertexArrayRangeNV not found in mesa table
OpenGL Warning: glVertexArrayRangeNV not found in mesa table
OpenGL Warning: glCombinerInputNV not found in mesa table
OpenGL Warning: glCombinerOutputNV not found in mesa table
OpenGL Warning: glCombinerParameterfNV not found in mesa table
OpenGL Warning: glCombinerParameterfvNV not found in mesa table
OpenGL Warning: glCombinerParameteriNV not found in mesa table
OpenGL Warning: glCombinerParameterivNV not found in mesa table
OpenGL Warning: glFinalCombinerInputNV not found in mesa table
OpenGL Warning: glGetCombinerInputParameterfvNV not found in mesa table
OpenGL Warning: glGetCombinerInputParameterivNV not found in mesa table
OpenGL Warning: glGetCombinerOutputParameterfvNV not found in mesa table
OpenGL Warning: glGetCombinerOutputParameterivNV not found in mesa table
OpenGL Warning: glGetFinalCombinerInputParameterfvNV not found in mesa table
OpenGL Warning: glGetFinalCombinerInputParameterivNV not found in mesa table
OpenGL Warning: glDeleteFencesNV not found in mesa table
OpenGL Warning: glFinishFenceNV not found in mesa table
OpenGL Warning: glGenFencesNV not found in mesa table
OpenGL Warning: glGetFenceivNV not found in mesa table
OpenGL Warning: glIsFenceNV not found in mesa table
OpenGL Warning: glSetFenceNV not found in mesa table
OpenGL Warning: glTestFenceNV not found in mesa table

Some software will crash after no GL visuals can be found, prints:
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0x891e788
OpenGL Warning: Retry with 0x8002 returned 0 visuals
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0x891e938
OpenGL Warning: Retry with 0x8002 returned 0 visuals
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0x8923378
OpenGL Warning: Retry with 0x8003 returned 0 visuals
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0x8923528
OpenGL Warning: Retry with 0x8003 returned 0 visuals
OpenGL Warning: XGetVisualInfo returned 0 visuals for 0x891fbc8

But other software (glxgears and foobillard++) works.

I'll investigate more, but please reopen the bug so it will serve at least as a reference for people that have the same problem that although the error messages in the log and some applications that do not work, it should be working.

Comment by Gustavo Sverzut Barbieri (barbieri) - Thursday, 21 November 2013, 01:19 GMT
It seems that the reason is Enlightenment Foundation Libraries (EFL), particularly Evas (canvas), relies on new OpenGL 3.0 or newer (shaders) while VirtualBox just supports old OpenGL 2.1

So there is 3D support for OpenGL 2.1 although all the weird Xorg.log messages and runtime warnings such as "OpenGL Warning: gl.. not found in mesa table", but it is too old :-(

Loading...