Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IronCAD 2019 does not work with DXVK 1.9.2 #2351

Closed
andyholst opened this issue Nov 5, 2021 · 12 comments
Closed

IronCAD 2019 does not work with DXVK 1.9.2 #2351

andyholst opened this issue Nov 5, 2021 · 12 comments

Comments

@andyholst
Copy link

andyholst commented Nov 5, 2021

Following things were given:

HOME_PATH="/home/ubuntu"
WINE_PATH="${HOME_PATH}/.ironcad"
ARCHITECTURE="win64"
WINE="wine64"

I executed following commands:

WINEPREFIX="${WINE_PATH}" WINEARCH="${ARCHITECTURE}" winetricks -q dxvk
WINEPREFIX="${WINE_PATH}" WINEARCH="${ARCHITECTURE}" winetricks -q win10

WINEPREFIX="${WINE_PATH}" WINEARCH="${ARCHITECTURE}" ${WINE} IronCADDCS2019_x64.exe

WINEPREFIX="${WINE_PATH}" WINEARCH="${ARCHITECTURE}" ${WINE} \
"${WINE_PATH}"/drive_c/Program\ Files/IronCAD/2019/bin/IRONCAD.exe

Downloading the IronCADDCS2019_x64.exe can be problematic with Wine since the exe file installer requires dependencies that I've not figured out yet. I just got the IronCADDCS2019_x64.exe through VirtualBox through Windows. Download link is https://community.ironcad.com/index.php?/files/file/13-ironcad-2019-release-version/

The installent went ok, beware that when you start the application you have to hit the return key at least once maybe twice for it start, otherwise it just stays idle. Once started, you select a new 3D scene. Then you will be notified in the terminal that 3D scene can't be created and application crashes within a minute or two.

0680:fixme:vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child window rendering, which is not implemented yet! err: Failed to create surface

IronCAD_D3D11

I tested by creating a new 3D scene with both DirectX 9 and DirectX 11, same result. To select rendering driver go to menu->tools->Options->Rendering then there you can select either DirectX9 or DirectX11.

Software information

  • Distro: Ubuntu 20.04
  • Application: IronCAD 2019

System information

  • GPU: Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X]
  • Driver:

filename: /lib/modules/5.4.139-0504139-generic/kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko
version: 5.11.19.21.30
license: GPL and additional rights
description: AMD GPU
author: AMD linux driver team

  • Wine version:

wine-staging-amd64/focal,now 6.20focal-1 amd64 [installed]
wine-staging-i386/focal,now 6.20
focal-1 i386 [installed]
wine-staging/focal,now 6.20focal-1 amd64 [installed]
winehq-staging/focal,now 6.20
focal-1 amd64 [installed]
winetricks/focal,focal,now 0.0+20200412-1 all [installed]

  • DXVK version: 1.9.2

Apitrace file(s)

Unsuccesful with the command WINEPREFIX="${WINE_PATH}" WINEARCH="${ARCHITECTURE}" ${WINE} apitrace-latest-win64/bin/apitrace.exe trace -a dxgi "${WINE_PATH}"/drive_c/Program\ Files/IronCAD/2019/bin/IRONCAD.exe application wouldn't even start.

Log files

@WinterSnowfall
Copy link
Contributor

WinterSnowfall commented Nov 5, 2021

I've seen your posts on the Wine bug pertaining to vulkan child window rendering support, so you are aware this is still an unfixed Wine issue with only an experimental patch available...

Secondly, you're trying to get DXVK working with llvmpipe? Really?

P.S.: if vulkaninfo | grep driverName only shows llvmpipe then your AMD GPU either does not support vulkan or the driver is not installed properly. I don't have an AMD GPU so can't advise you further on how to fix this, but it's a problem. Mind you I don't expect child window rendering support to work anyway, even if you get it fixed.

@andyholst
Copy link
Author

andyholst commented Nov 5, 2021

@WinterSnowfall 'vulkaninfo | grep amd' gives me

GPU id : 0 (AMD RADV POLARIS11)

I didn't try anything to get DXVK work especially with llvmpipe, and yes, I've run several other kind of CAD Windows applications in Wine and several of Steam games with Proton (Wine) without bothering about the graphic driver details.

I am aware of that this bug exist, I didn't mind reporting it here since I'm not sure how the WineHQ bug community and DXVK community works together by implementing/fixing DirectX 9/11 to Vulkan transformation rendering features to Wine upstream.

@WinterSnowfall
Copy link
Contributor

I'm not sure how the WineHQ bug community and DXVK community works together by implementing/fixing DirectX 9/11 to Vulkan transformation rendering features to Wine upstream.

They don't - they're entirely separate projects. DXVK is indeed included in Proton but not in Wine.

This is a Wine bug, not a DXVK bug, so not much good will come out of reporting it here.

As to your setup, I guess it looks fine as per your output above, but then why do all the logs you've captured default to llvmpipe? llvmpipe/lavapipe is a software vulkan implementation, so don't expect it to work properly. You are warned as such in the logs you've shared: WARNING: lavapipe is not a conformant vulkan implementation, testing use only.

@andyholst
Copy link
Author

Noted.

@andyholst
Copy link
Author

At least this issue '"fixme:vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child window rendering, which is not implemented yet!"' was mentioned here in the DXVK community in the past #879

@WinterSnowfall
Copy link
Contributor

At least this issue '"fixme:vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child window rendering, which is not implemented yet!"' was mentioned here in the DXVK community in the past #879

I'm aware of the bug because I raised an issue about it here myself (#1770). It's not something which can be fixed in DXVK, though it affects it in a manner in which all vulkan apps running in Wine are affected.

@andyholst
Copy link
Author

andyholst commented Nov 6, 2021

At least this issue '"fixme:vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child window rendering, which is not implemented yet!"' was mentioned here in the DXVK community in the past #879

I'm aware of the bug because I raised an issue about it here myself (#1770). It's not something which can be fixed in DXVK, though it affects it in a manner in which all vulkan apps running in Wine are affected.

I looked at one of the patches that Patrik suggest works, https://github.com/Frogging-Family/wine-tkg-git/blob/master/wine-tkg-git/wine-tkg-patches/misc/childwindow.patch Frogging-Family/wine-tkg-git#358. By looking at what commit it applies to I can see that it applies to Wine mainline commit bca1b7f , the patch is applied for Wine version 6.20 and above. I did run the building and installation of the repository in a container context with the commands:

WORKDIR /usr/src/wine-tkg-git/wine-tkg-git

RUN sed -i "/'jack2'                 'lib32-jack2'/d" PKGBUILD
RUN sed -i "/'gst-plugins-good'      'lib32-gst-plugins-good'/d" PKGBUILD
RUN bash -c 'yes | PKGDEST=/tmp/wine-tkg makepkg --noconfirm -s'

I executed it literally the same way as the pipeline is executed for the Arch Linux distro https://github.com/Frogging-Family/wine-tkg-git/blob/master/.github/workflows/wine-arch.yml since that distro has best support (least complications) for multi-arch compilation compared to Ubuntu/Debian.

You can easily redirect the rendering to X11 and still preserve the bare metal speed if it's OCI container like Docker.

@andyholst
Copy link
Author

I applied by running the child window patch from https://github.com/Frogging-Family/wine-tkg-git/blob/master/wine-tkg-git/wine-tkg-patches/misc/childwindow.patch and by installing the Wine version 6.20 by the following commands on my Arch Linux distro

cd /usr/src/wine-tkg-git/wine-tkg-git # checked out git commit 6bffd57

sed -i "/'jack2'                 'lib32-jack2'/d" PKGBUILD
sed -i "/'gst-plugins-good'      'lib32-gst-plugins-good'/d" PKGBUILD
sudo bash -c 'yes | PKGDEST=/tmp/wine-tkg makepkg --noconfirm -s'

sudo pacman -U --noconfirm /tmp/wine-tkg/wine-tkg-staging-fsync-git-6.20.*.pkg.tar.zst

Following things were given:

HOME_PATH="/home/winer"
WINE_PATH="${HOME_PATH}/.ironcad"
ARCHITECTURE="win64"
WINE="wine64"

I executed with following commands:

WINEPREFIX="${WINE_PATH}" WINEARCH="${ARCHITECTURE}" winetricks -q dxvk
WINEPREFIX="${WINE_PATH}" WINEARCH="${ARCHITECTURE}" winetricks -q win10

WINEPREFIX="${WINE_PATH}" WINEARCH="${ARCHITECTURE}" ${WINE} IronCADDCS2019_x64.exe

WINEPREFIX="${WINE_PATH}" WINEARCH="${ARCHITECTURE}" ${WINE} \
"${WINE_PATH}"/drive_c/Program\ Files/IronCAD/2019/bin/IRONCAD.exe

Once started,after selecting a 3D scene. Then you will be notified in the terminal that 3D scene can't be created and application crashes within a minute or two. No more '"fixme:vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child window rendering, which is not implemented yet!", that seems to be fixed with the mentioned applied patch above.

Software information

  • Distro: Arch Linux

LSB Version: 1.4
Distributor ID: Arch
Description: Arch Linux
Release: rolling "archlinux:base-devel-20211017.0.36769"
Codename: n/a

  • Application: IronCAD 2019

System information

  • GPU: Advanced Micro Devices, Inc. [AMD/ATI] Baffin [Radeon RX 460/560D / Pro 450/455/460/555/555X/560/560X]
  • Driver: radv

driverID = DRIVER_ID_MESA_RADV
driverName = radv
driverInfo = Mesa 21.2.4
conformanceVersion = 1.2.3.0

  • Wine version: wine-tkg-staging-fsync-git 6.20.r10.gdf26057d-326

  • DXVK version: 1.9.2

Apitrace file(s)

Not available.

Log files

@andyholst andyholst reopened this Nov 6, 2021
@doitsujin
Copy link
Owner

doitsujin commented Nov 6, 2021

What exactly is the problem now and how exactly are we supposed to fix it?

Also

0200:fixme:d3dcompiler:D3DCompile2 HLSL shader compilation is not yet implemented.

not a dxvk problem, you'll need some native d3dcompiler libraries.

@andyholst
Copy link
Author

What exactly is the problem now and how exactly are we supposed to fix it?

Also

0200:fixme:d3dcompiler:D3DCompile2 HLSL shader compilation is not yet implemented.

not a dxvk problem, you'll need some native d3dcompiler libraries.

Ok, I close the issue again and dig deeper into what d3dcompiler libraries I'm missing.

@andyholst
Copy link
Author

What exactly is the problem now and how exactly are we supposed to fix it?

Also

0200:fixme:d3dcompiler:D3DCompile2 HLSL shader compilation is not yet implemented.

not a dxvk problem, you'll need some native d3dcompiler libraries.

I needed to install the d3dcompiler_47 library. I see still rendering issues, but it's app related.

IRONCAD_2019

Thank you for your time.

@lorn10
Copy link

lorn10 commented Mar 26, 2023

For the sake of completeness it should be added here:

CAD and stock Wine users should look into this matter with Gallium Nine instead of DXVK. (The later is also in 2023 still broken because of the missing Vulkan "child window rendering support" in Wine.)

Yes, d3d9 is super old but even in 2023 some CAD software still comes with a fallback for this ancient rendering path. Furthermore, it looks that at least IronCAD 2019 effectively had some support for d3d9.

Finally it is confirmed for Autodesk-Fusion-360 that the mentioned "child window rendering support" is working with Gallium Nine. More information can be found here.

Note, - regarding newer Wine releases (from 7.x and up) I would clearly not recommend to install the native Windows 7 gdiplus.dll via winetricks. It causes more problems than it helps. If a native MS gdiplus.dll is really needed then get a newer one from Windows 10 and make a manual override via winecfg. 😉

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants