libcg / grvk

Vulkan-based Mantle API implementation
https://en.wikipedia.org/wiki/Mantle_(API)
zlib License
219 stars 14 forks source link

Battlefield 4 #37

Open libcg opened 2 years ago

libcg commented 2 years ago

Meta-issue for Battlefield 4.

gentoolinux-girl commented 1 year ago

BattleField 4 Hangs at Launch

Launching BF4 through Steam, with GRVK (compiled from 2bb8b8e) using Mantle, causes a freeze after a couple seconds; then the screen goes black indefinitely.

#

Steps

1. Load BF4, go to settings. 2. Set API to Mantle. 3. Reboot 4. Encounter freeze/hang

#

🗒️ Logs 🖨️ (Click to expand)

### `grvk.log` > ``` > === GRVK 0.5.0 === > I/00000964/grInitAndEnumerateGpus: app "Battlefield" (01000000), engine "Frostbite" (00C00000), api 00018000 > W/00000964/grInitAndEnumerateGpus: unhandled alloc callbacks > W/00000964/grGetExtensionSupport: unsupported GR_ADVANCED_MSAA extension > W/00000964/grGetExtensionSupport: unsupported GR_TIMER_QUEUE extension > I/00000964/grCreateDevice: 1002:73DF "AMD Radeon RX 6700 XT (RADV NAVI22)" (Vulkan 1.3.230, driver 22.2.99) > I/00000964/grCreateDevice: DMA queue remapped to compute queue 1 > W/00000964/grCreateDevice: ignoring device coherent/uncached memory type 5 > W/00000964/grCreateDevice: ignoring device coherent/uncached memory type 6 > W/00000964/grCreateDevice: ignoring device coherent/uncached memory type 7 > W/00000964/grCreateDevice: ignoring device coherent/uncached memory type 8 > W/00000964/grWsiWinGetDisplayModeList: semi-stub > W/00000964/grWsiWinSetMaxQueuedFrames: semi-stub > W/00000990/ilcCompileKernel: unhandled hull/domain shader type > W/00000984/ilcCompileKernel: unhandled hull/domain shader type > W/00000990/ilcCompileKernel: unhandled hull/domain shader type > W/00000984/grCreateQueueSemaphore: unhandled shareable semaphore flag > W/00000984/grCreateQueueSemaphore: unhandled shareable semaphore flag > W/00000984/grCreateQueueSemaphore: unhandled shareable semaphore flag > W/00000988/ilcCompileKernel: unhandled hull/domain shader type > W/00000988/ilcCompileKernel: unhandled hull/domain shader type > W/00000988/ilcCompileKernel: unhandled hull/domain shader type > W/00000988/ilcCompileKernel: unhandled hull/domain shader type > W/00000984/grWsiWinCreatePresentableImage: unhandled flags 0x1 > W/00000984/grWsiWinCreatePresentableImage: unhandled flags 0x1 > W/00000984/grWsiWinCreatePresentableImage: unhandled flags 0x1 > W/00000984/grWsiWinCreatePresentableImage: unhandled flags 0x1 > W/00000984/grWsiWinCreatePresentableImage: unhandled flags 0x1 > W/00000984/grWsiWinTakeFullscreenOwnership: semi-stub > W/00000984/grCreateQueueSemaphore: unhandled shareable semaphore flag > W/00000984/grCreateQueueSemaphore: unhandled shareable semaphore flag > W/00000984/grCreateQueueSemaphore: unhandled shareable semaphore flag > W/00000908/grWsiWinReleaseFullscreenOwnership: semi-stub > W/00000984/grCreateQueueSemaphore: unhandled shareable semaphore flag > W/00000984/grCreateQueueSemaphore: unhandled shareable semaphore flag > W/00000984/grCreateQueueSemaphore: unhandled shareable semaphore flag > W/00000984/grWsiWinCreatePresentableImage: unhandled flags 0x1 > W/00000984/grWsiWinCreatePresentableImage: unhandled flags 0x1 > W/00000984/grWsiWinCreatePresentableImage: unhandled flags 0x1 > W/00000984/grWsiWinCreatePresentableImage: unhandled flags 0x1 > W/00000984/grWsiWinCreatePresentableImage: unhandled flags 0x1 > W/00000984/grWsiWinTakeFullscreenOwnership: semi-stub > W/00000984/grCreateQueueSemaphore: unhandled shareable semaphore flag > W/00000984/grCreateQueueSemaphore: unhandled shareable semaphore flag > W/00000984/grCreateQueueSemaphore: unhandled shareable semaphore flag > W/00000908/grWsiWinReleaseFullscreenOwnership: semi-stub > ``` ### `grvk_axl.log` (*Empty*) > ``` > === GRVK 0.5.0 (AXL) === > ``` #

📝 Notes 🗒️

- BattleField 4 does not always successfully launch. - Instead it opens a minimized Origin window, and eventually closes. - This also happens using [**`GRVK-0.5.0`**](https://github.com/libcg/grvk/releases/tag/0.5.0), which is why I compiled a development build. - The game freezes after about 2 seconds before going blank, or right here: - ![example](https://user-images.githubusercontent.com/119367010/204522966-b067c77f-0d0e-4665-9e59-713b6f2313e8.png) - My OS is compiled with `-O3` & `--march-native`, unsure if that is relevant, but I figured certain compiled dependencies might cause problems. - Although it seems like the problems are with `grGetExtensionSupport`. - I compiled `GRVK` on a separate, standard Arch Linux machine; as I struggled to get `mingw` working on Gentoo. #
## Game Settings ![settings](https://user-images.githubusercontent.com/119367010/204524423-61d2aa9f-3783-49d1-9c66-55ab0cf080cf.png) (*I opened with `DXVK` to get this screenshot.*) # ## Launch Options ``` PROTON_NO_WRITE_WATCH=1 gamemoderun mangohud %command% ``` # ## System Information + **Operating System**: [Gentoo Linux](https://www.gentoo.org) + **Kernel**: `6.0.8-gentoo-x86_64` + **Drivers**: `Mesa 22.3-0` + **Render Session**: `X11` + **Platform**: [Steam](https://store.steampowered.com) + **Proton**: [`GE-Proton7-41`](https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/GE-Proton7-41) + **Motherboard**: `B450M DS3H V2` + **GPU**: `Radeon RX 6700XT` + **CPU**: `Ryzen R7 3800XT (@8, x16)` # I hope my comment is formatted right. :> ¡Thanks for any help! #
libcg commented 1 year ago

@gentoolinux-girl thanks for the report, does it work with stable releases? Proton 7.0-4 and latest stable mesa?

gentoolinux-girl commented 1 year ago

@gentoolinux-girl thanks for the report, does it work with stable releases? Proton 7.0-4 and latest stable mesa?

¡Hello! My apologies for the late reply.

No — I get the same results using:

Where — the 2bb8b8e build will launch but freeze after 2 seconds and GRVK-0.5.0 fails to launch.


I have noticed something new: DXVK logs are still created when the game launches — despite running GRVK.

Note — before, I was using >=media-libs/mesa-9999, (Gentoo's equivalent to mesa-git in Arch Linux), not Mesa 22.3.0.

🗒️ Logs 🖨️

### `grvk.log` > ``` > === GRVK 0.5.0 === > I/00000928/grInitAndEnumerateGpus: app "Battlefield" (01000000), engine "Frostbite" (00C00000), api 00018000 > W/00000928/grInitAndEnumerateGpus: unhandled alloc callbacks > W/00000928/grGetExtensionSupport: unsupported GR_ADVANCED_MSAA extension > W/00000928/grGetExtensionSupport: unsupported GR_TIMER_QUEUE extension > I/00000928/grCreateDevice: 1002:73DF "AMD Radeon RX 6700 XT (RADV NAVI22)" (Vulkan 1.3.224, driver 22.2.3) > I/00000928/grCreateDevice: DMA queue remapped to compute queue 1 > W/00000928/grCreateDevice: ignoring device coherent/uncached memory type 5 > W/00000928/grCreateDevice: ignoring device coherent/uncached memory type 6 > W/00000928/grCreateDevice: ignoring device coherent/uncached memory type 7 > W/00000928/grCreateDevice: ignoring device coherent/uncached memory type 8 > W/00000928/grWsiWinGetDisplayModeList: semi-stub > W/00000928/grWsiWinSetMaxQueuedFrames: semi-stub > W/00000954/ilcCompileKernel: unhandled hull/domain shader type > W/00000948/ilcCompileKernel: unhandled hull/domain shader type > W/00000954/ilcCompileKernel: unhandled hull/domain shader type > W/00000948/grCreateQueueSemaphore: unhandled shareable semaphore flag > W/00000948/grCreateQueueSemaphore: unhandled shareable semaphore flag > W/00000948/grCreateQueueSemaphore: unhandled shareable semaphore flag > W/00000954/ilcCompileKernel: unhandled hull/domain shader type > W/0000094C/ilcCompileKernel: unhandled hull/domain shader type > W/0000094C/ilcCompileKernel: unhandled hull/domain shader type > W/00000954/ilcCompileKernel: unhandled hull/domain shader type > W/00000948/grCreateQueueSemaphore: unhandled shareable semaphore flag > W/00000948/grCreateQueueSemaphore: unhandled shareable semaphore flag > W/00000948/grCreateQueueSemaphore: unhandled shareable semaphore flag > W/00000948/grCreateQueueSemaphore: unhandled shareable semaphore flag > W/00000948/grCreateQueueSemaphore: unhandled shareable semaphore flag > W/00000948/grCreateQueueSemaphore: unhandled shareable semaphore flag > ``` ### `grvk_axl.log` (*Empty*) > ``` > === GRVK 0.5.0 (AXL) === > ``` #
Artoria2e5 commented 1 year ago

Huh, tried 2bb8b8e action-build on Adrenaline 22.11.2 and got this: grvk.log (bit different!) grvk_axl.log (empty) PROFSAVE_profile.txt

Same initial symptom: first launch shows splash screen in a window then goes fullscreen black. After that it shows no splash and just occasionally the bar-on-top-right loading icon before crashing.

Windows 11 (10.0.22621.963), Intel 8086K. Did an inadvisable "system-wide" install by copying straight into Windows/{System32,SysWow64}.