UnleashedRecomp icon indicating copy to clipboard operation
UnleashedRecomp copied to clipboard

Linux - video issue : a bit of vertex explosion can happen randomly on GTX 760.

Open tails101 opened this issue 8 months ago • 4 comments

Validation

  • [ ] I have checked the Issues page to see if my problem has already been reported
  • [ ] I have confirmed that this bug does not occur in the original game running on original Xbox 360 hardware Yes

If you have DLC installed, please specify which ones you have.

Every dlc

If you have mods enabled, please specify which ones you have.

Provide a list of your enabled mods in Hedge Mod Manager here. You will not receive support for issues caused by mods.

No mods

If you have codes enabled, please specify which ones you have.

Provide a list of your enabled codes in Hedge Mod Manager here.

No codes

Describe the Bug

A clear and concise description of what the bug is. There is a bit of vertex explosion that can happen randomly with the gtx760 with the flatpack version. Happen mostly in the background but anything can be affected.

Steps to Reproduce

Steps to reproduce the bug:

  1. Go to '...'
  2. etc.

It can happen anywhere in the game itself, menus are not affected.

Expected Behavior

A clear and concise description of what you expected to happen.

Footage

Attach a screenshot or video of the bug. If possible, please also provide footage of the expected behaviour on original Xbox 360 hardware.

Specifications

Fill out the following details:

  • Intel 4130 i3
  • Gtx760
  • Linux mint 22.1
  • Flatpack version 1.01

Additional Context

Provide any other context about the problem here. I'm using Nvidia proprietary drivers 470 and x11

tails101 avatar Mar 05 '25 06:03 tails101

a video or screenshot would be nice.

FemboyValve avatar Mar 05 '25 12:03 FemboyValve

I'm using Nvidia proprietary drivers 470 and x11

These are heavily out of date by at least 4 years. Is it not possible to update?

DarioSamo avatar Mar 05 '25 22:03 DarioSamo

I'm using Nvidia proprietary drivers 470 and x11

These are heavily out of date by at least 4 years. Is it not possible to update?

Nope,those are the last drivers made for this graphic card. This is well known. It doesn't cause any issues in proton sarek For the screenshots I'll try to post some tomorrow.

tails101 avatar Mar 06 '25 00:03 tails101

Image Image Image Image Image Image Image Image Image

tails101 avatar Mar 06 '25 12:03 tails101

This isn't specific to the GTX 760, Since I'm having the same thing on a Laptop MX 110. 570 prprietary drivers.

ghost avatar Mar 17 '25 18:03 ghost

i tried with proton sarek async the issue is still there but different the difference is instead of happening over time , it happen in specific areas instead.

tails101 avatar Mar 18 '25 09:03 tails101

We're not aware of any current errors on the code that could lead to this, and it's even less likely that something can corrupt terrain because those meshes are only uploaded once at load time. Their only chance to be affected by anything is just when the model is loaded.

I'm afraid the terrain itself glitching might be hinting that something is going wrong with these GPUs. We've seen behavior like this during testing for one GPU that was being affected by a bad power supply. You may be ruling it out as you haven't seen it in other games, but behavior like this can start showing up over time.

DarioSamo avatar Mar 18 '25 12:03 DarioSamo

We're not aware of any current errors on the code that could lead to this, and it's even less likely that something can corrupt terrain because those meshes are only uploaded once at load time. Their only chance to be affected by anything is just when the model is loaded.

I'm afraid the terrain itself glitching might be hinting that something is going wrong with these GPUs. We've seen behavior like this during testing for one GPU that was being affected by a bad power supply. You may be ruling it out as you haven't seen it in other games, but behavior like this can start showing up over time.

i have check those gpu so i don't think this is the issue. since those gpu are only compliant with vulkan 1.1 i would steer my research in this area instead...

tails101 avatar Mar 19 '25 17:03 tails101

i have check those gpu so i don't think this is the issue. since those gpu are only compliant with vulkan 1.1 i would steer my research in this area instead...

We don't realistically have anything we could possibly do there. The data that is glitching out is completely static in memory. I don't know what API usage could be possibly leading to random vertex explosions on a proprietary driver for a platform that NVIDIA supports with mild success, let alone for much older hardware.

Surely we would've seen such explosions by now elsewhere, but so far the issue hasn't presented itself outside of this particular NVIDIA driver on Linux for two old architectures.

DarioSamo avatar Mar 19 '25 17:03 DarioSamo

My only possible guess is you might as well attempt to use the workaround that is currently enabled for AMD, which is to work around primitive restart indices. You can force that in the code for NVIDIA as well and see if it gives you better results.

DarioSamo avatar Mar 19 '25 17:03 DarioSamo

https://github.com/hedge-dev/UnleashedRecomp/blob/824405b2369eb4f82ce136d86e2dfa2b108050f1/UnleashedRecomp/gpu/video.cpp#L1711

DarioSamo avatar Mar 19 '25 17:03 DarioSamo

you are searching too far... re reading the minimum specs it say a card that handle a minimum of vulkan 1.2 then list a lot of card not compliant with vulkan 1.2 but 1.1. my guess it is just a bad check of what cards are compatible or not. so the solution? revise the list of cards that are not compatible so it match the minimum requirement on linux. and maybe add a warning and a detection of the vulkan version used by the card. another solution would be to recommand to use proton or wine for those card and add a way to force the use dx12 in the windows version so it can be used with a translation layer without issues.

tails101 avatar Mar 19 '25 21:03 tails101

another solution would be to recommand to use proton or wine for those card and add a way to force the use dx12 in the windows version so it can be used with a translation layer without issues.

This makes zero sense, the translation layer translates to Vulkan. This won't make a difference.

No amount of capability check or version checks will cause issues such as these.

Please try the workaround I suggested instead, as I'm aware NVIDIA has made major architectural changes to how triangle strips work over the years.

DarioSamo avatar Mar 19 '25 21:03 DarioSamo

another solution would be to recommand to use proton or wine for those card and add a way to force the use dx12 in the windows version so it can be used with a translation layer without issues.

This makes zero sense, the translation layer translates to Vulkan. This won't make a difference.

No amount of capability check or version checks will cause issues such as these.

Please try the workaround I suggested instead, as I'm aware NVIDIA has made major architectural changes to how triangle strips work over the years.

there is a translation layer called proton sarek it can convert direct x to open gl and vulkan 1.1 it was made for cards not updated anymore on linux or with partial support of vulkan. https://github.com/pythonlover02/Proton-Sarek

https://www.youtube.com/watch?v=M5QFuMnnnZ4

i would love to use your workaround but i don't even know where i should put your command line... note with the same gpu there is no bugs on windows since a gtx760 handle dx12 .

tails101 avatar Mar 19 '25 22:03 tails101

i would love to use your workaround but i don't even know where i should put your command line... note with the same gpu there is no bugs on windows since a gtx760 handle dx12 .

If it works under DX12 it should definitely have the same capabilities reported under Vulkan then. You can test Vulkan under Windows as well to make sure of that by changing the GraphicsAPI in the configuration file.

The line I posted is from the source code, so you'l need to modify it and build it to test it out. Forcing that line to "true" will let you test the workaround.

DarioSamo avatar Mar 19 '25 22:03 DarioSamo

i would love to use your workaround but i don't even know where i should put your command line... note with the same gpu there is no bugs on windows since a gtx760 handle dx12 .

If it works under DX12 it should definitely have the same capabilities reported under Vulkan then. You can test Vulkan under Windows as well to make sure of that by changing the GraphicsAPI in the configuration file.

The line I posted is from the source code, so you'l need to modify it and build it to test it out. Forcing that line to "true" will let you test the workaround.

i'm not really into compiling stuff myself. i'm using mint and bazzite so you are asking to much here. for the configuration file in the other hand ill see what i can do. and no dx and vilkan capabilities are not generally the same mostly because nvidia always focused on opengl and direct x first while vulkan was a minority api at those times.

tails101 avatar Mar 19 '25 22:03 tails101

Oki tested with the vulkan api in windows and no vertex explosion. Only more slow down than direct X so it could be an issue in the driver implementation on Linux .

tails101 avatar Mar 20 '25 09:03 tails101

Oki tested with the vulkan api in windows and no vertex explosion. Only more slow down than direct X so it could be an issue in the driver implementation on Linux .

Can you tell me the version of the Windows driver?

Also, Vulkan in general is a tad slower than D3D12 on NVIDIA when it comes to CPU cost. Not much that can be done there I'm afraid.

DarioSamo avatar Mar 20 '25 12:03 DarioSamo

Oki tested with the vulkan api in windows and no vertex explosion. Only more slow down than direct X so it could be an issue in the driver implementation on Linux .

Can you tell me the version of the Windows driver?

Also, Vulkan in general is a tad slower than D3D12 on NVIDIA when it comes to CPU cost. Not much that can be done there I'm afraid.

Ho sure sorry. It is 475.14 from 07/09/2024

tails101 avatar Mar 20 '25 19:03 tails101

Alright. I think we've ruled out the GPU is capable enough of playing the game. Should we just rule this out as a faulty Linux proprietary driver? I have a hard time believing there's some incorrect behavior on the application's side as this is the only report we've gotten of behavior like this, both on EOL'd Linux NVIDIA drivers.

DarioSamo avatar Mar 21 '25 01:03 DarioSamo

Alright. I think we've ruled out the GPU is capable enough of playing the game. Should we just rule this out as a faulty Linux proprietary driver? I have a hard time believing there's some incorrect behavior on the application's side as this is the only report we've gotten of behavior like this, both on EOL'd Linux NVIDIA drivers.

You forget AdamMosley12 reporting same issue on different hardware. Btw how do we force D3d api?

tails101 avatar Mar 21 '25 07:03 tails101

I want to say that I downgraded the driver to 535 proprietary drivers and it stopped glitching. My guess is that my hardware is old, so an older driver will give it more stability (I'm not sure)

ghost avatar Mar 24 '25 18:03 ghost

We'll wait for a new report if it shows up again with more concrete information, but I think if the same hardware works fine on different platforms and drivers under Vulkan we can rule out the Vulkan implementation being an issue.

Feel free to open a new issue if you encounter anything easier to trace in the future.

DarioSamo avatar Mar 24 '25 18:03 DarioSamo