Nvidia Open-Source "Nouveau" drivers and D3D rendering don't work at all.

Questions about Wine on Linux
Locked
Kitsune
Level 2
Level 2
Posts: 10
Joined: Sat Jun 27, 2020 5:01 am

Nvidia Open-Source "Nouveau" drivers and D3D rendering don't work at all.

Post by Kitsune »

Hi,

I try to use the open sources "Nouveau" drivers for Nvidia cards but that seem don't work with DirectX games. I have tried some different tweaks and ways (manually, winetricks too, wine regedit) but nothing seem work about this trouble.

I have installed a 2013 Steam game and Half Life 1...The trouble is the same, OpenGL rendering work..But no d3d (message about failed Windows creation). DirectX9c is installed and the Steam game make it automatically update to DirectX9. I notice this update put also 2 or 3 dll about DirectX 10/11 and now maybe 12.

Half Life work well in OpenGL but nothing work when I set it with DirectX rendered options.

I have tried before with Nvidia proprietary drivers and the result is better but I was on an older Linux distribution. Now I am on Debian buster...But I can't put the old proprietary drivers.

My graphic card can natively use 2.1 OpenGL.

Thanks for reply.
jkfloris
Level 12
Level 12
Posts: 3201
Joined: Thu Aug 14, 2014 10:10 am

Re: Nvidia Open-Source "Nouveau" drivers and D3D rendering don't work at all.

Post by jkfloris »

Which graphics card do you have?

Code: Select all

lspci -nn | grep -i vga
 
Kitsune
Level 2
Level 2
Posts: 10
Joined: Sat Jun 27, 2020 5:01 am

Re: Nvidia Open-Source "Nouveau" drivers and D3D rendering don't work at all.

Post by Kitsune »

It's a Geforce Go 7400 (old one). it's a Serie 7 Nvidia Geforce.

Return of the lspci command:

Code: Select all

 01:00.0 VGA compatible controller [0300]: NVIDIA Corporation G72M [GeForce Go 7400] [10de:01d8] (rev a1)
I think Nouveau drivers use "NV40" familly codename (Currie), NV46 Exactly for this model.
Here we can see the NV46 codename from "nouveau" drivers must be used for this card:
https://nouveau.freedesktop.org/wiki/CodeNames/#NV40

It's a laptop computer so change it will be hard or impossible.
jkfloris
Level 12
Level 12
Posts: 3201
Joined: Thu Aug 14, 2014 10:10 am

Re: Nvidia Open-Source "Nouveau" drivers and D3D rendering don't work at all.

Post by jkfloris »

You're right, this card is supported by the Nvidia 304.xx driver and is no longer maintained.
If you want to use this driver on Debian Buster you have to downgrade the Xserver to version 1.19

I have tried some different tweaks and ways (manually, winetricks too, wine regedit) but nothing seem work about this trouble.
What have you tried? Have you tried Gallium Nine?

Code: Select all

sudo apt install libd3dadapter9-mesa libd3dadapter9-mesa:i386
winetricks -q galliumnine
 
Kitsune
Level 2
Level 2
Posts: 10
Joined: Sat Jun 27, 2020 5:01 am

Re: Nvidia Open-Source "Nouveau" drivers and D3D rendering don't work at all.

Post by Kitsune »

Hi,

I don't know what is Gallium9 I will watch it online...Like I said in the first message I has try with winetricks tool some settings, dlls builtin/native, dotnets updates,...Reinstall all with a new Wine prefix few times, Playonlinux doing the same error about DirectX with Nouveau driver on Debian 10...I have tweaks the regedit of Wine few time also about set OpenGL max to 2.1, remove it, fbo, gdi, opengl settings...Mixed up all kind of settings and retry on fresh prefix but nothing with the Nouveau.

I don't know Gallium but Mesa worked on my last install with Nouveau for openGL 2.0/2.1 (max), Vulkan are not supposed to be supported by my card also...If Gallium use it?

Now I have downgraded my distrib to Debian 9 Stretch to be able to install Nvidia proprietary drivers. I had installed the 304xx drivers this last evening for my GPU card (the last proprietary drivers). There are old one but that worked on Wine for DirectX app more easily the first time I used it. I will notice your command for next time if I have trouble about it.

Thanks.
Kitsune
Level 2
Level 2
Posts: 10
Joined: Sat Jun 27, 2020 5:01 am

Re: Nvidia Open-Source "Nouveau" drivers and D3D rendering don't work at all.

Post by Kitsune »

I have do a dist-upgrade to attempt to grow up to Debian 10 Buster with the Nvidia 304xx driver from the 9 Stretch but the dist upgrade not work when I hold the nvidia Drivers. Then I am with the "Nouveau" one now...I have tried Gallium on Wine and that's don't work... Gallium stop Steam or the Game to launch here, so more error with it for now.
Also winetricks don't offer me to install it. I have do it by the standalone package of Gallium.

wine ninewinecfg

Code: Select all

DRI3 backend not active (slower performance)
wine: Unhandled page fault on execute access to 7C6FC528 at address 7C6FC528 (thread 0009), starting debugger...
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
002d:fixme:dbghelp:elf_search_auxv can't find symbol in module
Here is a log file make with the command Gallium Config executable:

Code: Select all

Unhandled exception: page fault on execute access to 0x7c6fc528 in 32-bit code (0x7c6fc528).
Register dump:
 CS:0073 SS:007b DS:007b ES:007b FS:0033 GS:003b
 EIP:7c6fc528 ESP:0032e66c EBP:7c6ac628 EFLAGS:00210216(  R- --  I   -A-P- )
 EAX:b7d3b7d8 EBX:b797c000 ECX:b7d3b7d8 EDX:00000000
 ESI:7c6ac620 EDI:7c6ac828
Stack dump:
0x0032e66c:  b71b9a42 b7d3b7d8 b76ef025 b72515a9
0x0032e67c:  b797c000 b71b9a27 b797c000 7c6ac620
0x0032e68c:  b71ba07c 7c6ac620 004f603c 000013c2
0x0032e69c:  b76ef273 88760827 0000000d 004f603c
0x0032e6ac:  0032e6c4 004f60bc 0032e71c 00000010
0x0032e6bc:  000010de 000001d8 7c6ae7d0 7c6aebe0
Backtrace:
=>0 0x7c6fc528 (0x7c6ac628)
  1 0x7c6ac618 (0x7c6ac618)
0x7c6fc528: addb	%al,0x0(%eax)
Modules:
Module	Address			Debug info	Name (87 modules)
PE	62340000-623d8000	Deferred        uxtheme
PE	62800000-628e4000	Deferred        usp10
PE	64b40000-64b81000	Deferred        shcore
PE	65200000-65747000	Deferred        ole32
PE	65980000-6599d000	Deferred        version
PE	68c40000-68d5c000	Deferred        shlwapi
PE	6a900000-6aac4000	Deferred        setupapi
PE	6c0c0000-6c105000	Deferred        imm32
PE	6e8c0000-6ed35000	Deferred        comctl32
PE	6fdc0000-6ffda000	Deferred        rpcrt4
PE	7b000000-7b2dd000	Deferred        kernelbase
ELF	7b400000-7b672000	Deferred        kernel32<elf>
  \-PE	7b420000-7b672000	\               kernel32
ELF	7bc00000-7beb0000	Deferred        ntdll<elf>
  \-PE	7bc30000-7beb0000	\               ntdll
ELF	7c000000-7c005000	Deferred        <wine-loader>
ELF	7d664000-7d66b000	Deferred        libxfixes.so.3
ELF	7d66b000-7d678000	Deferred        libxcursor.so.1
ELF	7d678000-7d68b000	Deferred        libxi.so.6
ELF	7d68b000-7d68f000	Deferred        libxcomposite.so.1
ELF	7d68f000-7d69c000	Deferred        libxrandr.so.2
ELF	7d69c000-7d6a8000	Deferred        libxrender.so.1
ELF	7d6a8000-7d6af000	Deferred        libxxf86vm.so.1
ELF	7d6af000-7d6b4000	Deferred        libxinerama.so.1
ELF	7d6b4000-7d6bf000	Deferred        librt.so.1
ELF	7d6bf000-7d6de000	Deferred        libbsd.so.0
ELF	7d6de000-7d70c000	Deferred        libxcb.so.1
ELF	7d70c000-7d85b000	Deferred        libx11.so.6
ELF	7d85b000-7d870000	Deferred        libxext.so.6
ELF	7d882000-7d93c000	Deferred        winex11<elf>
  \-PE	7d8a0000-7d93c000	\               winex11
ELF	7d93c000-7d946000	Deferred        libuuid.so.1
ELF	7d946000-7d981000	Deferred        libexpat.so.1
ELF	7d981000-7d9ce000	Deferred        libfontconfig.so.1
ELF	7d9ce000-7d9ed000	Deferred        libz.so.1
ELF	7d9ed000-7da2c000	Deferred        libpng16.so.16
ELF	7da2c000-7daef000	Deferred        libfreetype.so.6
ELF	7daef000-7db18000	Deferred        libtinfo.so.6
ELF	7db18000-7db45000	Deferred        libncurses.so.6
ELF	7db45000-7dd7c000	Deferred        user32<elf>
  \-PE	7db70000-7dd7c000	\               user32
ELF	7dd7c000-7de53000	Deferred        msvcrt<elf>
  \-PE	7dda0000-7de53000	\               msvcrt
ELF	7de53000-7dfa9000	Deferred        gdi32<elf>
  \-PE	7de70000-7dfa9000	\               gdi32
ELF	7dfa9000-7e02c000	Deferred        advapi32<elf>
  \-PE	7dfc0000-7e02c000	\               advapi32
ELF	7e02c000-7ea3d000	Deferred        shell32<elf>
  \-PE	7e060000-7ea3d000	\               shell32
PE	7ea3d000-7ea59000	Deferred        ninewinecfg
ELF	7eed3000-7eee8000	Deferred        libnss_files.so.2
ELF	7eee8000-7efee000	Deferred        libm.so.6
ELF	7efee000-7eff5000	Deferred        libxdmcp.so.6
ELF	7eff5000-7effa000	Deferred        libxau.so.6
ELF	b2a7d000-b395e000	Deferred        nouveau_dri.so
ELF	b395e000-b3961000	Deferred        libxshmfence.so.1
ELF	b3961000-b396a000	Deferred        libxcb-sync.so.1
ELF	b396a000-b397d000	Deferred        libwayland-server.so.0
ELF	b397d000-b398c000	Deferred        libwayland-client.so.0
ELF	b398c000-b39ab000	Deferred        libglapi.so.0
ELF	b39ab000-b39bc000	Deferred        libgbm.so.1
ELF	b39bc000-b3a01000	Deferred        libegl_mesa.so.0
ELF	b3a01000-b3a63000	Deferred        libgldispatch.so.0
ELF	b3a63000-b3a79000	Deferred        libegl.so.1
ELF	b3a79000-b3a83000	Deferred        libxcb-xfixes.so.0
ELF	b3a83000-b3a88000	Deferred        libxcb-present.so.0
ELF	b3a88000-b3a8e000	Deferred        libxcb-dri3.so.0
ELF	b3a8e000-b3a95000	Deferred        libxcb-dri2.so.0
PE	b3a95000-b3ace000	Deferred        d3d9-nine
ELF	b3ace000-b3b05000	Deferred        libedit.so.2
ELF	b3b05000-b3b0f000	Deferred        libffi.so.6
ELF	b3c8e000-b718d000	Deferred        libllvm-7.so.1
ELF	b718d000-b79ed000	Deferred        d3dadapter9.so.1
ELF	b7a46000-b7a4b000	Deferred        libx11-xcb.so.1
ELF	b7a4b000-b7a55000	Deferred        libatomic.so.1
ELF	b7a55000-b7a73000	Deferred        libgcc_s.so.1
ELF	b7a73000-b7a84000	Deferred        libsensors.so.5
ELF	b7a84000-b7a91000	Deferred        libdrm_amdgpu.so.1
ELF	b7a91000-b7aaf000	Deferred        libelf.so.1
ELF	b7aaf000-b7abe000	Deferred        libdrm_radeon.so.1
ELF	b7abe000-b7ad3000	Deferred        libdrm.so.2
ELF	b7b5b000-b7b61000	Deferred        libdl.so.2
ELF	b7b61000-b7d3f000	Deferred        libc.so.6
ELF	b7d3f000-b7d60000	Deferred        libpthread.so.0
ELF	b7d60000-b7d6a000	Deferred        libdrm_nouveau.so.2
ELF	b7d72000-b7f26000	Dwarf           libwine.so.1
ELF	b7f28000-b7f52000	Deferred        ld-linux.so.2
Threads:
process  tid      prio (all id:s are in hex)
00000008 (D) C:\windows\system32\ninewinecfg.exe
	00000009    0 <==
0000000e services.exe
	0000002a    0
	00000027    0
	0000001c    0
	00000015    0
	00000010    0
	0000000f    0
00000011 plugplay.exe
	00000019    0
	00000018    0
	00000012    0
00000013 explorer.exe
	00000026    0
	00000025    0
	00000024    0
	00000021    0
	00000014    0
0000001a winedevice.exe
	00000020    0
	0000001f    0
	0000001e    0
	0000001d    0
	0000001b    0
00000022 winedevice.exe
	0000002b    0
	00000029    0
	00000028    0
	00000023    0
System information:
    Wine build: wine-5.0.1
    Platform: i386
    Version: Windows 7
    Host system: Linux
    Host version: 4.19.0-9-686-pae
Locked