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

DirectX 11 support. #504

Open
madurani opened this issue Nov 27, 2024 · 12 comments
Open

DirectX 11 support. #504

madurani opened this issue Nov 27, 2024 · 12 comments

Comments

@madurani
Copy link

After installation of last version of Fusion appear there message, that DirectX 9 and OpenGL will be not supported any more in short time. I tried use DirectX 11, but without success. Windows stay black. Is there some possibility use DirectX 11 in wine(OpenGL work fine for me)?
image
image

@andrewljoy
Copy link

Same issue for me. Cannot get to the settings to even try DX11.

@madurani
Copy link
Author

madurani commented Nov 29, 2024

Summary of My Observations
OpenGL: Works fine, even without DXVK.
DirectX 9: Works fine without DXVK but stops rendering when DXVK is installed.
DirectX 11: The main window is black, whether or not DXVK is installed.

Has anyone configured DirectX11 with Fusion360 and rendering of main windows works properly?

I think that if vendor disable support for OpenGL and DirectX9, then we will all have problem.

But it look like that Directx11 is depend on vulkan 1.3 and my vga supported only vulkan 1.2

info:  Enabled instance extensions:
info:    VK_KHR_get_surface_capabilities2
info:    VK_KHR_surface
info:    VK_KHR_win32_surface
warn:  Skipping Vulkan 1.2 adapter: NVIDIA GeForce GTX 660
warn:  DXVK: No adapters found. Please check your device filter settings and Vulkan setup. A Vulkan 1.3 capable driver is required.
info:  Process set as DPI aware


pc-marek1 /usr/portage/x11-drivers/nvidia-drivers # vulkaninfo | grep -i version
Vulkan Instance Version: 1.3.296
VK_LAYER_KHRONOS_validation (Khronos Validation Layer) Vulkan version 1.3.296, layer version 1:
VK_LAYER_NV_optimus (NVIDIA Optimus layer) Vulkan version 1.2.175, layer version 1:
        apiVersion        = 1.2.175 (4202671)
        driverVersion     = 471.0.2.0 (1975517312)
        conformanceVersion:
        VK_KHR_sampler_ycbcr_conversion           : extension revision 14
        samplerYcbcrConversion             = true

@madurani
Copy link
Author

madurani commented Dec 9, 2024

Succeeded, I am on DirectX11. After replacing the vga from nvidia gtx660 to gtx1060 (support of vulkan 1.3 is requested). DXVK started working.

image

@CedericN
Copy link

CedericN commented Dec 9, 2024

How/what did you do to achieve this?

@madurani
Copy link
Author

madurani commented Dec 9, 2024

Nothing special:
1.your vga hardware have to support vulkan1.3 (i have to replaced my old vga card)
2.install dxvk via winetricks
3.and after first login to fusion i changed graphical driver from opengl to directx11

A black screen flickering appeared. It should be fixed via dxvk.conf, but look like that wine ignore this conf file.

madurani@pc-marek1 ~/.PlayOnLinux/wineprefix/Fusion360_008/drive_c $ cat /volume01/wine/dxvk.conf
# Enable DirectX 11 support
dxgi.allow_unsupported = true
dxvk.enable_dxgi = true
dxvk.enable_d3d11 = true
dxvk.num_async_commands = 16
dxvk.enable_async = false
dxvk.use_raw_ssbo = false
dxvk.num_back_buffers = 3
dxvk.present_interval = 1
dxvk.shrink_cmdlists = true
dxvk.enable_rt = true
dxvk.use_vk_surface_extensions = true
dxvk.debug = info

madurani@pc-marek1 ~/.PlayOnLinux/wineprefix/Fusion360_008/drive_c $ vulkaninfo | grep -i version
Vulkan Instance Version: 1.3.296
VK_LAYER_KHRONOS_validation (Khronos Validation Layer) Vulkan version 1.3.296, layer version 1:
VK_LAYER_NV_optimus (NVIDIA Optimus layer) Vulkan version 1.3.277, layer version 1:
        apiVersion        = 1.3.277 (4206869)
        driverVersion     = 550.135.0.0 (2309079040)
        shaderBinaryVersion  = 1
        conformanceVersion:
        VK_KHR_sampler_ycbcr_conversion               : extension revision 14
        samplerYcbcrConversion             = true

@Holzniggl
Copy link

Probably CUDA and ROCM related
Nobara and Fedora 40
TLDR: try installing ROCM-Driver on AMD
I got it running via DX11 on my new AMD-Tablett. Result was kinda sluggish. Black Screen flickering and such. not very kind to the eye.
DXVK was automaticly installed via the Installscript and loaded.
Bildschirmfoto_20241210_202743
Bildschirmfoto_20241210_220610
Since i'm using Nobara, i used their Driver Manager just to see how much i can mess around.
Turns out there are Drivers for my GPU available. so i Installed it.
Bildschirmfoto_20241210_221748
After a Reboot i can Confirm that i'm running on DX11 and just the Browser and Comment tap are bugging out. When you detach those Windows and customize them in floating Mode, the black Screen goes away.
Bildschirmfoto_20241210_221026

@techdregs
Copy link

techdregs commented Dec 11, 2024

I've got the same issue. DX11 just shows the editor window as black. Menus seem to work. I'm on F41 with Nvidia 565.57.01 drivers on Wayland. DXVK is installed via Winetricks. I haven't found any configuration that works. DX9 works fine.

Dec 11 15:55:15 fedora env[39776]: 0e80:fixme:vulkan:X11DRV_vulkan_surface_create Application requires child window rendering, which is not implemented yet!
Dec 11 15:55:15 fedora env[39776]: err:   D3D11SwapChain: Failed to recreate surface: VK_ERROR_INCOMPATIBLE_DRIVER
Dec 11 15:55:15 fedora env[39776]: err:   DXGI: CreateSwapChainForHwnd: Failed to create swap chain, hr -2147467259
Dec 11 15:55:16 fedora env[39776]: warn:  DXGI: MakeWindowAssociation: Ignoring flags

@TheRob2D
Copy link

Hey wait, how are you guys changing to DX11????

When I click on preferences the process freezes entirely. Terminal shows: "QLayout: Attempting to add QLayout "" to QWidget "", which already has a layout" And I have to force close it.

@techdregs
Copy link

Hey wait, how are you guys changing to DX11????

When I click on preferences the process freezes entirely. Terminal shows: "QLayout: Attempting to add QLayout "" to QWidget "", which already has a layout" And I have to force close it.

The preference window does eventually load for me, it just takes a very long time to do so.

@madurani
Copy link
Author

yes, a preference windows start long, but when i minimalize/maximalize main windows of fusion, then a window immediate appear, or you can changed it in install script (this file is three times downloaded/copied to fusion folder, there is needed to change VirtualDeviceGLCore or VirtualDeviceDx9 to VirtualDeviceDx11):

wget -N https://raw.githubusercontent.com/cryinkfly/Autodesk-Fusion-360-for-Linux/main/files/setup/resource/video_driver/opengl/NMachineSpecificOptions.xml

@TheRob2D
Copy link

Ah yes, I got it. Unfortunately, everything is too buggy to use. I'll stick to my VM for now. Great to see this project actually works though.

@madurani
Copy link
Author

I've found that "black screen" appears when some popup menu is called or cursor is changed (when middle or right button of mouse is pressed), then it's enough just to scroll the mouse wheel and screen rendering is back.

After communication with chatgpt I got dxvk.conf which does not solver flickering on 100%, but now black screen show only for very short time and disappears by itself. In my case it is much better.
Maybe someone who understands options in conf file can prepare some better configuration.

cat /volume01/wine/dxvk.conf
# Enable DirectX 11 support
dxgi.allow_unsupported = true
dxvk.enable_dxgi = true
dxvk.enable_d3d11 = true
dxvk.num_async_commands = 16
dxvk.enable_async = false
dxvk.use_raw_ssbo = false
dxvk.num_back_buffers = 3
dxvk.present_interval = 1
dxvk.shrink_cmdlists = true
dxvk.enable_rt = true
dxvk.use_vk_surface_extensions = true
dxvk.debug = info
dxgi.maxFrameLatency = 1
dxgi.numBackBuffers = 2
d3d11.relaxedBarriers = True
dxgi.syncInterval = 1
dxvk.enableAsync = True

Here are variables which i used for start of fusion:

export WINEDEBUG="+vulkan,+dxgi,+d3d11"
export FUSION_IDSDK=false
export DXVK_FILTER_DEVICE_NAME="NVIDIA GeForce GTX 1060 3GB"
export DXVK_CONFIG_FILE=/volume01/wine/dxvk.conf
export WINEPREFIX="/home/madurani/.PlayOnLinux//wineprefix/Fusion360_010"

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

6 participants