cryinkfly / Autodesk-Fusion-360-for-Linux

This is a project, where I give you a way to use Autodesk Fusion 360 on Linux!
https://github.com/cryinkfly/Fusion-360---Linux-Wine-Version-/wiki
MIT License
1.91k stars 120 forks source link

Selecting some objects with left click does not highlight them *solved* #66

Closed blazej222 closed 3 years ago

blazej222 commented 3 years ago

I'm using laptop with 2 Graphics Cards - Nvidia and Intel. OS is Archlinux, drivers are nouveau and mesa. When hovering over face of an object it changes color from grey to slightly brighter grey, but after left clicking face its color is indistinguishable from non-clicked variant. The object is selected, because I can freely move it and change its attributes, but it is not highlighted in blue as it would be in Windows. The same applies to lines in sketches - after left clicking them, they won't become highlighted, but program selects them properly.

Attaching photos below: Sketch line not selected: line_not_selected

Sketch line selected: line_selected

Object face hovered over: face_hover

Object face clicked: face_clicked

Object face not selected: Face_not_selected

Surprisingly, it works on some things (circular faces): working_example

No errors show up in terminal when clicking objects. On windows after clicking objects they turn slightly blue.Also, when selecting operations in timeline, bodies created by those operations won't highlight.

Edit: After some digging, I can confirm the problem does not occur when switching OpenGL to DirectX9. However, after changing window size on DX9 the toolbar becomes unreadable(full of artifacts instead of icons)

cryinkfly commented 3 years ago

@blazej222 Thank you very much for this information. I'll take a look at it later.

blazej222 commented 3 years ago

I can confirm this specific issue is related to running fusion on Intel GPU, but I'm not sure if happens on all integrated GPUs or only Optimus Laptops with double GPU. It works almost fine when you run it by prime-run or on PC with single Nvidia card. However, there are still some OpenGL lags that don't occur on DX9. I've opened another issue about the lagginess, as I believe those issues are two different problems.

TN-1 commented 3 years ago

I can confirm this issue. Ubuntu 21.04 with Intel HD 620, driver is:
/lib/modules/5.11.0-31-generic/kernel/drivers/gpu/drm/i915/i915.ko

blazej222 commented 3 years ago

I've tested multiple configurations, and this problem occurs only on Intel GPU and only with OpenGL as renderer - after switching to DX9 I was able to run Fusion without any issues (I fixed crashes on DX9 with Intel GPU by removing xf86-video-intel and other xf86- related packages, btw. those cause a lot of problems with Fusion so use modesetting driver instead if you encounter any issues).

My card is also Intel HD 620. So, looks like it has something to do with Intel OpenGL implementation?

blazej222 commented 3 years ago

Ok, did some more testing and was able to reproduce this issue on Nvidia card (with DRI_PRIME=1) on nouveau drivers. Same case as Intel GPU, no highlighting on OpenGL renderer, works perfectly fine on DX9 renderer.

glxinfo -B on nouveau:

name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: nouveau (0x10de)
    Device: NV118 (0x134d)
    Version: 21.2.1
    Accelerated: yes
    Video memory: 2047MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.3
    Max compat profile version: 4.3
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
OpenGL vendor string: nouveau
OpenGL renderer string: NV118
OpenGL core profile version string: 4.3 (Core Profile) Mesa 21.2.1
OpenGL core profile shading language version string: 4.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.3 (Compatibility Profile) Mesa 21.2.1
OpenGL shading language version string: 4.30
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 21.2.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

glxinfo -B on Intel:

name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: Intel (0x8086)
    Device: Mesa Intel(R) HD Graphics 620 (KBL GT2) (0x5916)
    Version: 21.2.1
    Accelerated: yes
    Video memory: 3072MB
    Unified memory: yes
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) HD Graphics 620 (KBL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 21.2.1
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6 (Compatibility Profile) Mesa 21.2.1
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 21.2.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

Both use Mesa OpenGL, so that could be the problem.

TN-1 commented 3 years ago

I was able to fix this by using DXVK and DX9. See #78
I also removed the xf86-video-intel derived driver, xserver-xorg-video-intel