Apps which request Direct GLX fail even though 'direct rendering=yes'. Debian Buster, Running VESA on a separate card

I recently got a Matrox M9120 to hook up an old CRT as a second monitor, my main card being a GTX1060 3GB. Managed to configure it as I wanted with Xinerama, using the generic VESA driver for the Matrox card as the official driver won’t build on recent X.org.

The problem is, even though glxinfo says direct rendering is on with NVidia as the vendor, and the Xorg log specifies OpenGL will be disabled only on display 2(the CRT), apps which require direct rendering will fail to start, Including MPV’s GPU renderer, Wine with dxvk, and at least one native linux game which I’ve tested(StuntRally); with: Minor opcode of failed request: 6 (X_GLXIsDirect).

I speculate it might be because the Matrox is the first physical card in the order of PCIE slots, even though NVidia is driving Screen 0. Sadly, moving the Matrox card further down resulted running into an X server bug where the driver cannot fetch the V_BIOS from the card, refusing to output at all.

These are the Warnings from my Xorg log(no errors):

 [     5.857] (WW) The directory "/usr/share/fonts/X11/cyrillic" does not exist.
[     5.857] (WW) The directory "/usr/share/fonts/X11/100dpi/" does not exist.
[     5.857] (WW) The directory "/usr/share/fonts/X11/75dpi/" does not exist.
[     5.858] (WW) The directory "/usr/share/fonts/X11/100dpi" does not exist.
[     5.858] (WW) The directory "/usr/share/fonts/X11/75dpi" does not exist.
[     5.890] (WW) xf86OpenConsole: setpgid failed: Operation not permitted
[     5.890] (WW) xf86OpenConsole: setsid failed: Operation not permitted
[     5.903] (WW) NVIDIA: The Composite and Xinerama extensions are both enabled, which
[     5.903] (WW) NVIDIA:     is an unsupported configuration.  The driver will continue
[     5.903] (WW) NVIDIA:     to load, but may behave strangely.
[     5.903] (WW) NVIDIA: Xinerama is enabled, so RandR has likely been disabled by the
[     5.903] (WW) NVIDIA:     X server.
[     6.125] (WW) VESA(2): No valid modes left. Trying less strict filter...
[     6.182] (WW) NVIDIA(0): Not registering RandR
[     6.350] (WW) NVIDIA(1): Not registering RandR
[     6.991] (WW) NVIDIA: Xinerama and GLX are enabled, but some X screens are not being
[     6.991] (WW) NVIDIA:     driven by the NVIDIA X driver.  OpenGL rendering will be
[     6.991] (WW) NVIDIA:     disabled on these screens:
[     6.991] (WW) NVIDIA:  - Screen 2: VESA

I tried disabling COMPOSITE extension (don’t really need it , I use i3-wm) which resulted in X segfaulting while initializing.

And grepping for “glx”:

[     5.869] (II) LoadModule: "glx"
[     5.870] (II) Loading /usr/lib/xorg/modules/extensions/libglx.so
[     5.880] (II) Module glx: vendor="X.Org Foundation"
[     5.948] (II) Loading sub module "glxserver_nvidia"
[     5.948] (II) LoadModule: "glxserver_nvidia"
[     5.948] (II) Loading /usr/lib/xorg/modules/extensions/libglxserver_nvidia.so
[     6.037] (II) Module glxserver_nvidia: vendor="NVIDIA Corporation"

And grepping for “screen”:

[     6.095] (II) NVIDIA(0): Virtual screen size determined to be 1280 x 1024
[     6.101] (II) NVIDIA(1): Virtual screen size determined to be 1920 x 1080
[     6.761] (II) GLX: Another vendor is already registered for screen 0
[     6.761] (II) GLX: Another vendor is already registered for screen 1
[     6.959] (II) GLX: Initialized DRISWRAST GL provider for screen 2`

My xorg.conf:

Section "ServerLayout"
    Identifier     "server"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" RightOf "Screen0"
    Screen      2  "Trinitron" LeftOf "Screen0"
EndSection

Section "ServerFlags"
    Option         "Xinerama" "1"
EndSection

Section "Monitor"
    Identifier     "Monitor2"
    VendorName     "Sun"
    ModelName      "GDM-5510"
    HorizSync       30.0 - 130.0
    VertRefresh     60.0 - 160.0
    Option         "DPMS"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "LG Electronics L1752T"
    HorizSync       30.0 - 71.0
    VertRefresh     56.0 - 75.0
    Option         "DPMS"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "SAMSUNG"
    HorizSync       15.0 - 68.0
    VertRefresh     24.0 - 60.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 1060 3GB"
    BusID          "PCI:6@0:0:0"
    Screen          0
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 1060 3GB"
    BusID          "PCI:6@0:0:0"
    Screen          1
EndSection

Section "Device"
#    Screen          2
    Identifier     "Device2"
    Driver         "vesa"
    VendorName     "Matrox Electronics Systems Ltd."
    BoardName      "M91XX (rev 01)"
    BusID          "PCI:1@0:0:0"
#    Screen 2
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-0"
    Option         "SLI" "Off"
#    Option         "MultiGPU" "On"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-3"
    Option	   "metamodes" "HDMI-0: 1920x1080_24 +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"
    Option         "SLI" "Off"
#    Option         "MultiGPU" "On"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
#	Modes	   "1920x1080_24"
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Trinitron"
    Device         "Device2"
    Monitor        "Monitor2"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
        Modes      "1024x768"
    EndSubSection
EndSection

I am at my wit’s end. Using noveau is not an option since I need CUDA. Will have to desist on having a VGA output at all and keep working only on my crappy 17" LCD. I looked up possible environment variables one could pass to programs to force rendering to a specific card, to no avail. If someone here knew of a way to force such, I would be eternally grateful.