Bug 6347 - Web Access graphical glitches in Chrome on Android
Summary: Web Access graphical glitches in Chrome on Android
Alias: None
Product: ThinLinc
Classification: Unclassified
Component: Web Access (show other bugs)
Version: trunk
Hardware: PC Unknown
: P2 Normal
Target Milestone: 4.9.0
Assignee: Samuel Mannehed
Keywords: prosaic, samuel_tester, upstream
Depends on:
Reported: 2017-04-18 16:25 CEST by Samuel Mannehed
Modified: 2017-10-23 14:03 CEST (History)
1 user (show)

See Also:
Acceptance Criteria:

Screenshot of some graphical glitches produced by clicking in the session (345.89 KB, image/png)
2017-04-18 16:25 CEST, Samuel Mannehed
More examples of glitches (833.05 KB, image/png)
2017-04-18 16:25 CEST, Samuel Mannehed
Additional examples (551.28 KB, image/png)
2017-04-18 16:26 CEST, Samuel Mannehed

Description Samuel Mannehed cendio 2017-04-18 16:25:11 CEST
Created attachment 793 [details]
Screenshot of some graphical glitches produced by clicking in the session

Newer versions of Google Chrome on Android seems to either have a bug in canvas drawing methods or it exposes a bug in Web Access' graphics code. We get dark and ugly areas on and around updated sections of the screen. Very easily reproduced by clicking in the session.

Found using Chrome v57 on Google's Pixel C tablet (Android 7.1.2). Can also reproduce on a Galaxy S6 phone (Android 6.0.1) using the same version of Chrome.

Can reproduce with both 4.8.0 (build 5414) and 4.7.0 (eudemo).
Comment 1 Samuel Mannehed cendio 2017-04-18 16:25:47 CEST
Created attachment 794 [details]
More examples of glitches
Comment 2 Samuel Mannehed cendio 2017-04-18 16:26:11 CEST
Created attachment 795 [details]
Additional examples
Comment 3 Pierre Ossman cendio 2017-04-21 13:37:31 CEST
This has something to do with Chrome applying sRGB color conversion on some operations. Doing a gamma "correction" of 1/2.2 on the data before feeding it to Chrome makes the problem go away.

However I cannot reproduce the issue with simple test cases, so it's not clear what is triggering it.
Comment 4 Pierre Ossman cendio 2017-04-21 14:07:25 CEST
I found the trigger. Apparently small canvases are unaffected. Perhaps there's a point where it gets offloaded to the GPU, and that's where things go wrong.
Comment 5 Pierre Ossman cendio 2017-04-24 10:39:23 CEST
This commit seems like a likely candidate for when things got screwed up:

Comment 6 Pierre Ossman cendio 2017-04-24 10:49:04 CEST
Reported upstream:

Comment 7 Pierre Ossman cendio 2017-04-25 13:10:29 CEST
We will mention this on social media and get a platform specific note up about this. After that we'll wait a short while and see what upstream does.
Comment 8 Pierre Ossman cendio 2017-08-28 15:04:04 CEST
Seems to be fixed upstream now. Chrome 60 no longer shows the bug. Tested on Pixel C.
Comment 9 Samuel Mannehed cendio 2017-10-23 14:03:18 CEST
It is indeed fixed in later versions of Google Chrome.
Comment 10 Samuel Mannehed cendio 2017-10-23 14:03:51 CEST
Tested on Samsung S8 with Chrome 60 and 61.

Note You need to log in before you can comment on or make changes to this bug.