Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal. You can also buy games using our partner links for GOG and Humble Store.
We do often include affiliate links to earn us some pennies. See more here.

Rise of the Tomb Raider tested on AMD RX 580

By -

To go along with Liam’s benchmarks of the game on his Nvidia GPU, I decided to also run some tests on my RX 580 to give you a picture of the AMD performance of the Rise of the Tomb Raider port. So, let’s go!

Disclosure: I participated in the closed Linux beta for ROTTR and thus received a key for the game from Feral.

Let’s first go over my gaming rig specs before we jump into the results. My system uses an AMD R7 1700 at 3.7GHz and 16 GB of 2133MHz DDR4 RAM. The GPU I am using is an Asus ROG RX 580 8 GB. On the software side I’m using Antergos with Linux 4.15.15 with Mesa 18.0.1. Feral’s Gamemode was installed and operational for these tests.

Due to time constraints I stuck to running the benchmark through the Lowest, Low, Medium, High and Very High without anti-aliasing at 1080p resolution. Benchmarks were repeated a couple of times on each preset to eliminate as many discrepancies as possible.

So, let’s have a look at the numbers:

On the Lowest preset the game quite simply ran flawlessly, maintaining an average of above 100 FPS during each of the three scenes the benchmark went through. The low minimum framerate during the Syria scene appears to be an oddity of this game that makes the minimum framerates in this benchmark largely meaningless. While monitoring the game, it never actually seemed to drop down to 24 FPS, so my guess is that some individual frames in the benchmark just take abnormally long to render and bring the minimum framerate way down. You can see similar numbers in my other benchmarks of the game but I wouldn’t consider these low minimums meaningful. I decided not to average them out so as to avoid looking like I am tampering with the results.

 

Low preset isn’t a big change from the Lowest in terms of performance. The game still maintains an average framerate of around 100 FPS throughout the benchmark.

 

 

On medium settings the game is finally starting to make the RX 580 work but the averages are still very much on the healthy side of 60 FPS and even according to the somewhat untrustworthy minimums the game is maintaining a stable framerate.

 

 

On High settings the gap to 60 FPS is narrowing but there’s still some wiggle room for anti-aliasing effects and possibly increased resolution here.

 

 

At Very High some of the Scenes are hitting near the desired 60 FPS average and dipping below the 60 FPS at times, although not to a point of unplayability. You could probably still enable some anti-aliasing and get away with it, but if you are unwilling to occasionally dip below the 60 mark you might need to drop some settings to achieve a constant framerate.

 

Overall I’d say this port is working quite wonderfully. Not only are AMD cards on the officially supported list, they would seem to be running quite well too. Do note however that 1st and 2nd generation GCN graphics cards (or older) are not supported, which makes sense considering the experimental state of the Vulkan drivers for those graphics card. According to Feral at a minimum you want an R9 285. So, if your GPU is either that or an R9 380, RX 470/570, RX 480/580 or better you should be good to go.

When it comes to the actual game, I sadly haven’t been able to test it too much. I played about 3-ish hours of the game during the beta and I didn’t run into issues, graphical or stability-wise so I think the game beyond the benchmark is also shipping in good condition. As far as the gameplay and story are concerned, I’ll leave the evaluation of the game to those with more time on their hands.

Article taken from GamingOnLinux.com.
19 Likes
About the author -
author picture
I'm a Linux gamer from Finland. I like reading, long walks on the beach, dying repeatedly in roguelikes and ripping and tearing in FPS games. I also sometimes write code and sometimes that includes hobbyist game development.
See more from me
The comments on this article are closed.
All posts need to follow our rules. For users logged in: please hit the Report Flag icon on any post that breaks the rules or contains illegal / harmful content. Guest readers can email us for any issues.
68 comments
Page: «2/4»
  Go to:

KuJo Apr 19, 2018
Here another AMD-Benchmarks with an older (officially not supported) 2nd Gen GCN-Card:

AMD FX-6100
R9 280X 3GB VRAM (2nd Gen GCN)
16GB RAM
AMDGPU RadeonSI, Mesa 18 with Padoka PPA
Linux Mint 18.3 Sonya, Kernel 4.16.2

Because of lack of time: Only a single-one benchmark run. Not optimized yet (Gamemode not activated yet).
FPS at 1920x1080, medium settings

Mountain: Avg. 60,62 / Min. 24,98 / Max. 105,28
Syria: Avg. 45,02 / Min. 27,88 / Max. 60,79
GValley: Avg. 60,47 / Min. 37,76 / Max. 91,76
Shmerl Apr 19, 2018
I wonder when the time has come that the Feral Vulkan Ports will perform better than Windows native!

Unlikely, unless somehow underlying Vulkan driver will have a lot better performance than native D3D. It makes more sense to compare wrappers themselves, like Feral vs dxvk/vkd3d.


Last edited by Shmerl on 19 April 2018 at 9:50 pm UTC
cRaZy-bisCuiT Apr 19, 2018
Obviously it's doubtfull, but since DirectX 12 doesn't perform as it should and DirectX 11 has a significant CPU overhead with AMD graphics cards on Windows it's possible. Feral is in some scenarios pretty close to even out results. A little more optimization for RADV and the port and it could happen. ;)

It would also be interesting to compare DXVK under Windows and under Linux as well and see if there's a difference.
MagicMyth Apr 19, 2018
Well I've just been playing the game for the last few hours on a GCN 1.0 card: R7 370 2GB and its been working out great. The only bug I came across was with the fancy hair option making Lara's hair go punk most of the time. Turning that setting off avoids the issue and gives a good speed boost as well. I've not noticed any slow downs on Medium plus some extra bits turned on (Tessellation, Sun lighting). The resolution technically is "low" at 1360x768 as that is the TV's native resolution.

So yes GCN 1.0 hardware does work fine so long as you have the amdgpu kernel driver enabled (FYI I'm using Linux 4.16 on a Intel [email protected]).
Shmerl Apr 20, 2018
I may give DXVK a go in a couple weeks just out of interest.

Can you tell if the game is using D3D11 or D3D12 when translating to Vulkan? No one seems to know this.

--edit: I may also play with gallium hud soon, to see how well it's using each cpu core, and any other options I can see. Again, just out of interest.

Since it's using Vulkan, you won't be able to use GALLIUM_HUD with it, and Mesa developers didn't come up with Vulkan HUD yet.


Last edited by Shmerl on 20 April 2018 at 1:40 am UTC
x_wing Apr 20, 2018
I may give DXVK a go in a couple weeks just out of interest.

Can you tell if the game is using D3D11 or D3D12 when translating to Vulkan? No one seems to know this.

--edit: I may also play with gallium hud soon, to see how well it's using each cpu core, and any other options I can see. Again, just out of interest.

Since it's using Vulkan, you won't be able to use GALLIUM_HUD with it, and Mesa developers didn't come up with Vulkan HUD yet.

Why do you think that Feral work it's a "wrapper". If you think as a "wrapper" as DXVK is, I think you're wrong.

In the other hand, DXVK implements DX11 over Vulkan API, so it won't be possible to do the DX12 test.
Shmerl Apr 20, 2018
Why do you think that Feral work it's a "wrapper". If you think as a "wrapper" as DXVK is, I think you're wrong.

Because that's what many claimed about Feral games in the past. They don't rewrite renderers from scratch in Linux APIs, they take renderers in D3D, and fit OpenGL / Vulkan backend for them. Exactly same idea as Wine, except they don't do it on the binary loading stage (static translation), but use access to source code to make compiler build resulting binary with translation already cooked in. And if they also have access to shaders sources, they can avoid ad-hoc translation of shaders.

Anyway, unless Feral changed their approach somehow for this game, I expect it to use same wrapper idea as before.

In the other hand, DXVK implements DX11 over Vulkan API, so it won't be possible to do the DX12 test.

So far no one confirmed to me, that Feral are translating D3D12 in this case.


Last edited by Shmerl on 20 April 2018 at 3:29 am UTC
x_wing Apr 20, 2018
Why do you think that Feral work it's a "wrapper". If you think as a "wrapper" as DXVK is, I think you're wrong.

Because that's what many claimed about Feral games in the past. They don't rewrite renderers from scratch in Linux APIs, they take renderers in D3D, and fit OpenGL / Vulkan backend for them. Exactly same idea as Wine, except they don't do it on the binary loading stage (static translation), but use access to source code to make compiler build resulting binary with translation already cooked in. So unless Feral changed their approach somehow for this game, I expect it to use same wrapper idea as before.

If you want to have a multiplatform support you will need an abstraction layer that "wraps" the OS API, every software has to do that in order to get multiplatform support (unless you're in a high level language... but the wrapping just goes one layer down). Unless the game has a very bad design, you won't have to implement the DX calls with another API (which is what wine does). So, Feral works is a native implementation.
Shmerl Apr 20, 2018
If you want to have a multiplatform support you will need an abstraction layer that "wraps" the OS API, every software has to do that in order to get multiplatform support

In case of proper multiplatform engine, such abstraction sits above system specific APIs. In case of wrapping, system specific API like D3D takes priority, and everything else is translated from it. I.e. it's a post factum design that needs to retrofit things, rather than proper from scratch one.

As far as I know, Feral don't redesign existing Windows only engines, they just fit Vulkan behind D3D for them. Therefore it's a wrapper, and not a native approach.


Last edited by Shmerl on 20 April 2018 at 3:55 am UTC
x_wing Apr 20, 2018
The difference with proper multiplatform engine is that such abstraction sits above system specific APIs. In case of wrapping, system specific API like D3D takes priority, and everything else is translated from it. I.e. it's a post factum design that needs to retrofit things, rather than proper from scratch one.

Well, the game was ported to PS4, so one would spect that the engine is well designed enough in order to not be so tightly embraced to a graphic API (in fact, it support two graphic APIs on Windows). As I said, wrapping not necessary means to translate low level API calls.
Shmerl Apr 20, 2018
Well, the game was ported to PS4, so one would spect that the engine is well designed enough in order to not be so tightly embraced to a graphic API (in fact, it support two graphic APIs on Windows). As I said, wrapping not necessary means to translate low level API calls.

Well, then someone misinformed me, claiming that Feral translate D3D. It's your guess against theirs. Since they don't publish their code, it's hard to truly evaluate it. And I don't use Steam and Feral staunchly refuse to release anything DRM-free, so I can't analyze the binary either. If you have the game, you can for example check symbol names, and see if anything there hints to D3D to Vulkan translation or not.
x_wing Apr 20, 2018
Well, the game was ported to PS4, so one would spect that the engine is well designed enough in order to not be so tightly embraced to a graphic API (in fact, it support two graphic APIs on Windows). As I said, wrapping not necessary means to translate low level API calls.

Well, then someone misinformed me, claiming that Feral translate D3D. It's your guess against theirs. Since they don't publish their code, it's hard to truly evaluate it. And I don't use Steam and Feral staunchly refuse to release anything DRM-free, so I can't analyze the binary either. If you have the game, you can for example check symbol names, and see if anything there hints to D3D to Vulkan translation or not.

The binary is stripped, there is no symbol I can get from it. In the other hand, probably it's a Square Enix decision to not go with GoG.
Shmerl Apr 20, 2018
The binary is stripped, there is no symbol I can get from it.

Even for dynamic calls? They should be normally preserved, since they are needed at runtime. So unless Feral make it all into a huge static blob, you might be able to find something.


Last edited by Shmerl on 20 April 2018 at 4:09 am UTC
x_wing Apr 20, 2018
The binary is stripped, there is no symbol I can get from it.

Even for dynamic calls? They should be normally preserved, since they are needed at runtime. So unless Feral make it all into a huge static blob, you might be able to find something.

Yes, I can get dynamic calls symbols. But you won't get nothing from them:

                 U abort
                 U accept
                 U access
                 U acos
                 U acosf
                 U acosh
                 U aio_error64
                 U aio_read64
                 U aio_return64
                 U aio_write64
                 U asin
                 U asinf
                 U asinh
                 U __assert_fail
                 U atan
                 U atan2
                 U atan2f
                 U atanf
                 U atanh
                 U backtrace
                 U backtrace_symbols
                 U basename
                 U bind
                 U bindtextdomain
                 U bind_textdomain_codeset
                 U BIO_free
                 U BIO_new_mem_buf
                 U btowc
                 U calloc
                 U cef_add_cross_origin_whitelist_entry
                 U cef_add_web_plugin_directory
                 U cef_add_web_plugin_path
                 U cef_api_hash
                 U cef_base64decode
                 U cef_base64encode
                 U cef_begin_tracing
                 U cef_binary_value_create
                 U cef_browser_host_create_browser
                 U cef_browser_host_create_browser_sync
                 U cef_clear_cross_origin_whitelist
                 U cef_clear_scheme_handler_factories
                 U cef_command_line_create
                 U cef_command_line_get_global
                 U cef_create_url
                 U cef_currently_on
                 U cef_dictionary_value_create
                 U cef_do_message_loop_work
                 U cef_drag_data_create
                 U cef_end_tracing
                 U cef_execute_process
                 U cef_force_web_plugin_shutdown
                 U cef_get_extensions_for_mime_type
                 U cef_get_geolocation
                 U cef_get_mime_type
                 U cef_get_path
                 U cef_initialize
                 U cef_is_web_plugin_unstable
                 U cef_launch_process
                 U cef_list_value_create
                 U cef_now_from_system_trace_time
                 U cef_parse_url
                 U cef_post_data_create
                 U cef_post_data_element_create
                 U cef_post_delayed_task
                 U cef_post_task
                 U cef_print_settings_create
                 U cef_process_message_create
                 U cef_quit_message_loop
                 U cef_refresh_web_plugins
                 U cef_register_extension
                 U cef_register_scheme_handler_factory
                 U cef_register_web_plugin_crash
                 U cef_remove_cross_origin_whitelist_entry
                 U cef_remove_web_plugin_path
                 U cef_request_context_create_context
                 U cef_request_context_get_global_context
                 U cef_request_create
                 U cef_response_create
                 U cef_run_message_loop
                 U cef_set_osmodal_loop
                 U cef_shutdown
                 U cef_string_ascii_to_utf16
                 U cef_string_list_alloc
                 U cef_string_list_append
                 U cef_string_list_copy
                 U cef_string_list_free
                 U cef_string_list_size
                 U cef_string_list_value
                 U cef_string_map_alloc
                 U cef_string_map_append
                 U cef_string_map_free
                 U cef_string_map_key
                 U cef_string_map_size
                 U cef_string_map_value
                 U cef_string_multimap_alloc
                 U cef_string_multimap_append
                 U cef_string_multimap_free
                 U cef_string_multimap_key
                 U cef_string_multimap_size
                 U cef_string_multimap_value
                 U cef_string_userfree_utf16_free
                 U cef_string_utf16_clear
                 U cef_string_utf16_cmp
                 U cef_string_utf16_set
                 U cef_string_utf16_to_utf8
                 U cef_string_utf8_clear
                 U cef_string_utf8_to_utf16
                 U cef_task_runner_get_for_current_thread
                 U cef_task_runner_get_for_thread
                 U cef_unregister_internal_web_plugin
                 U cef_uridecode
                 U cef_uriencode
                 U cef_v8context_get_current_context
                 U cef_v8context_get_entered_context
                 U cef_v8context_in_context
                 U cef_v8stack_trace_get_current
                 U cef_v8value_create_array
                 U cef_v8value_create_bool
                 U cef_v8value_create_date
                 U cef_v8value_create_double
                 U cef_v8value_create_function
                 U cef_v8value_create_int
                 U cef_v8value_create_null
                 U cef_v8value_create_object
                 U cef_v8value_create_string
                 U cef_v8value_create_uint
                 U cef_v8value_create_undefined
                 U cef_visit_web_plugin_info
                 U ceil
                 U ceilf
                 U chmod
                 U clearerr
                 U clock
                 U clock_gettime
                 U close
                 U closedir
                 U confstr
                 U connect
                 U cos
                 U cosf
                 U cosh
                 U creat64
                 U __ctype_b_loc
                 U __ctype_get_mb_cur_max
                 U curl_easy_cleanup
                 U curl_easy_getinfo
                 U curl_easy_init
                 U curl_easy_reset
                 U curl_easy_setopt
                 U curl_formadd
                 U curl_formfree
                 U curl_global_cleanup
                 U curl_global_init
                 U curl_multi_add_handle
                 U curl_multi_cleanup
                 U curl_multi_info_read
                 U curl_multi_init
                 U curl_multi_perform
                 U curl_multi_remove_handle
                 U curl_multi_wait
                 U curl_slist_append
                 U curl_slist_free_all
                 U __cxa_atexit
                 U d2i_X509_bio
                 U dgettext
                 U dlclose
                 U dlerror
                 U dl_iterate_phdr
                 U dlopen
                 U dlsym
                 U dlvsym
                 U dprintf
                 U dup2
                 U __duplocale
                 U ecvt
                 U epoll_create
                 U epoll_ctl
                 U epoll_wait
                 U __errno_location
                 U euidaccess
                 U EVP_sha1
                 U execl
                 U execlp
                 U execv
                 U execvp
                 U exit
                 U _exit
                 U _Exit
                 U exp
                 U exp2f
                 U expf
                 U FcConfigSubstitute
                 U FcDefaultSubstitute
                 U FcFontMatch
                 U fchmod
                 U fchown
                 U FcInit
                 U fclose
                 U FcNameParse
                 U fcntl
                 U FcPatternAddInteger
                 U FcPatternAddString
                 U FcPatternCreate
                 U FcPatternDestroy
                 U FcPatternGetString
                 U fcvt
                 U __fdelt_chk
                 U fdopen
                 U feclearexcept
                 U fegetexceptflag
                 U feof
                 U ferror
                 U fflush
                 U fgetc
                 U fgets
                 U fileno
                 U floor
                 U floorf
                 U fmax
                 U fmaxf
                 U fmin
                 U fminf
                 U fmod
                 U fmodf
                 U fopen
                 U fopen64
                 U fork
                 U fprintf
                 U fputc
                 U fputs
                 U fread
                 U fread_unlocked
                 U free
                 U freeaddrinfo
                 U freeifaddrs
                 U __freelocale
                 U fscanf
                 U fseek
                 U fseeko64
                 U fsync
                 U FT_Done_Face
                 U FT_Done_FreeType
                 U FT_Done_Glyph
                 U ftell
                 U ftello64
                 U FT_Get_Glyph
                 U FT_Glyph_To_Bitmap
                 U FT_Glyph_Transform
                 U ftime
                 U FT_Init_FreeType
                 U FT_Load_Char
                 U FT_MulFix
                 U FT_New_Face
                 U FT_Reference_Face
                 U ftruncate
                 U ftruncate64
                 U FT_Set_Pixel_Sizes
                 U fwrite
                 U fwrite_unlocked
                 U __fxstat64
                 U gai_strerror
                 U getaddrinfo
                 U getc
                 U getcontext
                 U getcwd
                 U getegid
                 U getenv
                 U geteuid
                 U getgid
                 U getgroups
                 U gethostbyname
                 U gethostname
                 U getifaddrs
                 U getlogin
                 U getnameinfo
                 U get_nprocs
                 U getpagesize
                 U getpeername
                 U getpid
                 U getppid
                 U getpwuid
                 U getrusage
                 U getsid
                 U getsockname
                 U getsockopt
                 U gettext
                 U gettimeofday
                 U getuid
                 U getwc
                 w __gmon_start__
                 U gmtime_r
                 U HMAC
                 U HMAC_CTX_cleanup
                 U HMAC_CTX_init
                 U HMAC_Final
                 U HMAC_Init
                 U HMAC_Update
                 U iconv
                 U iconv_close
                 U iconv_open
                 U if_indextoname
                 U if_nametoindex
                 U IMG_Load_RW
                 U IMG_LoadTGA_RW
                 U in6addr_any
                 U inet_addr
                 U inet_ntoa
                 U inet_ntop
                 U inet_pton
                 U ioctl
                 U isalnum
                 U isalpha
                 U __isnan
                 U __isoc99_sscanf
                 U isprint
                 U ispunct
                 U isspace
                 U iswalnum
                 U iswalpha
                 U iswcntrl
                 U __iswctype_l
                 U iswdigit
                 U iswlower
                 U iswprint
                 U iswpunct
                 U iswspace
                 U iswupper
                 U iswxdigit
                 U isxdigit
                 w _ITM_addUserCommitAction
                 w _ITM_deregisterTMCloneTable
                 w _ITM_memcpyRnWt
                 w _ITM_memcpyRtWn
                 w _ITM_registerTMCloneTable
                 w _ITM_RU1
                 w _ITM_RU8
                 w _Jv_RegisterClasses
                 U kill
                 U ldexp
                 U ldexpf
                 U __libc_dlopen_mode
                 U __libc_dlsym
                 U __libc_start_main
                 U link
                 U listen
                 U localeconv
                 U localtime
                 U localtime_r
                 U log
                 U log10
                 U log10f
                 U log2
                 U log2f
                 U logf
                 U longjmp
                 U lseek
                 U lseek64
                 U __lxstat64
                 U madvise
                 U malloc
                 U malloc_usable_size
                 U mbrtowc
                 U mbsnrtowcs
                 U mbsrtowcs
                 U mbstowcs
                 U MD5
                 U memalign
                 U memchr
                 U memcmp
                 U memcpy
                 U __memcpy_chk
                 U memmem
                 U memmove
                 U memset
                 U mkdir
                 U mkstemp64
                 U mktime
                 U mlock
                 U mmap64
                 U modf
                 U mprotect
                 U mremap
                 U msync
                 U munlock
                 U munmap
                 U nanosleep
                 U __newlocale
                 U nextafterf
                 U nice
                 U __nl_langinfo_l
                 U open
                 U open64
                 U opendir
                 U pclose
                 U perror
                 U pipe
                 U poll
                 U popen
                 U posix_fadvise64
                 U posix_memalign
                 U pow
                 U powf
                 U printf
                 U __printf_chk
                 U pthread_attr_destroy
                 U pthread_attr_getstack
                 U pthread_attr_init
                 U pthread_attr_setdetachstate
                 U pthread_attr_setschedparam
                 U pthread_attr_setschedpolicy
                 U pthread_attr_setstacksize
                 U pthread_cancel
                 U pthread_cond_broadcast
                 U pthread_cond_destroy
                 U pthread_cond_init
                 U pthread_cond_signal
                 U pthread_cond_timedwait
                 U pthread_cond_wait
                 U pthread_create
                 U pthread_detach
                 U pthread_exit
                 U pthread_getattr_np
                 U pthread_getname_np
                 U pthread_getschedparam
                 U pthread_getspecific
                 U pthread_join
                 w __pthread_key_create
                 U pthread_key_create
                 U pthread_key_delete
                 U pthread_kill
                 U pthread_mutexattr_destroy
                 U pthread_mutexattr_init
                 U pthread_mutexattr_setpshared
                 U pthread_mutexattr_settype
                 U pthread_mutex_destroy
                 U pthread_mutex_init
                 U pthread_mutex_lock
                 U pthread_mutex_trylock
                 U pthread_mutex_unlock
                 U pthread_once
                 U pthread_self
                 U pthread_setcancelstate
                 U pthread_setcanceltype
                 U pthread_setname_np
                 U pthread_setschedparam
                 U pthread_setspecific
                 U ptrace
                 U putc
                 U putchar
                 U puts
                 U putwc
                 U qsort
                 U raise
                 U rand
                 U random
                 U read
                 U readdir64
                 U readlink
                 U realloc
                 U realpath
                 U recv
                 U recvfrom
                 U recvmsg
                 U regcomp
                 U regexec
                 U regfree
                 U rename
                 U rint
                 U rintf
0000000000000000 A RiseOfTheTombRaider
                 U rmdir
                 U sched_get_priority_max
                 U sched_get_priority_min
                 U sched_yield
                 U SDL_AddTimer
                 U SDL_BuildAudioCVT
                 U SDL_CloseAudioDevice
                 U SDL_ConvertAudio
                 U SDL_ConvertSurface
                 U SDL_CreateColorCursor
                 U SDL_CreateRGBSurface
                 U SDL_CreateRGBSurfaceFrom
                 U SDL_CreateSystemCursor
                 U SDL_CreateWindow
                 U SDL_Delay
                 U SDL_DestroyWindow
                 U SDL_free
                 U SDL_FreeCursor
                 U SDL_FreeSurface
                 U SDL_GameControllerAddMapping
                 U SDL_GameControllerClose
                 U SDL_GameControllerGetAttached
                 U SDL_GameControllerGetAxis
                 U SDL_GameControllerGetButton
                 U SDL_GameControllerGetJoystick
                 U SDL_GameControllerName
                 U SDL_GameControllerOpen
                 U SDL_GetClipboardText
                 U SDL_GetCurrentDisplayMode
                 U SDL_GetDesktopDisplayMode
                 U SDL_GetDisplayBounds
                 U SDL_GetDisplayMode
                 U SDL_GetDisplayName
                 U SDL_GetError
                 U SDL_GetGlobalMouseState
                 U SDL_GetHint
                 U SDL_GetKeyboardFocus
                 U SDL_GetKeyboardState
                 U SDL_GetKeyFromScancode
                 U SDL_GetKeyName
                 U SDL_GetMouseFocus
                 U SDL_GetMouseState
                 U SDL_GetNumDisplayModes
                 U SDL_GetNumVideoDisplays
                 U SDL_GetPowerInfo
                 U SDL_GetRelativeMouseMode
                 U SDL_GetVersion
                 U SDL_GetWindowDisplayIndex
                 U SDL_GetWindowFlags
                 U SDL_GetWindowFromID
                 U SDL_GetWindowMaximumSize
                 U SDL_GetWindowMinimumSize
                 U SDL_GetWindowPosition
                 U SDL_GetWindowSize
                 U SDL_GetWindowTitle
                 U SDL_GetWindowWMInfo
                 U SDL_GL_CreateContext
                 U SDL_GL_DeleteContext
                 U SDL_GL_GetProcAddress
                 U SDL_GL_GetSwapInterval
                 U SDL_GL_MakeCurrent
                 U SDL_GL_SetAttribute
                 U SDL_GL_SetSwapInterval
                 U SDL_GL_SwapWindow
                 U SDL_HapticClose
                 U SDL_HapticDestroyEffect
                 U SDL_HapticNewEffect
                 U SDL_HapticOpenFromJoystick
                 U SDL_HapticQuery
                 U SDL_HapticRunEffect
                 U SDL_HapticStopEffect
                 U SDL_HapticUpdateEffect
                 U SDL_Has3DNow
                 U SDL_HasClipboardText
                 U SDL_HasMMX
                 U SDL_HasRDTSC
                 U SDL_HasSSE
                 U SDL_HasSSE2
                 U SDL_HasSSE3
                 U SDL_HideWindow
                 U SDL_Init
                 U SDL_InitSubSystem
                 U SDL_IsGameController
                 U SDL_JoystickClose
                 U SDL_JoystickGetDeviceGUID
                 U SDL_JoystickGetGUIDString
                 U SDL_JoystickInstanceID
                 U SDL_JoystickName
                 U SDL_JoystickOpen
                 U SDL_JoystickUpdate
                 U SDL_LockSurface
                 U SDL_memset
                 U SDL_MinimizeWindow
                 U SDL_NumHaptics
                 U SDL_NumJoysticks
                 U SDL_OpenAudioDevice
                 U SDL_PauseAudioDevice
                 U SDL_PeepEvents
                 U SDL_PixelFormatEnumToMasks
                 U SDL_PumpEvents
                 U SDL_Quit
                 U SDL_QuitSubSystem
                 U SDL_RaiseWindow
                 U SDL_RestoreWindow
                 U SDL_RWFromMem
                 U SDL_SetClipboardText
                 U SDL_SetCursor
                 U SDL_SetHint
                 U SDL_SetRelativeMouseMode
                 U SDL_SetWindowBordered
                 U SDL_SetWindowFullscreen
                 U SDL_SetWindowGrab
                 U SDL_SetWindowIcon
                 U SDL_SetWindowMaximumSize
                 U SDL_SetWindowMinimumSize
                 U SDL_SetWindowPosition
                 U SDL_SetWindowResizable
                 U SDL_SetWindowSize
                 U SDL_SetWindowTitle
                 U SDL_ShowMessageBox
                 U SDL_ShowWindow
                 U SDL_StartTextInput
                 U SDL_StopTextInput
                 U SDL_UnlockSurface
                 U SDL_WarpMouseGlobal
                 U SDL_WarpMouseInWindow
                 U SDL_WasInit
                 U select
                 U sem_destroy
                 U sem_init
                 U sem_post
                 U sem_timedwait
                 U sem_trywait
                 U sem_wait
                 U send
                 U sendmsg
                 U sendto
                 U setenv
                 U _setjmp
                 U setlocale
                 U setpriority
                 U setrlimit64
                 U setsockopt
                 U setvbuf
                 U shutdown
                 U sigaction
                 U sigaddset
                 U sigemptyset
                 U signal
                 U sigprocmask
                 U sin
                 U sincos
                 U sincosf
                 U sinf
                 U sinh
                 U sk_new_null
                 U sk_pop_free
                 U sk_push
                 U sleep
                 U snprintf
                 U __snprintf_chk
                 U socket
                 U sprintf
                 U __sprintf_chk
                 U sqrt
                 U sqrtf
                 U srand
                 U srandom
                 U sscanf
                 U SSL_library_init
                 U __stack_chk_fail
                 U statfs64
                 U statvfs64
00000000039bde10 B stderr
00000000039bde08 B stdin
00000000039bde00 B stdout
                 U stpcpy
                 U strcasecmp
                 U strcat
                 U strchr
                 U strcmp
                 U __strcoll_l
                 U strcpy
                 U __strcpy_chk
                 U strcspn
                 U strdup
                 U __strdup
                 U strerror
                 U strerror_r
                 U strftime
                 U __strftime_l
                 U strlen
                 U strncasecmp
                 U strncat
                 U strncmp
                 U strncpy
                 U strndup
                 U strnlen
                 U strpbrk
                 U strrchr
                 U strspn
                 U strstr
                 U strtod
                 U __strtod_l
                 U strtof
                 U __strtof_l
                 U strtok
                 U strtol
                 U strtold_l
                 U strtoll
                 U strtoul
                 U strtoull
                 U __strxfrm_l
                 U symlink
                 U syscall
                 U sysconf
                 U syslog
                 U system
                 U tan
                 U tanf
                 U tanh
                 U time
                 U times
                 U __tls_get_addr
                 U tolower
                 U toupper
                 U towlower
                 U __towlower_l
                 U __towupper_l
                 U truncate64
                 U truncf
                 U tzset
                 U umount
                 U uname
                 U ungetc
                 U ungetwc
                 U unlink
                 U unsetenv
                 U __uselocale
                 U usleep
                 U utime
                 U utimes
                 U vfprintf
                 U vfscanf
                 U vorbis_block_clear
                 U vorbis_block_init
                 U vorbis_comment_clear
                 U vorbis_comment_init
                 U vorbis_dsp_clear
                 U vorbis_info_clear
                 U vorbis_info_init
                 U vorbis_synthesis
                 U vorbis_synthesis_blockin
                 U vorbis_synthesis_headerin
                 U vorbis_synthesis_init
                 U vorbis_synthesis_pcmout
                 U vorbis_synthesis_read
                 U vorbis_synthesis_restart
                 U vsnprintf
                 U __vsnprintf_chk
                 U vsprintf
                 U vsscanf
                 U vswscanf
                 U waitpid
                 U wcrtomb
                 U wcscmp
                 U __wcscoll_l
                 U __wcsftime_l
                 U wcslen
                 U wcsnrtombs
                 U wcstod
                 U wcstof
                 U wcstol
                 U wcstoll
                 U wcstombs
                 U wcstoul
                 U wcstoull
                 U __wcsxfrm_l
                 U wctob
                 U __wctype_l
000000000051e880 T WinMain
                 U wmemchr
                 U wmemcmp
                 U wmemcpy
                 U wmemmove
                 U wmemset
                 U write
                 U writev
                 U X509_free
                 U X509_STORE_CTX_free
                 U X509_STORE_CTX_init
                 U X509_STORE_CTX_new
                 U X509_STORE_free
                 U X509_STORE_new
                 U X509_STORE_set_default_paths
                 U X509_verify_cert
                 U __xstat
                 U __xstat64
                 w _ZGTtdlPv
                 w _ZGTtnam



Last edited by x_wing on 20 April 2018 at 4:16 am UTC
Shmerl Apr 20, 2018
Yeah, that's not useful. I suppose they statically link their own libs in.
Disharmonic Apr 20, 2018
View PC info
  • Supporter
Performance on my Vega 56 is great too. Just have to remember to save often. Had one full system freeze at one point (that sucked).
Yeah, same here. Had to use magic keys to reboot the system
aejsmith Apr 20, 2018
Well I've just been playing the game for the last few hours on a GCN 1.0 card: R7 370 2GB and its been working out great. The only bug I came across was with the fancy hair option making Lara's hair go punk most of the time. Turning that setting off avoids the issue and gives a good speed boost as well. I've not noticed any slow downs on Medium plus some extra bits turned on (Tessellation, Sun lighting). The resolution technically is "low" at 1360x768 as that is the TV's native resolution.

So yes GCN 1.0 hardware does work fine so long as you have the amdgpu kernel driver enabled (FYI I'm using Linux 4.16 on a Intel [email protected]).

The hair issue should be fixed on Mesa git or 18.0.1.
nox Apr 20, 2018
Performance on my Vega 56 is great too. Just have to remember to save often. Had one full system freeze at one point (that sucked).
Yeah, same here. Had to use magic keys to reboot the system

Out of curiosity. Do you remember where? So far it has only happened when the cutscene triggers at the part of the snowy mountain where you start moving slower. (Trying to not risk spoiling anything here)
Disharmonic Apr 20, 2018
View PC info
  • Supporter
Performance on my Vega 56 is great too. Just have to remember to save often. Had one full system freeze at one point (that sucked).
Yeah, same here. Had to use magic keys to reboot the system

Out of curiosity. Do you remember where? So far it has only happened when the cutscene triggers at the part of the snowy mountain where you start moving slower. (Trying to not risk spoiling anything here)
Yeah that was the place. I didn't retry making it past it, as it was late already. I take it you made it past that point?
nox Apr 20, 2018
Performance on my Vega 56 is great too. Just have to remember to save often. Had one full system freeze at one point (that sucked).
Yeah, same here. Had to use magic keys to reboot the system

Out of curiosity. Do you remember where? So far it has only happened when the cutscene triggers at the part of the snowy mountain where you start moving slower. (Trying to not risk spoiling anything here)
Yeah that was the place. I didn't retry making it past it, as it was late already. I take it you made it past that point?
Yes, After the freeze I tried again - saving every single step up the slope. After triggering the cutscenes I haven't had any more freezes, but I'm expecting more :P
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.