Forum / NoMachine for Linux / Client intense flickering problem
Tagged: flicker linux transparency
- This topic has 5 replies, 3 voices, and was last updated 5 years, 5 months ago by Britgirl.
-
AuthorPosts
-
July 3, 2017 at 15:13 #15193ThorParticipant
Flickering problem (about 10 flashes per second with random intervals, is random even between flashes)
only happens on the client, the server screen (all its elements and windows) are 100% stable.
after upgrading the server to ubuntu 16.04.2
nomachine_5.1.44_1_amd64.deb on both client and server
be it the noveau/xorg NVidia driver or the proprietary
also happens with latest nomachine_5.3.9_6_amd64.deb (on both client and server)
the problem only happens when using the Window Manager: Compiz (Unity 3D WM)
the problem only happens for semi transparent windows (compiz plugin: “Opacity, brightness and saturation”) or screen elements OR at yakuake (even if fully opaque, so at least that application IS an exception to the problem happening only on transparent elements rule that I am defending)
if I disable the opacity plugin, the flickering still happens with everything else that is semi-transparent like Unity HUD/Dash, unity top panel (with indicators, clock etc), and cairo-dock (at least).
the flickering only happens inside the NoMachine application window on the client (a notebook running JWM lightweight window manager), all other application windows on the client are normal/stable
The flickering is not a full window flickering, it is partial/regions, sometimes horizontal, other times diagonals/triangle regions of the window, clearly suggesting a 3D glitch.
The flickering lessens if there is nothing changing on the screen, like no clock being updated (per second) (may last stable for 2 minutes), no cpu usage graphs/indicators changing all the time and so on.
The problem happens with enabled or disabled NoMachine option on the server: use acceleration for display processing.
Also happens with any display encoding and framerate on the server.
Also happens with any options combination on the client: adaptative quality, buffering, postprocessing and multipass.
What works fine (only what diffs from flickering problem description):
nomachine_5.1.44_1_amd64.deb on both client and server
ubuntu 14.04 on server (wont downgrade back)
ubuntu 16.04 on client
the flickering wont happen if I change to Metacity or XFWM4, on the server, therefore seems related to Compiz 3D only.
PS.: this is the free NoMachine
OBS.: I don’t understand what “physical or virtual display” means, as to me they are all physical: the CRT server monitor and the LCD monitor at notebook client.
Obs2.: I can provide a sample video or animated gif if it helps to understand the problem.
July 4, 2017 at 12:27 #15204ThorParticipant(I cant find a button to edit the OP?)
As an anternative to Compiz(Unity3D) I am using KWin (that has 3D effects) + GnomePanel, this means that it is not a 3D graphics problem either, because the NoMachine is stable, no flickerings, using that alternative. So it seems to be a Unity3D only incompatibility.
July 14, 2017 at 12:05 #15264fra81ModeratorHi Thor,
we reproduced this issue in our labs, but unfortunately it can’t be solved in NoMachine software. We observed the same problem when dumping the screen with ‘xwd’ X utility. It looks like that images pulled from video memory by the X server can appear corrupted independently from the method or application used. I can’t say if this is a bug in compiz, X.org or the video drivers.
August 24, 2017 at 12:51 #15583ThorParticipantthx for the extra details, it took me some time to think about it…
I would like to propose a possible solution.
do you believe, whenever a corrupted image is detected, the creation/sending of that (partial or whole) frame could be skipped?
by what I was observing, the corruption may be a fully blank image for the specific window (or pseudo/non managed window), or a partially blank (fully transparent region of the) image for each application/plugin/panel.
Such workaround could be optional, and we could even add specific applications to not be checked for corruption, so if it messes something, the end user could still deal with it pointly.
I think it wont interfere on playing games framerate also, but if it ever do, we could just add such game application as an exception to be ignored for corruption, and/or to create/send all frames whenever such application is running.
Btw, the best framerates for games are only possible while using MetaCity(Gnome) window manager, AFAIK it has no 3D features.
Also, I found that KWin still flikers too (just much less often than compiz), and Mutter flickers everything even not having any transparency, so my guess is again that it is something related to a general 3D problem vs how NoMachine works.
August 28, 2017 at 16:15 #15628fra81ModeratorHi Thor,
what you say about other window managers being affected seems to point to video drivers. Without getting into details on how difficult is the cooperation between applications doing direct rendering, window managers, X.org and video drivers, I can say that this is not the first time we observe this kind of problems, as video drivers are better designed to push images to the video device rather than to pull them back into main memory. NoMachine in the current implementation doesn’t do anything special, as it uses core X.org functions to get screen images. So what appears to be broken here is a very basic functionality, as we can see with the simple xwd utility.
What you suggest is indeed a possibility. One that we evaluated in the past, I have to say. But I think that now we have a much better chance. We are already working at an alternative implementation that doesn’t rely on X.org, but that will work at the level of the grapchics card. This will help in supporting the new Wayland display manager, but it will also benefit X.org-based environments.
You may want to track this Feature Request to know when that will be released:
June 10, 2019 at 14:20 #22617BritgirlKeymasterOne user recently reported that by changing the following setting in the nvidia configuration on the client side (running Linux Mint Tessa), intense flickering disappeared. This would reinforce our findings that this is not a bug in the NoMachine software as already suggested by Fra81.
Open Nvdia X Server settings -> X Screen 0 -> OpenGL Settings, and uncheck “Allow Flipping.”
-
AuthorPosts
This topic was marked as solved, you can't post.