Bug 109755 - Mirrors and GPS don't work on Euro Truck Simulator 2
Summary: Mirrors and GPS don't work on Euro Truck Simulator 2
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Gallium/Iris (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Intel 3D Bugs Mailing List
QA Contact: Intel 3D Bugs Mailing List
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-02-24 00:16 UTC by leozinho29_eu
Modified: 2019-03-11 17:14 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
apitrace (208.32 MB, application/x-xz)
2019-02-24 00:16 UTC, leozinho29_eu
Details

Description leozinho29_eu 2019-02-24 00:16:33 UTC
Created attachment 143445 [details]
apitrace

On the game Euro Truck Simulator 2, mirrors and GPS displays do not work, appearing just black. This problem on this game is particularly relevant as, with no awareness of the surroundings because the mirrors do not work, the player can be a hazard to other traffic. Using i965 the mirrors and GPS work properly. The following images show the problem with Iris, and i965 working correctly:

Iris: https://i.imgur.com/rUFlgoI.jpg
i965: https://i.imgur.com/AVUFO56.jpg

The file attached is an apitrace recorded when using Iris.

System specifications:

Processor: Intel Core i3-6100U;
Video: Intel HD Graphics 520;
Architecture: amd64;
RAM memory: 8 GB;
Mesa: 19.1.0-devel (git-ae2cb72804);
Kernel version: 4.18.0-15-lowlatency;
Distribution: Xubuntu 18.04.1 amd64.
Comment 1 Denis 2019-03-07 13:59:12 UTC
Hello.

Something interesting happens here. I can reproduce issue with your apitrace for both drivers - iris and i965. In both cases I see black mirrors and radar.

Also I see them black even using system mesa - (18.2.2 or 18.3.2, don't remember).

But if I run the game (I have demo-version of it from steam) - I see that mirrors are fine. For both drivers - i965 and iris.

I am exporting mesa with "export LIBGL_DRIVERS_PATH=", and running steam game with "steam_dbg.sh %command%" (exports are in steam_dbg.sh script).

Also need to keep in mind, that Kenneth wrote that iris should work on kernels 4.19+. But in current case that's not an issue, I downloaded 4.18.0 - and still, game works fine.

My configuration:

kernels: 4.18.0 and 4.19.11
OS: Xubuntu 18.04
CPU: Intel Core i3-6006U
GPU: HD 520 (Skylake GT2)
Mesa: 19.1.0-devel (git-a4324dcefb)

Could be the difference between "full game" and demo version? Also, what about game settings? My settings were lowest, then I up them to "medium". 

If you run your trace with, lets say, system mesa - do you see the issue?
Comment 2 leozinho29_eu 2019-03-07 15:15:02 UTC
With Mesa 19.1.0-devel (git-ecceb076e5) the game is working normally: I am no longer seeing the black mirrors and GPS issue when using Iris driver. By seeing the /proc/$PID/maps, I can see it loaded the iris_dri.so as intended.

I tested with both kernel 5.0.0-7 from disco-proposed and 4.18.0-16 from linux-hwe.

If I replay the apitrace I recorded with the system Mesa (18.2.2) I still see the black mirrors and GPS. Even if the game is now correct, that apitrace still shows the mirrors and GPS black.
Comment 3 Denis 2019-03-07 15:50:36 UTC
>If I replay the apitrace I recorded with the system Mesa (18.2.2) I still see the black mirrors and GPS. Even if the game is now correct, that apitrace still shows the mirrors and GPS black.
Hm, looks like that's exactly what I had, with apitrace.
But I am not sure, that we should do anything with this because game works fine. What do you think?

>By seeing the /proc/$PID/maps, I can see it loaded the iris_dri.so as intended.
Thanks for this trick. I didn't know it, how to be sure that app uses "expected" driver
Comment 4 leozinho29_eu 2019-03-07 16:49:19 UTC
I think Iris should work at least as correctly as i965, so when there are those differences where something works on i965 but not on Iris, I think it's relevant to report.

At the current rate, the apitrace is accurate only to show what was the state of Iris on Mesa Git ae2cb7280436ab3fe24afef510d30201e54b795c. It is no longer representative of current Mesa Git (git-ecceb076e5).

As the apitrace no longer represents the current situation, I interpret that this bug is fixed. From what I tested, Euro Truck Simulator 2 works correctly with Iris.
Comment 5 Denis 2019-03-11 09:29:08 UTC
hm, then that's a bit not clear for me. 
With latest mesa git (let it be (git-ecceb076e5)) you can't reproduce the issue even with apitrace? That's correct? Because when I tested it, apitrace was bad (with issue) in both mesa versions - from git and "system" BUT - inside the game I didn't see the issue. 
I will re-check this one more time, thank you.
Comment 6 leozinho29_eu 2019-03-11 11:43:09 UTC
The apitrace is still bad to me, be with Mesa git using iris, Mesa git using i965 or Mesa 18.2.2 from system (i965). The apitrace is always bad.

The game is good with current Mesa git using iris.
Comment 7 Denis 2019-03-11 12:02:08 UTC
aha. Great. I have the same results. Just re-checked on 

ubuntu@ubuntu-skylake:~/repository/mesa$ git log
commit f9a6460bbff16abf337e1267c534da96035e7ac6 (HEAD -> master, origin/master, origin/HEAD)
Author: Eric Engestrom <eric.engestrom@intel.com>
Date:   Sun Nov 25 15:15:09 2018 +0000

    wsi/x11: use WSI_FROM_HANDLE() instead of pointer casts
    
    Signed-off-by: Eric Engestrom <eric.engestrom@intel.com>
    Reviewed-by: Tapani Pälli <tapani.palli@intel.com>


Then current issue can be closed as fixed somewhere before. Agree?
Comment 8 leozinho29_eu 2019-03-11 17:02:38 UTC
I did a bisect, and the commit that fixed the problem is:

b45186a6cd0ed7539e427d4443671faef9f95058 is the first new commit
commit b45186a6cd0ed7539e427d4443671faef9f95058
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Thu Feb 21 23:37:58 2019 -0800

    iris: Properly allow rendering to RGBX formats.
    
    I was converting them at pipe_surface creation time, but not when
    answering queries about whether formats support rendering.  This caused
    a lot of FBO incomplete errors for formats that ought to be supported.
    
    Fixes "Child of Light", which uses PIPE_FORMAT_R8G8B8X8_UNORM_SRGB.
    
    Also fixes Witcher 1 using wined3d (GL) according to Timur Kristóf.
    
    Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109738

:040000 040000 466dd455e48fb4d6f451b66e5193d7e44bbb9b4a 39e6659ed9bd647fde02eb371db8bb1ce7c42187 M	src

Funnily, the Child of Light bug was a bug I reported before this one.

This bug can be closed as fixed.


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.