bcook254 / apex-legends-cache

A community sourced dxvk-cache file for Apex Legends on Linux
192 stars 27 forks source link

[Question] Any plans to also host VKD3D cache file? #114

Closed bagusnl closed 1 year ago

bagusnl commented 2 years ago

Apex Legends just announced their beta for DirectX 12 in reddit Dev blog which also means that it will use VKD3D instead of DXVK in Linux. Currently the cache file is written not in shadercache folder, but instead in the game installation dir, the file is named vkd3d-proton.cache.write.

Is there any plan to also include this cache file in this repo?

Here is the example file from my system just after it loads up to Main Menu: vkd3d-proton.cache.write

bcook254 commented 2 years ago

I would really like to look in to this. Unfortunately when I load with dx12 I don't get any game visuals, just menu items and a dark screen. Maybe I need to up my Proton GE version or my hardware is not really working correctly.

What Proton are you using? And what video card?

If I can get it working on my end then I will certainly look in to hosting this file.

On Tue, Nov 1, 2022, 16:57 bagusnl @.***> wrote:

Apex Legends just announced their beta for DirectX 12 in reddit Dev blog https://www.reddit.com/r/apexlegends/comments/yiek6d/dev_team_update_directx_12_beta_on_pcshare_your/ which also means that it will use VKD3D instead of DXVK in Linux. Currently the cache file is written not in shadercache folder, but instead in the game installation dir, the file is named vkd3d-proton.cache.write.

Is there any plan to also include this cache file in this repo?

Here is the example file from my system just after it loads up to Main Menu: vkd3d-proton.cache.write https://cdn.discordapp.com/attachments/593053443761897482/1037138021172117625/vkd3d-proton.cache.write

— Reply to this email directly, view it on GitHub https://github.com/bcook254/apex-legends-cache/issues/114, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKVK2K7LLEFH67FPSWGBAOTWGGN5RANCNFSM6AAAAAARUQPRQY . You are receiving this because you are subscribed to this thread.Message ID: @.***>

bagusnl commented 2 years ago

Yeah I'm currently using latest Proton-GE (I believe 7-38 or something), with AMD Radeon Vega 3 iGPU (R3 3200U APU) using MESA RADV-git latest (bundled with Nobara OS, Fedora36) and 6.0.1 kernel

bagusnl commented 2 years ago

The game is running, although it wont do fullscreen exclusive nor FSR or other resolutions works, its locked in 1080p and wont change the res. You can force it to change the res using borderless windowed or windowed but the game just broke with it (broken menu UI, mangled textures, and somehow slanted-stretched FPV) unknown

Here is the launch option I've tried DX11: RADV_FORCE_VRS=2x1 RADV_PERFTEST=sam RADV_DEBUG=novrsflatshading,startup DXVK_CONFIG_FILE=/home/bagusnl/dxvk/apex/dxvk.conf MANGOHUD=1 DXVK_ASYNC=1 gamemoderun %command% +exec autoexec.cfg -dev -novid

DX12: RADV_FORCE_VRS=2x1 RADV_PERFTEST=sam RADV_DEBUG=novrsflatshading,startup MANGOHUD=1 WINE_FULLSCREEN_FSR=1 WINE_FULLSCREEN_FAKE_CURRENT_RES=1280x720 gamemoderun %command% +exec autoexec.cfg -dev -novid -eac_launcher_settings SettingsDX12.json PS. WINE_FULLSCREEN_FAKE_CURRENT_RES seems to not work

KirboSoftware commented 2 years ago

With MANGOHUD=1 WINE_FULLSCREEN_FSR=1 WINE_FULLSCREEN_FAKE_CURRENT_RES=1280x720 gamemoderun %command% +exec autoexec.cfg -dev -novid -eac_launcher_settings SettingsDX12.json I get this result from the lobby: Screenshot_20221102_091545

and from the training range: Screenshot_20221102_092048

idk if I'm doing something wrong here... Used both GE-Proton7-38 and proton experimental on arch using a GTX 1650 Super

bagusnl commented 2 years ago

Have you tried setting it to borderless windowed?

KirboSoftware commented 2 years ago

Nope, same result. Resetting video settings also doesn't help.

bcook254 commented 2 years ago

With MANGOHUD=1 WINE_FULLSCREEN_FSR=1 WINE_FULLSCREEN_FAKE_CURRENT_RES=1280x720 gamemoderun %command% +exec autoexec.cfg -dev -novid -eac_launcher_settings SettingsDX12.json I get this result from the lobby: Screenshot_20221102_091545

and from the training range: Screenshot_20221102_092048

idk if I'm doing something wrong here... Used both GE-Proton7-38 and proton experimental on arch using a GTX 1650 Super

This is also what it looks like for me 1660 Ti. Updating to latest Fedora kernel right now and will see if that will help.

KirboSoftware commented 2 years ago

Could this be a Nvidia problem on linux? As I think from what you send, it works on radeon?

bcook254 commented 2 years ago

https://github.com/ValveSoftware/Proton/issues/4350#issuecomment-1300441014

Based on this comment it seems anyone running Nvidia drivers will have this issue which is also the case for me unfortunately. Now I'm not sure if this is something in vkd3d that needs to be fixed, Nvidia driver being an Nvidia driver, or something Apex would have to fix.

KirboSoftware commented 2 years ago

Will have to wait for that one then, thanks!

bcook254 commented 2 years ago

This file seems to be generated when loading Apex the first time. Does it change as you explore more of the map or does this pre-generation encompass everything.

bagusnl commented 2 years ago

This file seems to be generated when loading Apex the first time. Does it change as you explore more of the map or does this pre-generation encompass everything.

There are 2 files for vkd3d-proton cache vkd3d-proton.cache and vkd3d-proton.cache.write

It seems to be that when the game first launced, it makes the vkd3d-proton.cache.write and write all the state cache there, then after relaunch, that file renamed as vkd3d-proton.cache and new vkd3d-proton.cache.write is made. What I need the confirmation for is that IS the vkd3d-proton.cache.write merged to vkd3d-proton.cache at consecutive launces or not? But from what I can see just from the files that seems to be the case.

I have not explore any further on the game or even opening it due to health-related issue, but I have relaunched it multiple times on release week just to test it, and that's what I can get from the little time I got in the game currently.

bcook254 commented 1 year ago

It seems like that is what happens where the two files are just merged. If so, that is a little unfortunate because my file was almost 500 MB which is much too large for me to host. Also, would it really matter as it seems its mostly generated at initial launch so it's only really a pain the first time you launch an update.

For now I will close this issue in favor of saying that DX11 is the officially supported way to run Apex and the new DXVK 2.0 available in Proton Experimental and Proton-GE have eliminated all stutter in Nvidia and hopefully AMD/Intel cards soon.