FreeCAD / FreeCAD

This is the official source code of FreeCAD, a free and opensource multiplatform 3D parametric modeler.
https://www.freecad.org
Other
18.38k stars 3.89k forks source link

[Problem] UI: Grid is transparent and displaying the background behind it #6177

Open FreeCAD-Bug-Importer opened 2 years ago

FreeCAD-Bug-Importer commented 2 years ago

Issue imported from https://tracker.freecad.org/view.php?id=4594

Original report text

Grid lines, instead of being filled with color, are filled with whatever is "below" the FreeCAD window, eg. desktop wallper, other windows, etc.

Forum thread: https://forum.freecadweb.org/viewtopic.php?f=3&t=56509

Screencast: https://streamable.com/4xedi5

image https://i.imgur.com/dVKiDaB.png

Additional information

This is using fully up to date Arch Linux, using git version of FreeCAD, running under wayland / sway

FreeCAD Info

OS: Arch Linux
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.20.24407 (Git)
Build type: Release
Branch: master
Hash: 9f937f765d9c811535018110618056883b258837
Python version: 3.9.2
Qt version: 5.15.2
Coin version: 4.0.1
OCC version: 7.5.0
Locale: English/United States (en_US)

Other bug information

Discussion from Mantis ticket

Comment by dudo 2021-03-11 01:16

It seems to be related to blending, like every mesh that's rendered with some kind of transparency shows the bug in action

https://streamable.com/0qavx3

(Additionally, note the z-fighting issues, unrelated I guess)


Comment by dudo 2021-03-11 17:34

On the same system under Xorg it works all right, no transparency issues, so this could be wayland specific


Comment by Kunda1 2021-03-11 19:47

What graphics card/display driver are you using? Have you read the known issues as chrisb mentions in the forum thread?


Comment by dudo 2021-03-12 01:18

I've read the known issues but couldn't find any that would describe this behavior. The driver is Intel/MESA.

~> glxinfo | grep OpenGL
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 4000 (IVB GT2)
OpenGL core profile version string: 4.2 (Core Profile) Mesa 20.3.4
OpenGL core profile shading language version string: 4.20
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.0 Mesa 20.3.4
OpenGL shading language version string: 1.30
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 20.3.4
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:
~> lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)

Comment by dannixon 2021-03-29 17:02

I am also seeing this issue using FreeCAD 0.19. It happens with both Weston and wlroots based compositors and not at all under Xorg/Xwayland. I'll also add that setting a solid background color also causes the entire render area to be affected, not just transparent areas.

I do notice the following error which is only seen when running under Wayland: Coin warning in glxglue_isdirect(): Couldn't get current GLX context.


Comment by skewty 2021-05-23 14:43

This also affects Fedora 34 Gnome so Platform field should perhaps be adjusted accordingly. What I see in Fedora 34 is the part background color, when set to solid is completely transparent. Oddly this does not occur on the gradient setting. A work-around for this is thus to set both gradient colors to be the same (looks like a solid color but isn't transparent).

I am also getting odd Qt menu placement issues in Wayland. For example:

Additionally the splash screen is not centered when it opens for me.

Could these all be related to a screen size / boundary call (upstream in Qt most likely) not working correctly in Wayland?


Comment by skewty 2021-05-23 14:55

[scott@fedora ~]$ glxinfo | grep OpenGL
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) UHD Graphics (CML GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 21.1.1
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.6 (Compatibility Profile) Mesa 21.1.1
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 21.1.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:
[scott@fedora ~]$ lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation CometLake-U GT2 [UHD Graphics] (rev 02)
[scott@fedora ~]$ 
luzpaz commented 2 years ago

@PLChris This is most likely Graphic Driver related right?

luzpaz commented 2 years ago

@wwmayer is this that old graphic driver issue?

norpol commented 2 years ago

I'm having the same issue on Swaywm/Wayland, but only when I'm installing the package from the archlinux packages. Downloading the latest appimage from the FreeCAD website and then launching the executable doesn't have that bug.

DMNinja commented 1 year ago

I can also confirm this issue still exists

This is the output of FreeCAD Info

OS: Artix Linux (Hyprland)
Word size of FreeCAD: 64-bit
Version: 0.20.2.29603 (Git)
Build type: Release
Branch: makepkg
Hash: 930dd9a76203a3260b1e6256c70c1c3cad8c5cb8
Python 3.11.3, Qt 5.15.9, Coin 4.0.1, Vtk 9.2.6, OCC 7.6.3
Locale: English/United States (en_US)
Installed mods: 
  * BIM 2021.12.0
  * boltsfc 2022.11.5
  * ProDarkThemePreferencePack 1.0.0
  * Help 1.0.3
  * ExtremeProDark 2.6.4

image Sorry in advance for my bug reporting inexperience. Please, feel free to ask for any futher info you might need

yorikvanhavre commented 1 year ago

This all seems to happen on wayland... It would be interesting to know what graphics driver you guys are using?

luzpaz commented 1 year ago

@yorikvanhavre an aside, maybe it's worth having About info post graphics driver info ?

yorikvanhavre commented 1 year ago

Yes, certainly... but I don't know if it's very easy to get that info on all platforms

adrianinsaval commented 1 year ago

Downloading the latest appimage from the FreeCAD website and then launching the executable doesn't have that bug.

because that runs on xwayland

this rather seems like rather a bug in wlroots since it seems to be specific to Sway/Hyprland I never experienced something like this in KDE's wayland session and I have an nvidia card (and nvidia is supposed to be the one with poor wayland support). Can one of you try it on kde or gnome wayland session?

luzpaz commented 9 months ago

bumping for discussion

luzpaz commented 7 months ago

@DMNinja can you still reproduce on latest stable 0.21.2 ? (https://github.com/FreeCAD/FreeCAD/releases/tag/untagged-0d1019172178853f7266)

adrianinsaval commented 7 months ago

I tried again on kde plasma and I experience something similar but only on the navicube: image

OS: Arch Linux (KDE/plasmawayland)
Word size of FreeCAD: 64-bit
Version: 0.22.0dev.35310 (Git)
Build type: None
Branch: main
Hash: cbdb8b6aeb9ebfe5d1197f985177c25e0f8420b9
Python 3.11.6, Qt 5.15.11, Coin 4.0.1, Vtk 9.3.0, OCC 7.7.2
Locale: C/Default (C) [ OS: English/United Kingdom (en_GB) ]
Installed mods: 

And I get this warning when starting FreeCAD: QOpenGLFunctions created with non-current context

DiodorOFF commented 6 months ago

@DMNinja can you still reproduce on latest stable 0.21.2 ? (https://github.com/FreeCAD/FreeCAD/releases/tag/untagged-0d1019172178853f7266)

I can confirm - the problem still exists on 0.21.2 image

Also, it doesn't work without export COIN_GL_NO_CURRENT_CONTEXT_CHECK=1

OS: Gentoo Linux (Hyprland)
Word size of FreeCAD: 64-bit
Version: 0.21.2.Unknown
Build type: RelWithDebInfo
Python 3.11.7, Qt 5.15.12, Coin 4.0.2, Vtk 9.2.6, OCC 7.7.0
Locale: English/United States (en_US)
flaviut commented 2 months ago

Related issue in another app with a proposed solution from a wayland developer: https://github.com/swaywm/sway/issues/6549

See also: FreeCAD, OpenSCAD, Cura

AjinkyaDahale commented 2 months ago

Not able to reproduce after opening a simple model in "BIM" and setting their transparency.

image

OS: Ubuntu Core 22 (GNOME/gnome)
Word size of FreeCAD: 64-bit
Version: 0.22.0dev.37442 (Git) Snap 1027
Build type: Release
Branch: main
Hash: 6b5f829ca20229a1bd6e670d9f9d13c80862210f
Python 3.10.12, Qt 5.15.10, Coin 4.0.0, Vtk 7.1.1, OCC 7.7.1
Locale: English/United States (en_US)
flaviut commented 2 months ago

The freecad appimage doesn't support wayland & runs in X11 mode, so I wouldn't be surprised if the snap is also running in X11 mode. I can reproduce this 100% in wayland mode (by using a native binary) by just opening a blank sketch:

freecad

OS: Arch Linux (sway)
Word size of FreeCAD: 64-bit
Version: 0.21.2.33771 (Git)
Build type: Release
Branch: makepkg
Hash: b9bfa5c5507506e4515816414cd27f4851d00489
Python 3.12.3, Qt 6.7.0, Coin 4.0.2, Vtk 9.3.0, OCC 7.7.2
Locale: English/United States (en_US)
Installed mods: 
  * kicadStepUpMod 11.1.4
  * Glass
AjinkyaDahale commented 2 months ago

@flaviut you're correct I did the same and found similar behaviour (albeit maybe closer to #8341). Screencast from 2024-05-23 16-47-55.webm

EDIT: I see it doesn't show up in the recording. As soon as I focus on the FC window the bug presents itself, but as soon as I move the cursor it goes normal.