Bug 98263 - [radv] The Talos Principle fails to launch with "Fatal error: Cannot set display mode."
Summary: [radv] The Talos Principle fails to launch with "Fatal error: Cannot set disp...
Status: RESOLVED INVALID
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/Vulkan/radeon (show other bugs)
Version: git
Hardware: x86-64 (AMD64) Linux (All)
: medium normal
Assignee: mesa-dev
QA Contact: mesa-dev
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 77449
  Show dependency treegraph
 
Reported: 2016-10-14 16:49 UTC by Kai
Modified: 2017-02-08 01:02 UTC (History)
2 users (show)

See Also:
i915 platform:
i915 features:


Attachments
Error log of "The Talos Principle" when launched with Vulkan (4.21 KB, text/plain)
2016-10-14 16:49 UTC, Kai
Details
output of vulkaninfo (163.58 KB, text/plain)
2016-10-14 16:50 UTC, Kai
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kai 2016-10-14 16:49:42 UTC
Created attachment 127305 [details]
Error log of "The Talos Principle" when launched with Vulkan

I wanted to test The Talos Principle with my Hawaii GPU (for the full stack see below). But whenever I launch the game I get the error "Fatal error: Cannot set display mode." and the attached info is logged to the console.

To launch the game with Vulkan I opted into the Beta (as recommended by CroTeam) and set »+gfx_strAPI "VLK"« as a command line option (Steam Library → The Talos Principle → Properties → Set Launch Options → »%command% +gfx_strAPI "VLK"«), like it was recommended for Linux users by CroTeam in multiple threads, see eg. <https://steamcommunity.com/app/257510/discussions/0/412448792370543845/>. Afterwards I tried to launch the 64-bit version of The Talos Principle.
In case this makes a difference: I've the Road to Gehenna DLC installed.

With OpenGL the game works as expected.

When I run vulkaninfo (from the Debian package vulkan-utils) everything looks ok/like Vulkan is working.


The stack showing this issue is (Debian testing as a base):
GPU: Hawaii PRO [Radeon R9 290] (ChipID = 0x67b1)
Mesa: Git:master/7dddf0b7ab
libdrm: 2.4.71-1
LLVM: SVN:trunk/r284109 (4.0 devel)
X.Org: 2:1.18.4-2
Linux: 4.8.1
Firmware (firmware-amd-graphics): 20160824-1
libclc: Git:master/520743b0b7
DDX (xserver-xorg-video-amdgpu): 1.1.2-1

Let me know, if you need anything else.
Comment 1 Kai 2016-10-14 16:50:24 UTC
Created attachment 127306 [details]
output of vulkaninfo
Comment 2 Kai 2016-10-27 15:12:50 UTC
Dave Airlie pointed out to me on IRC, that I need DRI3 and this looks like missing DRI3 support. He was right. amdgpu defaults to DRI2 and I hadn't set the "DRI" option to "3". With that set, Talos start, though it seems to hang my system, but that is a different bug and I need to check if that still occurs with current HEAD of Mesa.
Comment 3 Emil Velikov 2016-10-27 15:37:11 UTC
Hi Kai, feel free to send a patch which makes the "vulkan: No DRI3 support" message less likely to miss ;-)
Comment 4 Kai 2016-10-27 15:44:58 UTC
The problem was not so much me not seeing that message, the problem was more that I didn't connect "no DRI3 support" equals "this game won't start and segfault. Combine that with the warning "WARNING: radv is not a conformant vulkan implementation, testing use only." right above that message and I really didn't think too much of it. Not sure if a patch could fix that. ;-)
Comment 5 Emil Velikov 2017-01-18 18:02:08 UTC
(In reply to Kai from comment #4)
> The problem was not so much me not seeing that message, the problem was more
> that I didn't connect "no DRI3 support" equals "this game won't start and
> segfault. Combine that with the warning "WARNING: radv is not a conformant
> vulkan implementation, testing use only." right above that message and I
> really didn't think too much of it. Not sure if a patch could fix that. ;-)

If the crash is in Mesa just track it down and add the appropriate "smoketest" handling ? Alternatively one should contact the Talo developers to fix their app ?

Either way expanding "no DRI3 support" so something like the below might be a good idea ?

No DRI3 support - ensure that your system is correctly setup.
Note: buggy applications can crash at this point - report those to the vendor.
Comment 6 Andres Rodriguez 2017-01-18 23:10:42 UTC
small patch on mesa-dev with Emil's suggestion.
Comment 7 Rene Lindsay 2017-02-03 21:53:15 UTC
I'm not sure expanding this message is a good idea, in fact, I'm looking for a way to turn it off:

When I enumerate physical devices on Ubuntu 16.04, Vulkan shows I have 2 GPU's available: Intel HD, and NVidia GTX.  (Sometimes the order is reversed.)

Now I'm trying to determine which one the desktop is currently running on, by calling vkGetPhysicalDeviceSurfaceSupportKHR on each GPU's queue-families.

If the desktop is running on Intel, the query returns true for Intel,
but when running on NVidia, it returns true for Nvidia and false for Intel, but also prints:

"no DRI3 support"

I DO have DRI3 enabled for Intel, but this setting is irrelevant and ignored when running on NVidia, so the error message is not really applicable.

Is there some way to turn off this error message, or a better way to determine the currently active GPU, without triggering this error?
Comment 8 Rene Lindsay 2017-02-07 21:41:20 UTC
The "No DRI3 support" is only relevant when the desktop is running on Intel, but also gets displayed whenever NVidia is used, regardless of whether DRI3 was enabled or not.  Maybe this message should be muted if more than one GPU is detected?

As for the "buggy applications can crash" part, it implies that MY Vulkan app is buggy, which is completely unacceptable!!

This has already lead to people incorrectly filing bugs against other Vulkan app developers.  ( see: https://github.com/SaschaWillems/Vulkan/issues/226 )
Comment 9 Michel Dänzer 2017-02-08 01:02:54 UTC
(In reply to Rene Lindsay from comment #8)
> The "No DRI3 support" is only relevant when the desktop is running on Intel, [...]

That's actually not true, even ignoring that DRI3 works fine with open source drivers on non-Intel GPUs. The nvidia Xorg driver could support DRI3 (and the Present extension), and then the Vulkan drivers for non-nVidia GPUs could at least theoretically work with it.

Anyway, this report is about the Talos principle failing to start with the radv driver because DRI3 is disabled, which is a configuration error, so resolving as invalid again. Rene, please file your own report (or just post to the mesa-dev mailing list) about the error messages.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct.