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

Graphics: flickering artifacts #17528

Closed
joha2 opened this issue Dec 30, 2019 · 12 comments · Fixed by #17603
Closed

Graphics: flickering artifacts #17528

joha2 opened this issue Dec 30, 2019 · 12 comments · Fixed by #17603
Labels
Bug

Comments

@joha2
Copy link

@joha2 joha2 commented Dec 30, 2019

First of all: Nice games! Keep up the good work!

Unfortunately, I have some graphics problems, which render openra and mods unplayable on my AMD machine with amdgpu driver.

Issue Summary

Flickering graphics artifacts like mentioned in

https://bugs.freedesktop.org/show_bug.cgi?id=107428

Although, it seems to be, status is fixed there. See attachments there too, to get an impression. There are several links to commits, which might be responsible. Further, there is some hint on a type cast error, which is maybe already fixed. So this should not be an issue anymore. (The discussion is from September, 2018.)

I've only managed to get a screenshot from the whole game window:
20191230_openra_bug_small

The gif gives only an impression of small area in this window:
20191230_openra_bug

System Information

  • Operating System: GNU/Linux Mint 18.3
  • .NET / Mono Version: release 20191117 Appimage
  • OpenRA Version: release 20191117 Appimage
  • Mod: Red Alert, Tiberian Dawn, Dune2000

Output from the game:

Platform is Linux
Engine version is release-20191117
Using SDL 2 with OpenGL renderer
Desktop resolution: 1920x1080
Using resolution: 1024x768
Using window scale 1.00
OpenGL version: 3.0 Mesa 18.0.5
Using default sound device
Internal mods:
	modcontent: Mod Content Manager (release-20191117)
	ra: Red Alert (release-20191117)
External mods:
	cnc-release-20191117: Tiberian Dawn (release-20191117)
	d2k-release-20191117: Dune 2000 (release-20191117)
	ra-release-20191117: Red Alert (release-20191117)
Loading mod: ra

lspci VGA controller:

08:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Raven Ridge [Radeon Vega Series / Radeon Vega Mobile Series] (rev c8)

glxinfo -B:

name of display: :0.0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: X.Org (0x1002)
    Device: AMD RAVEN (DRM 3.33.0 / 5.3.8-050308-generic, LLVM 6.0.0) (0x15dd)
    Version: 18.0.5
    Accelerated: yes
    Video memory: 991MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.1
OpenGL vendor string: X.Org
OpenGL renderer string: AMD RAVEN (DRM 3.33.0 / 5.3.8-050308-generic, LLVM 6.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.0.5
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 3.0 Mesa 18.0.5
OpenGL shading language version string: 1.30
OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.1 Mesa 18.0.5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10

Additional Information:

  • Steps to reproduce

    1. just start the game
  • Logs
    n/a

  • OpenRA Replays
    n/a

  • Screenshots & Videos
    see above

Hope this helps in solving this issue.

Best wishes
Johannes

@pchote

This comment has been minimized.

Copy link
Member

@pchote pchote commented Dec 30, 2019

Can you please try the test build from https://github.com/pchote/OpenRA/releases/tag/release-20191117-rendertest2 and report back if it changes anything?

@abcdefg30 abcdefg30 added the Bug label Dec 30, 2019
@joha2

This comment has been minimized.

Copy link
Author

@joha2 joha2 commented Dec 31, 2019

@pchote thanks for your very fast response! The rendertest2 app images show the following behaviour:

  • Red Alert: crashed before reaching the main menu (had to be terminated by kill)
  • Dune 2000: crashed before reaching the main menu (had to be terminated by kill)
  • Tiberian Dawn: all fine (no graphics errors observable after a short testing)
@pchote

This comment has been minimized.

Copy link
Member

@pchote pchote commented Dec 31, 2019

Ok, that's a good sign. Can you please share the graphics.log file that is written out to either ~/.openra/Logs/ or ~/.config/openra/Logs/ when RA or D2k crashes?

@joha2

This comment has been minimized.

Copy link
Author

@joha2 joha2 commented Dec 31, 2019

Dear @pchote both games lead to an empty graphics.log file. Crashed means: Both games lock up during loading, but music plays. The graphics.log file stays empty. Is there a setting, where I can force some output to graphics.log?

@joha2

This comment has been minimized.

Copy link
Author

@joha2 joha2 commented Jan 2, 2020

@pchote Happy new year! I played around a bit with the rendertest2 app images and realized that none of them generates a graphics.log file. All files (except install.log and traitreport.log) are touched when calling the app images, but the files stay empty:

joha2@akila ~/.c/o/Logs> pwd; ls -l
/home/joha2/.config/openra/Logs
total 28
-rw-rw-r-- 1 joha2 joha2 7081 Jan  2 18:54 debug.log
-rw-rw-r-- 1 joha2 joha2    0 Jan  2 18:53 geoip.log
-rw-rw-r-- 1 joha2 joha2    0 Jan  2 18:53 graphics.log
-rw-rw-r-- 1 joha2 joha2  806 Dec 27 12:25 install.log
-rw-rw-r-- 1 joha2 joha2    0 Jan  2 18:43 lua.log
-rw-rw-r-- 1 joha2 joha2    0 Jan  2 18:53 nat.log
-rw-rw-r-- 1 joha2 joha2 6392 Jan  2 18:54 perf.log
-rw-rw-r-- 1 joha2 joha2    0 Jan  2 18:53 server.log
-rw-rw-r-- 1 joha2 joha2    0 Jan  2 18:53 sound.log
-rw-rw-r-- 1 joha2 joha2 4242 Jan  1 20:09 traitreport.log

Do you have an idea, what to do next?

@pchote

This comment has been minimized.

Copy link
Member

@pchote pchote commented Jan 2, 2020

I'm fairly confident that the bugs are in your graphics card drivers, and that there isn't going to be much we can do within OpenRA to fix them.

The rendertest2 build changes the rendering APIs we use from OpenGL 2 to OpenGL 3, which I was hoping would bypass whatever problem is going on within your system - and the fact that TD now runs without error suggests that is partly the case. Unfortunately it seems that RA and D2k hit an even worse case, crashing outright instead of showing glitches.

The rendertest builds are still a work in progress, and possibly still buggy. I'll comment here when a newer test build is available, and we'll see whether the crashes go away.

@joha2

This comment has been minimized.

Copy link
Author

@joha2 joha2 commented Jan 2, 2020

@pchote thanks for your fast and thorough response! Yeah the graphics drivers are for sure buggy, since the amdgpu driver has the problem of also crashing from time to time with a page fault error locking up the whole os. This problem was mitigated in the 5.3.8 kernel I use atm in such a way that there happens a soft recover which prevents system from crashing. Also this soft recover failes sometimes.

Yes, please ping me, if there is a new rendertest app image to test. I would be happy to assist you here.

Best wishes
Johannes

@pchote

This comment has been minimized.

@joha2

This comment has been minimized.

Copy link
Author

@joha2 joha2 commented Jan 13, 2020

Hey @pchote, thanks for the link to the new version. Unfortunately, the behavior of the games did not change:

  • Dune-2000 gets until Fueling Carry Alls and locks up (no music)
  • Red-Alter gets until Splitting Atoms and locks up (with music)
  • Tiberian-Dawn runs normally (no graphics errors, with music and sounds)

graphics.log again is empty.

Hope this helps!

Best wishes
Johannes

@pchote

This comment has been minimized.

Copy link
Member

@pchote pchote commented Jan 23, 2020

Can you try downloading https://github.com/pchote/OpenRA/releases/tag/release-20191117-rendertest4 and launching it from the commandline as ./OpenRA-Red-Alert-x86_64.AppImage Graphics.DisableGLDebugMessageCallback=true? (only needs to be done once, the game will remember the new setting)

@joha2

This comment has been minimized.

Copy link
Author

@joha2 joha2 commented Jan 24, 2020

Hey @pchote thanks for providing rendertest4. I started all three games and they all just work, no crashes or flickering artefacts. I don't know whether this is due to a new version or due to the command line parameter, you provided, but it is awesome 😄 Anyway, the graphics.log is still empty. If I can test more on this, just ping me. Big thanks!

@pchote

This comment has been minimized.

Copy link
Member

@pchote pchote commented Jan 24, 2020

Great news! I'll mark #17603 to close this when it is merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.