Bug 98013 - DRI3 Games flickering/freezes
Summary: DRI3 Games flickering/freezes
Status: RESOLVED NOTOURBUG
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i965 (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: Ian Romanick
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-10-02 09:25 UTC by samuel.rakitnican
Modified: 2018-07-27 19:23 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
/proc/cpuinfo (1.87 KB, text/plain)
2016-10-02 09:25 UTC, samuel.rakitnican
Details
Xorg.0.log (17.68 KB, text/x-log)
2016-10-02 09:26 UTC, samuel.rakitnican
Details

Description samuel.rakitnican 2016-10-02 09:25:48 UTC
Created attachment 126951 [details]
/proc/cpuinfo

I have issue running some games when DRI3 is enabled through /etc/X11/xorg.conf. Games freezes couple of seconds in and some of them are flickering. Games I've noticed issues so far:

The Beginners Guide - Freeze
The Stanley Parable- Freeze
Q.U.B.E: Director's Cut - Freeze few seconds after main menu appears
AdVenture Capitalist - Flickering and freeze
Viridi - Not starting up always, random freeze when started

The Beginners Guide and The Stanley Parable have an game engine option to disable Multi Core rendering. When disabled, games does not freeze when using DRI3.


I am reporting this bug from Ubuntu 16.04.1 with latest mesa using oibaf's PPA [1]. I've originally noticed this bug on Fedora 24 [2].


[1] https://launchpad.net/~oibaf/+archive/ubuntu/graphics-drivers
[2] https://bugzilla.redhat.com/show_bug.cgi?id=1370788
Comment 1 samuel.rakitnican 2016-10-02 09:26:48 UTC
Created attachment 126952 [details]
Xorg.0.log
Comment 2 samuel.rakitnican 2016-10-02 11:49:06 UTC
Removing libxcb.so.1 [1] from steam-runtime helps to stop freeze for Viridi, but not so much for other games. In fact I've removed all library files that already exists on my system F25 using following command, but games still freezes.

cd ~/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/; for fn in $(find -maxdepth 1 -type l | cut -f2 -d/); do if [ -f /usr/lib64/$fn ]; then mv $fn* ~/debug/steamlib-removed/; fi; done

That resulted in moving following files moved:
$ ls ~/debug/steamlib-removed/
libasound.so.2                     libgudev-1.0.so.0              libvorbisfile.so.3.3.4
libasound.so.2.0.0                 libgudev-1.0.so.0.1.1          libvorbis.so.0
libasyncns.so.0                    libICE.so.6                    libvorbis.so.0.4.5
libasyncns.so.0.3.1                libICE.so.6.3.0                libX11.so.6
libatk-1.0.so.0                    libidn.so.11                   libX11.so.6.3.0
libatk-1.0.so.0.20409.1            libidn.so.11.6.6               libX11-xcb.so.1
libavahi-client.so.3               libjacknet.so.0                libX11-xcb.so.1.0.0
libavahi-client.so.3.2.9           libjacknet.so.0.1.0            libXau.so.6
libavahi-common.so.3               libjack.so.0                   libXau.so.6.0.0
libavahi-common.so.3.5.3           libjack.so.0.1.0               libxcb-composite.so.0
libcairo.so.2                      libjpeg.so.62                  libxcb-composite.so.0.0.0
libcairo.so.2.11000.2              libjpeg.so.62.0.0              libxcb-damage.so.0
libcanberra-gtk.so.0               libk5crypto.so.3               libxcb-damage.so.0.0.0
libcanberra-gtk.so.0.1.8           libk5crypto.so.3.1             libxcb-dpms.so.0
libcanberra.so.0                   libkrb5.so.3                   libxcb-dpms.so.0.0.0
libcanberra.so.0.2.5               libkrb5.so.3.3                 libxcb-dri2.so.0
libcurl.so.4                       libkrb5support.so.0            libxcb-dri2.so.0.0.0
libcurl.so.4.2.0                   libkrb5support.so.0.1          libxcb-dri3.so.0
libdbus-glib-1.so.2                liblber-2.4.so.2               libxcb-dri3.so.0.0.0
libdbus-glib-1.so.2.2.2            liblber-2.4.so.2.8.1           libxcb-glx.so.0
libexif.so.12                      liblcms2.so.2                  libxcb-glx.so.0.0.0
libexif.so.12.3.2                  liblcms2.so.2.0.2              libxcb-present.so.0
libffi.so.6                        libldap-2.4.so.2               libxcb-present.so.0.0.0
libffi.so.6.0.0                    libldap_r-2.4.so.2             libxcb-randr.so.0
libFLAC.so.8                       libldap_r-2.4.so.2.8.1         libxcb-randr.so.0.1.0
libFLAC.so.8.2.0                   libltdl.so.7                   libxcb-record.so.0
libfontconfig.so.1                 libltdl.so.7.3.0               libxcb-record.so.0.0.0
libfontconfig.so.1.4.4             libnotify.so.4                 libxcb-render.so.0
libfreetype.so.6                   libnotify.so.4.0.0             libxcb-render.so.0.0.0
libfreetype.so.6.8.0               libogg.so.0                    libxcb-res.so.0
libgconf-2.so.4                    libogg.so.0.7.1                libxcb-res.so.0.0.0
libgconf-2.so.4.1.5                libopenal.so.1                 libxcb-screensaver.so.0
libgdk_pixbuf-2.0.so.0             libopenal.so.1.13.0            libxcb-screensaver.so.0.0.0
libgdk_pixbuf-2.0.so.0.2600.1      liborc-0.4.so.0                libxcb-shape.so.0
libgdk-x11-2.0.so.0                liborc-0.4.so.0.16.0           libxcb-shape.so.0.0.0
libgdk-x11-2.0.so.0.2400.10        liborc-test-0.4.so.0           libxcb-shm.so.0
libgio-2.0.so.0                    liborc-test-0.4.so.0.16.0      libxcb-shm.so.0.0.0
libgio-2.0.so.0.3200.3             libp11-kit.so.0                libxcb.so.1
libGLU.so.1                        libp11-kit.so.0.0.0            libxcb.so.1.1.0
libGLU.so.1.3.08004                libpango-1.0.so.0              libxcb-sync.so.1
libglut.so.3                       libpango-1.0.so.0.3000.0       libxcb-sync.so.1.0.0
libglut.so.3.9.0                   libpangocairo-1.0.so.0         libxcb-xf86dri.so.0
libgmodule-2.0.so.0                libpangocairo-1.0.so.0.3000.0  libxcb-xf86dri.so.0.0.0
libgmodule-2.0.so.0.3200.3         libpangoft2-1.0.so.0           libxcb-xfixes.so.0
libgmp.so.10                       libpangoft2-1.0.so.0.3000.0    libxcb-xfixes.so.0.0.0
libgmp.so.10.0.2                   libpangoxft-1.0.so.0           libxcb-xinerama.so.0
libgobject-2.0.so.0                libpangoxft-1.0.so.0.3000.0    libxcb-xinerama.so.0.0.0
libgobject-2.0.so.0.3200.3         libpixman-1.so.0               libxcb-xkb.so.1
libgomp.so.1                       libpixman-1.so.0.30.2          libxcb-xkb.so.1.0.0
libgomp.so.1.0.0                   libpulse-simple.so.0           libxcb-xtest.so.0
libgssapi_krb5.so.2                libpulse-simple.so.0.0.3       libxcb-xtest.so.0.0.0
libgssapi_krb5.so.2.2              libpulse.so.0                  libxcb-xvmc.so.0
libgstapp-0.10.so.0                libpulse.so.0.13.5             libxcb-xvmc.so.0.0.0
libgstapp-0.10.so.0.25.0           libsamplerate.so.0             libxcb-xv.so.0
libgstaudio-0.10.so.0              libsamplerate.so.0.1.8         libxcb-xv.so.0.0.0
libgstaudio-0.10.so.0.25.0         libSDL-1.2.so.0                libXcomposite.so.1
libgstbase-0.10.so.0               libSDL-1.2.so.0.11.4           libXcomposite.so.1.0.0
libgstbase-0.10.so.0.30.0          libSDL2-2.0.so.0               libXcursor.so.1
libgstcdda-0.10.so.0               libSDL2-2.0.so.0.4.0           libXcursor.so.1.0.2
libgstcdda-0.10.so.0.25.0          libSDL_image-1.2.so.0          libXdamage.so.1
libgstcontroller-0.10.so.0         libSDL_image-1.2.so.0.8.2      libXdamage.so.1.1.0
libgstcontroller-0.10.so.0.30.0    libSM.so.6                     libXdmcp.so.6
libgstdataprotocol-0.10.so.0       libSM.so.6.0.1                 libXdmcp.so.6.0.0
libgstdataprotocol-0.10.so.0.30.0  libsndfile.so.1                libXext.so.6
libgstfft-0.10.so.0                libsndfile.so.1.0.25           libXext.so.6.4.0
libgstfft-0.10.so.0.25.0           libspeexdsp.so.1               libXfixes.so.3
libgstinterfaces-0.10.so.0         libspeexdsp.so.1.5.0           libXfixes.so.3.1.0
libgstinterfaces-0.10.so.0.25.0    libspeex.so.1                  libXft.so.2
libgstnet-0.10.so.0                libspeex.so.1.5.0              libXft.so.2.2.0
libgstnet-0.10.so.0.30.0           libsqlite3.so.0                libXinerama.so.1
libgstnetbuffer-0.10.so.0          libsqlite3.so.0.8.6            libXinerama.so.1.0.0
libgstnetbuffer-0.10.so.0.25.0     libstdc++.so.6                 libXi.so.6
libgstpbutils-0.10.so.0            libstdc++.so.6.0.21            libXi.so.6.1.0
libgstpbutils-0.10.so.0.25.0       libtdb.so.1                    libxml2.so.2
libgstreamer-0.10.so.0             libtdb.so.1.2.9                libxml2.so.2.7.8
libgstreamer-0.10.so.0.30.0        libtheoradec.so.1              libXmu.so.6
libgstriff-0.10.so.0               libtheoradec.so.1.1.4          libXmu.so.6.2.0
libgstriff-0.10.so.0.25.0          libtheoraenc.so.1              libXpm.so.4
libgstrtp-0.10.so.0                libtheoraenc.so.1.1.2          libXpm.so.4.11.0
libgstrtp-0.10.so.0.25.0           libtheora.so.0                 libXrandr.so.2
libgstrtsp-0.10.so.0               libtheora.so.0.3.10            libXrandr.so.2.2.0
libgstrtsp-0.10.so.0.25.0          libva-glx.so.1                 libXrender.so.1
libgstsdp-0.10.so.0                libva-glx.so.1.3501.0          libXrender.so.1.3.0
libgstsdp-0.10.so.0.25.0           libva.so.1                     libXss.so.1
libgsttag-0.10.so.0                libva.so.1.3501.0              libXss.so.1.0.0
libgsttag-0.10.so.0.25.0           libva-x11.so.1                 libXt.so.6
libgstvideo-0.10.so.0              libva-x11.so.1.3501.0          libXt.so.6.0.0
libgstvideo-0.10.so.0.25.0         libvdpau.so.1                  libXtst.so.6
libgthread-2.0.so.0                libvdpau.so.1.0.0              libXtst.so.6.1.0
libgthread-2.0.so.0.3200.3         libvorbisenc.so.2              libXxf86vm.so.1
libgtk-x11-2.0.so.0                libvorbisenc.so.2.0.8          libXxf86vm.so.1.0.0
libgtk-x11-2.0.so.0.2400.10        libvorbisfile.so.3


[1] https://bugs.freedesktop.org/show_bug.cgi?id=97890#c5
Comment 3 Denis 2018-07-06 15:08:04 UTC
hi. This is quite old issue, but still I tried to reproduce it.
Configuration:
CPU~Quad core Intel Core i5-6440HQ (SKL)
Kernel~4.17.3-041703-generic x86_64

To be sure that I am using DRI3, I launched games with the flag
LIBGL_DEBUG=verbose, so in cmd I saw output:
libGL: Using DRI3 for screen 0

Tested:
The Stanley Parable- Freeze (in-game settings - All max/high)
Results:
on 17.2.8 x32 mesa I got a lot of gpu hangs, game was extremely unplayable.
on 18.2.0 git (latest) I didn't face any hangs, played for about 20 minutes. So I think that issue was fixed.

AdVenture Capitalis
Results:
neither 17.2.8 nor 18.2.0 didn't reproduce any flickering or freezes.

Samuel, could you please confirm that on latest mesa version AND your PC configuration you also don't see any issues?
Comment 4 Denis 2018-07-10 11:18:19 UTC
upd - also tried on the same configuration Viridi - works fine too.
Comment 5 samuel.rakitnican 2018-07-27 08:59:49 UTC
Sorry for the late reply, I have some distro difficulties testing on the new mesa version. Turns out that it seems I don't even have to. It seems this particular issues was all fixed by an updated Steam Client version where they prefer system libraries better[*]. Tested again with mesa 17.0.5, I could not reproduce the issues mentioned.


[*] https://steamcommunity.com/groups/SteamClientBeta/announcements/detail/586991182161672256


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.