iXit / wine-nine-standalone

Build Gallium Nine support on top of an existing WINE installation
GNU Lesser General Public License v2.1
272 stars 23 forks source link

Prince of persia Warrior Within #143

Open CTRL-ALT-DEL-92 opened 1 year ago

CTRL-ALT-DEL-92 commented 1 year ago

Dear G9 Devs,

The usual black screen issue occours again, the title affected this time is POP Warrior Within Prince of persia warrior Within

Graphics: Device-1: Intel HD Graphics 530 vendor: ASUSTeK driver: i915 v: kernel ports: active: eDP-1 empty: DP-1,HDMI-A-1,HDMI-A-2 bus-ID: 00:02.0 chip-ID: 8086:191b

OpenGL: renderer: Mesa Intel HD Graphics 530 (SKL GT2) v: 4.6 Mesa 22.1.5 - kisak-mesa PPA direct render: Yes

It appears that G9 is still broken on pure NIR drivers... Will this issue be fixed anytime soon?

Thanks in advance for your usual kindness and support

Best Regards

lorn10 commented 1 year ago

Hi there, - please install the oibaf PPA and retest with current Mesa 22.3 devel. Or alternatively wait until Mesa 22.2 is available through the kisak fresh PPA.

There were some significant changes in 22.2 so it's quite possible that it works better in newer Mesa releases. :+1:

axeldavy commented 1 year ago

No idea if that affects you intel card, but there are some fixes for zink on this branch: https://gitlab.freedesktop.org/axeldavy/mesa/-/tree/unsupported_features_emulation

Zink is pure nir and doesn't implement all required gallium nine features, so the branch adds emulation for the missing ones. Maybe your intel card suffers from the same fate ?

CTRL-ALT-DEL-92 commented 1 year ago

Dear G9 devs,

As suggested I've installed the latest mesa git via oibaf PPA but nothing changed... I can confirm that this issue is not present on my old tower pc which mounts an ati radeon hd 8000 series, the gpu relies on the old radeon driver and not the amd one. Is it related to the fact that the radeon driver is not a pure NIR one? Thanks in advance for your usual kindness and fast response.

Best Regards

lorn10 commented 1 year ago

I think it is not so simple to say that NIR has "generally" problems. Rather true is that Gallium Nine has some strange issues with older Intel iGPUs especially in conjunction with the crocus driver.

Whatever, you can test the behavior with your Radeon HD 8000 card as follow. If the r600 driver is used, the R600_DEBUG=nir option will force the reworked NIR backend. Otherwise the TGSI via NIR path is active. I think since Mesa 22.3 it is no longer possible to use pure TGSI.

In my case, I have no problems with the NIR path on the r600 driver in conjunction with the CXBX-R Xbox emulator. So it runs fine or even better with the R600_DEBUG=nir option. :+1:

Addition: A black rendering is also confirmed in bug #142 for the game "Divinity II: Developer's Cut". The mentioned case belongs to the crocus driver in conjunction with a Gen7 iGPU while the black rendering issue here belongs to the iris driver and a Gen9 iGPU. Those two black rendering issues on Intel hardware may or may not be related.

CTRL-ALT-DEL-92 commented 1 year ago

Dear G9 Devs,

Following your suggestion I tested another dx9 game, Bioshock, and it works just fine and render flawlessly on my intel card Bioshock

I executed the gog version of bioshock in a clean prefix with just nine installed. I had to disable d3d10 and d3d11 dlls otherwise blackscreen. Could be something related to POP warrior within then? Does something happen when uplay setup manager installs dx redistributables perhaps?

Best Regards

lorn10 commented 1 year ago

Great, so it looks that the issue here is Prince of persia Warrior Within and Intel GPU related.

Can you produce an apitrace? This would be really helpful for the G9 Devs. :+1:

CTRL-ALT-DEL-92 commented 1 year ago

As suggested I produced a small apitrace. How do I send the apitrace? Github allows 25 mb max, my file is 205 mb.

lorn10 commented 1 year ago

Maybe you can upload it to a Google account or mega? :wink:

dungeon007 commented 1 year ago

Did you tried csmt_force=0 on this?

I had trouble on AMD APU with first PoP game, The Sands of Time. It goes crazy on GTT right in the menu/controls, so this is probably the similar cause since engine is the same... goes OOM seems on iGPUs and quickest solution was to disable csmt. Or different one... to zero out buffer_upload in device9.c :D Can't remember what happens exactly, maybe these PoP apps missdetect something about iGPUs memory with NINE and then go into OOM or just NINE did not manage this so well for iGPUs... Anyhow, always try flags like... csmt_force, thread_submit, tearfree_discard... they are true by default, but not so always good.

6b6279 commented 9 months ago

I am not sure if this is related, but Crimzon Clover (Japanese indie shmup game) also displays a black screen upon launch, although the edges of the menu screen are rendered. I am using amdgpu, Wine running on XWayland. Game runs fine after disabling Gallium Nine over ninewinecfg.

20231010_16h40m58s_grim