Summary: | Latest Feral games Rise of Tomb Rider and F1 2017 which use Vulcan API not work under Xwayland but work under Xorg. | ||
---|---|---|---|
Product: | Wayland | Reporter: | mikhail.v.gavrilov |
Component: | XWayland | Assignee: | Wayland bug list <wayland-bugs> |
Status: | RESOLVED DUPLICATE | QA Contact: | Xorg Project Team <xorg-team> |
Severity: | normal | ||
Priority: | medium | ||
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
rise of tomb rider strace
rise of tomb rider file descriptors rise of tomb rider backtrace yet another rise of tomb rider backtrace |
Description
mikhail.v.gavrilov
2018-07-14 21:24:26 UTC
What does "does not work" mean exactly? What are the symptoms? (In reply to Michel Dänzer from comment #1) > What does "does not work" mean exactly? What are the symptoms? It means both games stuck at initial splash screen when I launched it under Wayland session. Demonstration: https://youtu.be/BPDYm_ifq8g My short investigation: strace show follow log: 01:33:13.405474 select(44, [43], NULL, NULL, {tv_sec=0, tv_usec=0}) = 0 (Timeout) 01:33:13.405594 futex(0x7fdafc000e40, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1531773193, tv_nsec=414365053}, 0xffffffff) = -1 ETIMEDOUT (Connection timed out) 01:33:13.414637 select(12, [11], NULL, NULL, {tv_sec=0, tv_usec=0}) = 0 (Timeout) 01:33:13.414952 fcntl(52, F_GETFL) = 0x8800 (flags O_RDONLY|O_NONBLOCK|O_LARGEFILE) 01:33:13.415161 readv(52, [{iov_base="\t\1M[\0\0\0\0HL\6\0\0\0\0\0\3\0\3\0\210\0\0\0\t\1M[\0\0\0\0"..., iov_len=768}], 1) = 72 01:33:13.415368 fcntl(52, F_GETFL) = 0x8800 (flags O_RDONLY|O_NONBLOCK|O_LARGEFILE) 01:33:13.415451 readv(52, [{iov_base=0x7ffeda649f50, iov_len=768}], 1) = -1 EAGAIN (Resource temporarily unavailable) 01:33:13.415532 select(44, [43], NULL, NULL, {tv_sec=0, tv_usec=0}) = 0 (Timeout) 01:33:13.415636 futex(0x7fdafc000e40, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1531773193, tv_nsec=424591064}, 0xffffffff) = -1 ETIMEDOUT (Connection timed out) 01:33:13.424950 select(12, [11], NULL, NULL, {tv_sec=0, tv_usec=0}) = 0 (Timeout) 01:33:13.425241 fcntl(52, F_GETFL) = 0x8800 (flags O_RDONLY|O_NONBLOCK|O_LARGEFILE) 01:33:13.425469 readv(52, [{iov_base="\t\1M[\0\0\0\0\303[\6\0\0\0\0\0\3\0\3\0\207\0\0\0\t\1M[\0\0\0\0"..., iov_len=768}], 1) = 72 01:33:13.425644 fcntl(52, F_GETFL) = 0x8800 (flags O_RDONLY|O_NONBLOCK|O_LARGEFILE) 01:33:13.425724 readv(52, [{iov_base=0x7ffeda649f50, iov_len=768}], 1) = -1 EAGAIN (Resource temporarily unavailable) 01:33:13.425806 select(44, [43], NULL, NULL, {tv_sec=0, tv_usec=0}) = 0 (Timeout) 01:33:13.425894 futex(0x7fdafc000e40, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1531773193, tv_nsec=434900045}, 0xffffffff) = -1 ETIMEDOUT (Connection timed out) 01:33:13.435054 select(12, [11], NULL, NULL, {tv_sec=0, tv_usec=0}) = 0 (Timeout) 01:33:13.435184 fcntl(52, F_GETFL) = 0x8800 (flags O_RDONLY|O_NONBLOCK|O_LARGEFILE) 01:33:13.435308 readv(52, [{iov_base="\t\1M[\0\0\0\0007\232\6\0\0\0\0\0\3\0\0\0}\0\0\0\t\1M[\0\0\0\0"..., iov_len=768}], 1) = 72 01:33:13.435466 fcntl(52, F_GETFL) = 0x8800 (flags O_RDONLY|O_NONBLOCK|O_LARGEFILE) 01:33:13.435579 readv(52, [{iov_base=0x7ffeda649f50, iov_len=768}], 1) = -1 EAGAIN (Resource temporarily unavailable) 01:33:13.435691 select(44, [43], NULL, NULL, {tv_sec=0, tv_usec=0}) = 0 (Timeout) 01:33:13.435784 futex(0x7fdafc000e40, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1531773193, tv_nsec=445029973}, 0xffffffff) = 0 01:33:13.443004 futex(0x7fdafc000e40, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1531773193, tv_nsec=445029973}, 0xffffffff) = -1 ETIMEDOUT (Connection timed out) 01:33:13.445267 select(12, [11], NULL, NULL, {tv_sec=0, tv_usec=0}) = 0 (Timeout) 01:33:13.445492 fcntl(52, F_GETFL) = 0x8800 (flags O_RDONLY|O_NONBLOCK|O_LARGEFILE) 01:33:13.445690 readv(52, [{iov_base="\t\1M[\0\0\0\0\352\251\6\0\0\0\0\0\3\0\0\0~\0\0\0\t\1M[\0\0\0\0"..., iov_len=768}], 1) = 120 01:33:13.445880 fcntl(52, F_GETFL) = 0x8800 (flags O_RDONLY|O_NONBLOCK|O_LARGEFILE) 01:33:13.445997 readv(52, [{iov_base=0x7ffeda649f50, iov_len=768}], 1) = -1 EAGAIN (Resource temporarily unavailable) 01:33:13.446118 select(44, [43], NULL, NULL, {tv_sec=0, tv_usec=0}) = 0 (Timeout) 01:33:13.446228 futex(0x7fdafc000e40, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1531773193, tv_nsec=455219984}, 0xffffffff) = -1 ETIMEDOUT (Connection timed out) 01:33:13.455491 select(12, [11], NULL, NULL, {tv_sec=0, tv_usec=0}) = 0 (Timeout) 01:33:13.455767 fcntl(52, F_GETFL) = 0x8800 (flags O_RDONLY|O_NONBLOCK|O_LARGEFILE) 01:33:13.455941 readv(52, [{iov_base="\t\1M[\0\0\0\0\303\330\6\0\0\0\0\0\3\0\0\0}\0\0\0\t\1M[\0\0\0\0"..., iov_len=768}], 1) = 120 01:33:13.456093 fcntl(52, F_GETFL) = 0x8800 (flags O_RDONLY|O_NONBLOCK|O_LARGEFILE) 01:33:13.456184 readv(52, [{iov_base=0x7ffeda649f50, iov_len=768}], 1) = -1 EAGAIN (Resource temporarily unavailable) 01:33:13.456288 select(44, [43], NULL, NULL, {tv_sec=0, tv_usec=0}) = 0 (Timeout) 01:33:13.456399 futex(0x7fdafc000e40, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1531773193, tv_nsec=465440034}, 0xffffffff) = -1 ETIMEDOUT (Connection timed out) 01:33:13.465646 select(12, [11], NULL, NULL, {tv_sec=0, tv_usec=0}) = 0 (Timeout) 01:33:13.465884 fcntl(52, F_GETFL) = 0x8800 (flags O_RDONLY|O_NONBLOCK|O_LARGEFILE) 01:33:13.465980 readv(52, [{iov_base="\t\1M[\0\0\0\0\26\370\6\0\0\0\0\0\3\0\3\0\207\0\0\0\t\1M[\0\0\0\0"..., iov_len=768}], 1) = 216 01:33:13.466150 fcntl(52, F_GETFL) = 0x8800 (flags O_RDONLY|O_NONBLOCK|O_LARGEFILE) 01:33:13.466236 readv(52, [{iov_base=0x7ffeda649f50, iov_len=768}], 1) = -1 EAGAIN (Resource temporarily unavailable) 01:33:13.466312 select(44, [43], NULL, NULL, {tv_sec=0, tv_usec=0}) = 0 (Timeout) 01:33:13.466417 futex(0x7fdafc000e40, FUTEX_WAIT_BITSET_PRIVATE|FUTEX_CLOCK_REALTIME, 0, {tv_sec=1531773193, tv_nsec=475615024}, 0xffffffffstrace: Process 3174 detached ^C <detached ...> I was interested in fact that the file descriptor 52 is EAGAIN (Resource temporarily unavailable) ok, I looked who is fd 52 $ ls -la /proc/3174/fd total 0 lr-x------. 1 mikhail mikhail 64 Jul 17 01:33 5 -> /home/mikhail/.steam/steam.pipe lr-x------. 1 mikhail mikhail 64 Jul 17 01:33 50 -> '/home/mikhail/.local/share/Steam/steamapps/common/Rise of the Tomb Raider/bin/icudtl.dat' lr-x------. 1 mikhail mikhail 64 Jul 17 01:33 51 -> '/home/mikhail/.local/share/Steam/steamapps/common/Rise of the Tomb Raider/bin/natives_blob.bin' lr-x------. 1 mikhail mikhail 64 Jul 17 01:33 52 -> /dev/input/event4 lr-x------. 1 mikhail mikhail 64 Jul 17 01:33 53 -> '/home/mikhail/.local/share/Steam/steamapps/common/Rise of the Tomb Raider/bin/snapshot_blob.bin' lr-x------. 1 mikhail mikhail 64 Jul 17 01:33 54 -> '/home/mikhail/.local/share/Steam/steamapps/common/Rise of the Tomb Raider/share/data/bigfile.000.tiger' lr-x------. 1 mikhail mikhail 64 Jul 17 01:33 55 -> '/home/mikhail/.local/share/Steam/steamapps/common/Rise of the Tomb Raider/share/data/bigfile.000.tiger' hmmm this is /dev/input/event4 And then I do not know the specifics of the work whether this file should be available or not. $ xinput list ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ xwayland-pointer:15 id=6 [slave pointer (2)] ⎜ ↳ xwayland-relative-pointer:15 id=7 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ xwayland-keyboard:15 id=8 [slave keyboard (3)] Created attachment 140652 [details]
rise of tomb rider strace
Created attachment 140653 [details]
rise of tomb rider file descriptors
Please attach gdb to the hung game process and attach the output of thread apply all bt full here. Created attachment 140662 [details]
rise of tomb rider backtrace
Created attachment 140663 [details]
yet another rise of tomb rider backtrace
This magic patch https://gitlab.freedesktop.org/xorg/xserver/merge_requests/48 fix this. Thanks for the report and follow-up, resolving per comment 8. *** This bug has been marked as a duplicate of bug 106713 *** |
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.