Uploaded image for project: 'Core ReactOS'
  1. Core ReactOS
  2. CORE-17688

Regression: Direct3D/OpenGL acceleration does no longer work with VBoxOGL driver, due to incaccessible video device

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Fixed
    • Fix Version/s: 0.4.15
    • Component/s: Win32SS
    • Labels:
    • Environment:

      VirtualBox 5.1.38.

    • Module:
    • Guilty Commit:
      0.4.15-dev-xxxxx

      Description

      Steps to reproduce:

      1. Install ReactOS as usually, with default or non-default settings.
      2. Reboot into Safe Mode.
      3. Install Guest Additions with Direct3D support as usually. Also make sure 3D acceleration is enabled in VM settings.
      4. Reboot back into normal mode.
      5. Install Mesa3D from Rapps (no, it will not be used, it's just needed for selecting VBoxOGL from openglcfg.cpl).
      6. Go to Control Panel -> OpenGL Configuration.
      7. Select VBoxOGL instead of Mesa3D from dropdown list.
      8. Click Apply, then OK to close the applet.
      9. Now try to test your DirectX/OpenGL apps/games. For example, to test OpenGL, I installed and launched Zaz from Rapps, and for DirectDraw testing, I used our inbuilt DirectDraw test from DxDiag.

      3D acceleration has regressed definitely after recent multimonitor support/other improvements in win32k/videoprt. But I still can't detect exact guilty commit, due to some other problems those I found during my testing.
      Here's detailed results of my tests:
      0.4.15-dev-2896-g6739fb1: everything works as it should; 3D apps/games are working properly with Guest Additions installed and VBoxOGL renderer selected from Control Panel.
      0.4.15-dev-2897-gc3da00c: starting from this build, Guest Additions are no longer install properly (as visisble on ga-error.png screenshot); installation ends up with error, after installing only video driver. VBoxOGL driver does not install, so due to this, it is not possible to test that properly. Also sidenote sympthom is, the video device is now starting with ~30 seconds delay (at least I see a black screen ~30 seconds after booting, before the system shows me Desktop). Same delay is happening before launching any 3D apps/games, and preforming each DirectDraw test, but the screen isn't black in this case.
      ...and so up to...
      0.4.15-dev-2916-ga9a22ae: the same sympthoms are happening here, as in dev-2897, except delays are no longer happening. They seem to be gone starting from 0.4.15-dev-2908-g8379c87.
      0.4.15-dev-2917-ga600529: starting from here, Guest Additions are installing successfully again, so D3D support also installs. But after enabling VBoxOGL driver in OpenGL Configuration, and trying to launch Direct3D/OpenGL apps/games, they are not properly working anymore. After launching, e. g., Zaz from Rapps, the sound is playing, but the graphics is not displayed: the game window looks "transparent": it doesn't display anything, and when moving it, the parts of the content rendered in the place of the window are overlayed on it. After launching DirectDraw test(s), I see just a black screen without white rectangles/white square (it's also visible on other attached screenshots).
      Also, there are some sidenote sympthoms in this case:

      • mouse integration does not work;
      • graphical glitches those are usually visible after first booting with Guest Additions installed, also do no longer appear.

      From start, I tested it on the newer master build: 0.4.15-dev-2921-g192981a. Attached 3D-accel.log is made on this build.

      The most suspicious output which appeared after those commits, is

      (/win32ss/gdi/eng/device.c:339) err: Could not open device \Device\Video0, 0xc0000022
      

      0xc0000022 means STATUS_ACCESS_DENIED, which says about a problems with access to the video device. This line appears (one or more times) each time when the app/game fails to start or display the graphics correctly, before it closes.
      All other errors I also saw earlier, and they had not prevent the 3D apps from the proper work. So they seem not to indicate a problem.

        Attachments

        1. opengl-working.png
          opengl-working.png
          99 kB
        2. opengl-regressed.png
          opengl-regressed.png
          33 kB
        3. ga-error.png
          ga-error.png
          39 kB
        4. 3D-new.log
          229 kB
        5. 3D-accel.log
          700 kB

          Activity

            People

            • Assignee:
              ThePhysicist Timo Kreuzer
              Reporter:
              Oleg Dubinskij Oleg Dubinskiy
            • Votes:
              5 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: