doitsujin / dxvk

Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine
zlib License
13.42k stars 867 forks source link

Painkiller Black Edition (the original, not the HD remaster) doesn't size it's game window properly #3762

Open Deus-nsf opened 11 months ago

Deus-nsf commented 11 months ago

This is fixable with PROTON_USE_WINED3D=1 %command% but the problem is that it uses direct3d to opengl, it doesn't use dxvk anymore this way, so all the dxvk.conf options are inaccessible. OpenGL is "fine" but can have severe frame pacing and input latency issues with Vsync on (even when there's no action, GPU and CPU underutilized), and SteamOS forces Vsync ON even when "allow tearing" is enabled (it does nothing).

Would be great to have good support for this game, as it's one of the best shooters ever made :)

Blisto91 commented 11 months ago

You should post more details like a screenshot since it isn't very clear what is meant. Also remember logs.

The issue presents itself like below when you start the game

Screenshot ![image](https://github.com/doitsujin/dxvk/assets/47954800/338a5be5-43aa-44bf-af2f-cff04b9934a0)

It can be worked around by forcing a aspect ratio e.g. d3d9.forceAspectRatio = 16:9 for my monitor. not anyway for all resolutions. See below

Log without config (quite spammy) Painkiller_d3d9-no-config.log Log with config Painkiller_d3d9-yes-config.log

Edit: extra notes. The window covers the screen proper back in d9vk 0.11 and starts small with 0.12 but neither actually render anything but a black window. Apitraces captured with dxvk on Linux didn't seem replayable.

Deus-nsf commented 11 months ago

Thank you for the answer! I should have precised that I'm on the Steam Deck, but I was able to reproduce this issue in desktop mode as well. Switching back to DXVK (WINED3D=0), unfortunately force aspect ratio 16:9 doens't help, both in desktop an deck ui, unless the lowest resolution is selected. it's working because only 16:9 resolutions are available

waspennator commented 8 months ago

I can also confirm the same issue on my oled deck too where it just resizes itself to a small box on the top left of the screen, plus it's not just Painkiller Black Edition that's effected, but the majority of the Painkiller games save for hell and damnation, found the same issue with the game's below.

Painkiller overdose Painkiller Reoccurring evil Painkiller Redemption Painkiller resurrection

waspennator commented 7 months ago

Tried out Black Edition on my windows laptop to see what would happen on there, game wouldn't boot up with DXVK, sharing a link of my Trace file with it incase it helps.

https://www.mediafire.com/file/uc2pwrf5k5fzg5r/Painkiller.zip/file

Deus-nsf commented 7 months ago

Weird, just tried on my end on Windows with DXVK 2.3 and 2.3.1 and it works, Nvidia GTX 1080 Ti. I had to force aspect ratio with the dxvk option to have access to my native resolution for some reason though.

DarkSwan86 commented 1 month ago

I can confirm that the behaviour of Painkiller Black edition is still the same as the one shown by the screenshot from @Blisto91.

I'm using the latest Proton-GE with dxvk commit e6f89062f5a5af96c4ae28d2ac441e54fbe94068.

System:
  Host: fedora Kernel: 6.10.12-200.fc40.x86_64 arch: x86_64 bits: 64
    compiler: gcc v: 2.41-37.fc40
  Desktop: KDE Plasma v: 6.1.5 tk: Qt v: N/A wm: kwin_wayland dm: SDDM
    Distro: Fedora Linux 40 (KDE Plasma)
CPU:
  Info: 16-core model: AMD Ryzen 9 5950X bits: 64 type: MT MCP arch: Zen 3+
    rev: 0 cache: L1: 1024 KiB L2: 8 MiB L3: 64 MiB
  Speed (MHz): avg: 1418 high: 4116 min/max: 550/5084 cores: 1: 550 2: 3599
    3: 3599 4: 550 5: 550 6: 550 7: 550 8: 550 9: 4116 10: 550 11: 3600 12: 3453
    13: 550 14: 550 15: 550 16: 3602 17: 3600 18: 550 19: 550 20: 550 21: 3596
    22: 550 23: 550 24: 550 25: 550 26: 550 27: 550 28: 550 29: 550 30: 550
    31: 550 32: 3586 bogomips: 217614
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3
Graphics:
  Device-1: AMD Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT]
    vendor: XFX driver: amdgpu v: kernel arch: RDNA-2 pcie: speed: 16 GT/s
    lanes: 16 ports: active: DP-1 empty: DP-2, DP-3, HDMI-A-1, Writeback-1
    bus-ID: 0a:00.0 chip-ID: 1002:73df
  Display: wayland server: X.org v: 1.20.14 with: Xwayland v: 24.1.3
    compositor: kwin_wayland driver: X: loaded: amdgpu
    unloaded: fbdev,modesetting,radeon,vesa dri: radeonsi gpu: amdgpu
    display-ID: 0
  Monitor-1: DP-1 res: 2560x1440 size: N/A
  API: EGL v: 1.5 platforms: device: 0 drv: radeonsi device: 1 drv: swrast
    gbm: drv: kms_swrast surfaceless: drv: radeonsi wayland: drv: radeonsi x11:
    drv: radeonsi
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 24.1.7 glx-v: 1.4
    direct-render: yes renderer: AMD Radeon RX 6750 XT (radeonsi navi22 LLVM
    18.1.6 DRM 3.57 6.10.12-200.fc40.x86_64) device-ID: 1002:73df
    display-ID: :0.0
  API: Vulkan v: 1.3.290 surfaces: xcb,xlib,wayland device: 0
    type: discrete-gpu driver: N/A device-ID: 1002:73df device: 1 type: cpu
    driver: N/A device-ID: 10005:0000
WinterSnowfall commented 4 weeks ago

Both Painkiller games seem fine here on latest master.

Painkiller: Black Edition ![PK](https://github.com/user-attachments/assets/64cdb7ca-af58-4781-b75b-246e9eb5eb4e)
Painkiller: Overdose ![Overdose](https://github.com/user-attachments/assets/ccd9e119-ad6b-42e8-9b29-6be13b564530)

I am on X11 however, so maybe it's an issue with Gamescope?

waspennator commented 4 weeks ago

Both Painkiller games seem fine here on latest master.

Painkiller: Black Edition PK

Painkiller: Overdose Overdose

I am on X11 however, so maybe it's an issue with Gamescope?

I tried it out lately on deck desktop mode (which I believe uses X11) on proton Experimental and i still run into the issue, unless a newer version of dxvk fixed it and isn't in proton yet. Screenshot_20241031_081241

Edit: Same result with bleeding-edge proton Experimental, game launches weirdly in a small window, if I use wined3d in desktop mode, it properly full screens and looks normal sized.

DarkSwan86 commented 3 weeks ago

@WinterSnowfall on Fedora 41 KDE Plasma (Wayland session - Mesa 24.2.5) with the latest release of Proton-GE 9.18 (today), the game loads on a small windows with only a quarter of the menu visible. Schermata_20241101_223024