-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Some games work while others run up to main menu & don't load to in-game #142
Comments
For the record, this topic belongs to the r600 (and alternatively the crocus) driver in conjunction with Mesa devel 22.2.0. The hardware specs are:
@hotcapy Thanks for your report. It looks that you got a somewhat bad timing for your testing. The r600 driver is currently under a super heavy refactoring. The old TGSI path will be fully ditched and replaced by a new NIR backend. More information can be found here. This means that you have to use from now on the And if you notice any further errors, then please try to produce an apitrace so that the devs have the chance to reproduce the problem. 😉 |
@lorn10 Hi! Thank you very much for your really fast answer. Unfortunately, when I set "R600_DEBUG=nir" option, my games do not start at all: same way and all of them, including SPORE and WALL-E, which worked with Nine fine before. I used "apitrace" tool on SPORE as example since SPORE is working without "nir" option for both Nine and just Wine. Link to MEGA cloud folder with traces and logs: https://mega.nz/folder/FQtCXZgA#CzplU8iNWsInpAqVx5pFHQ I tried to use obvious filenames but here is detailed explanation: with-nir_not-working - "nir" option used, SPORE is not starting anymore; If I can provide any additional info about my configuration that might help someway please let me know :-) |
Divinity II definitely used to work here, as well as Hot Pursuit. |
I'd like to chime in that R600_DEBUG=nir will not become the default with Mesa 22.2.0, it's simply not there yet. More helpful logs with R600 nir can be obtained by setting BTW: the log of the failure shows an assertion failure with |
What is true however, is the code path glsl-to-tgsi will be replaced by glsl-to-nir + nir-to-tgsi. |
@gerddie Hi! |
Your using an old version of mesa - the reworked nir code landed just recently (and that's why I couldn't find the |
Oh, I see. As I mentioned before, I have no special knowledge for drivers and that kind of things, unfortunately. So I'm just using "mesa-git" package from AUR. |
I see, well then just wait until 22.2.0-rc1 is packaged there, and retest with that (I myself are not that familiar with arch Linux) |
@hotcapy By the way, you should be able to test all your games also on your Intel "Ivy Bridge" iGPU via parameter With this you can effectively check if a problem is more Gallium Nine or Mesa driver related. So if a problem exist with both GPUs then it is more Gallium Nine related while otherwise it is most likely a Mesa driver thing. 👍 |
Today I did few more tests and results were interesting and... Unpredictable a bit. It will be long post and lot of letters, I'm sorry for that! :c As @lorn10 suggested, I tried to run all of my installed games on integrated GPU "Intel HD Graphics 4000" instead of dedicated one "AMD Radeon HD 7670M". Nine is active in all cases. "Divinity II: Developer's Cut" didn't crashed after loading screen and successfully loaded my save file, but in-game everything is black: I see no textures or models - just black screen. The only thing that is working is user interface. I can even open character's inventory, see items in it, their pictures and descriptions, maybe do something with them, access skills page and all that sort of UI thing. I can also access pause menu and exit from game as usual. "Need for Speed: Hot Pursuit 2010" showed me even better results: instead of crash at the moment of race select or world freedrive select game successfully loads though all loading screens and car selection window to the game world. But perfomance is pretty bad. It is already playable, but not very enjoyable that way - FPS feels low. As I mentioned before, without Nine on Radeon GPU perfomance feeled like 1 FPS and was absolutely unplayable. "SPORE" gave me a little surprise and... did not start at all. Just closes few seconds after I starting it. Don't know why. "WALL-E" successfully starts and plays. Perfomance is good and game is playable. But on Radeon GPU perfomance is perfect. On Intel GPU I feel something like little input lag that is not present on Radeon GPU, so FPS is probably a bit lower, but still good. Since "Divinity II: Developer's Cut" and "SPORE" do not work this way, I uploaded their logs and traces to the cloud. If it will help someway, I can do the same for the working games too. I have few thoughts. First is about "SPORE": maybe game is just too register sensitive or something like that? Mostly unlikely, but Wine prefixes are not clean in all cases, since it takes too much time to test all possible settings and configurations. At least it is something that we can keep in mind. Second thought is about my laptop's GPUs. I knew that information already before all tests with Nine, but I just forgot about it. It seems that on software level Linux GPU drivers do not support/provide Radeon's actual OpenGL hardware version. In my case Intel GPU shows me OpenGL 4.2 version while Radeon GPU shows only OpenGL 3.3. Here are some outputs from "inxi -G" terminal command:
And also from Lutris hardware information window:
Please note that despite what Lutris says about Vulkan, my Radeon GPU does not support it while Intel GPU has limited support. I tried before to use Intel GPU + DXVK, but perfomance is much worse then without any DXVK/Nine and just with Wine on Radeon GPU. Different websites says slightly different info, but if believe them, my Radeon GPU should support at least OpenGL 4.1 and up to 4.4 on hardware level. Can it be related to my issues? I don't know anything about it actually, but as I understand, OpenGL is used by Wine/Nine, right? First time I noticed that was when I was interested in which games that I play on my desktop will also work on my laptop and I tried to run "Divinity: Original Sin" which is native on Linux but requires OpenGL 4.x support. I remember that I was not able to make it work and integrated Intel GPU failed it too. I searched a lot on internet and found lot of info about bug in Mesa which prevented game start on Radeon GPU, but it seemed it was fixed already at the moment. I believe it should work on Windows OS and maybe it even worked once on very-old Catalyst proprietary GPU drivers by AMD, but who knows? It can not be installed easy these days. |
The reason AMD TURKS graphics cards only expose OpenGL 3.3 when using the default setting is that these cards don't support ARB_gpu_shader_fp64 (i.e. 64bit floating point) in hardware. The old propriety frglx driver provided a software emulation of that feature and was, therefore, able to advertise OpenGL 4.4. With the new NIR back-end AMD TURKS also gets a software emulation of that feature and exposes OpenGL 4.5. In any case, fp64 is a feature that is rarely used, and especially in games it was probably never required. At most some game developers were lazy, and instead of testing the actual features they might have just tested whether OpenGL >= 4.0 is supported and didn't start the game if it doesn't. |
@hotcapy Most likely the situation becomes better also for the Intel iGPU when a new AUR mesa-git release is available. The current version is one month old (2022-07-03). So the best is to wait for a newer release and then make one issue report per game. 😉 |
Hi everyone! Quick update on the issue. I updated both lib32-mesa & mesa from AUR, "clean" build for all, now version is 2022-08-17 22.3.0-devel. Everything below are Radeon GPU & Nine enabled. "SPORE" and "WALL-E" games, which worked without nir, continue to work good with nir as well. I didn't took any logs & traces for now since issues are identical to previous ones, but if it can help somehow, please let me know for which games I should upload. Also if needed I can try to download & test some other games on my configuration if my set is not very helpful for issue investigating. P.S. OpenGL version still detects as 3.3 for Radeon GPU and 4.2 for Intel GPU. |
Hi again & thanks for the feedback! So two games are fixed, they now also work normally with the NIR path. 👍 Regarding "Divinity II: Developer's Cut", that issue might be related to bug #143, a black rendering in the game "Prince of Persia Warrior Within". When ever possible please make a new bug report only for that game which contains one AMD GPU trace (including Addition: When you use |
@hotcapy The default OpenGL version is still 3.3, because to get a higher version reported you have to force the NIR backend when running whatever program you use to print that info. |
@hotcapy There were again some r600 driver related changes during the last 14 days. Can you perhaps retest all the mentioned games with option Maybe I will find over the weekend some free time to test some of the latest r600 changes but on even older Radeon hardware. 👍 PS Sorry I forget, you are not using the oibaf PPA (latest Ubuntu Mesa GIT builds). But maybe the |
@lorn10 Hi! Thank you for letting me know! Sure, I'll test my games as soon as I can with new options. Right now my laptop at service, trying to fix it's overheat issues that I experiencing even without games. It should be ready in few days :) |
My laptop is ready now, and it's overheating issues are finally fixed. I was able to update Mesa to version "22.3.0_devel.159254.a03ce740bbb-1" thanks to mesa-tkg-git installer. I tried to run all my games with "WALL-E" works as great as before Mesa update, maybe even a bit more great. "Need for Speed: Hot Pursuit 2010" now works and even plays with acceptable performance on Radeon GPU. However, it has serious issues with colors. Textures of pretty everything not at main racing road are white, rocks are green-blue for some reason, but roads and cars are ok. Game seems to be stable, I haven't noticed any crashes during gameplay, but I noticed more important thing: setting shadows level in graphics setting to any value higher then "none" (low, medium or high) leads to crash similar to one which I always had previously before Mesa update (few seconds black screen instead of loading to car select menu when entering race or game world). Setting or not setting "SPORE" sadly not playable anymore, no matter is "Divinity II: Developer's Cut" not starts anymore at all, with & without Conditions that changed since previous tests were Mesa version AUR mesa-git -> mesa-tkg-git, Wine-GE vesion 7-26 -> 7-27 (which most likely is unrelated since no serious changes were maid in these builds as soon as I know) and thermal paste replace in laptop (which helped a lot with temperatures and shut-downs due to components overheat). Also some good news: Linux native OpenGL 4.x game "Divinity: Original Sin - Enhanced Edition" works and plays with By the way, most of my apps that are not games are working normally with |
"Need for Speed: Hot Pursuit 2010" wrong world colors demonstration. EDIT: Little update. Mesa 22.3.0_devel.159379.28a69b72d8e-1.
|
Thanks for the additional testing.:+1: Maybe the problem in "SPORE" is Wine related, it looks that Wine 7.16 was quite flawed for several applications. Whatever, Wine 7.17 landed recently and it fixed again different things. Maybe you give it a try. And there was also again a change in the R600 driver, se Mesa MR !18518. Keep in mind that when you are testing with Gallium Nine, you have to force every game to DirectX 9 mode. So maybe it helps something when you change the "Windows Version" in wine to Windows XP through |
You are totally right about Wine, thank you! "SPORE" working normal again with 7.17, issue really was related only to Wine update and not Mesa. Regarding latest Mesa update, all my games work (or not work) in the same way as before =) |
Nowdays latest versions of Wine's forks already includes patch that should fix Nine.
I tested few random and different DirectX 9 games on my old laptop.
It has no Vulkan support (and so can't run DXVK at all) and perfomance with default WINED3D is not playable or acceptable for most games.
Dedicated GPU is AMD/ATI.
All of the above are reasons why I need to use Nine but not something else.
Some old games like SPORE and WALL-E work perfectly (at least in aspects that I already tested in-game).
Others like Need for Speed: Hot Pursuit 2010 and Divinity II: Developer's Cut don't with similar symptomps (but maybe for different reasons - it is unknown for me).
They run, main menu and various options are visible and have no visual problems, but as soon as you choose to load your save game, screen becomes black for some time and then game just closes.
I do not have enough knowledge to understand what is wrong from logs myself - I see no messages that could be related to issue - but it is just me.
Maybe you could properly read them and then tell me where is the problem hides?
Some context: NFS has no special dependencies, while Divinity strictly requires Physx to run.
Winetricks provides latest Physx and it works with default WINED3D. Game successfully loads and plays.
With Nine Physx helps only up to main menu - game can't load save file.
Istalling Physx legacy version which comes with game itself not helps in both cases (game not opens at all w/o Winetricks's Physx).
Without Nine perfomance for Divinity is sad, and extremely sad for NFS (unplayable).
I tried many things on my side to fix the issue. Using system-wide Wine-tkg from terminal or Wine-GE from Lutris (to make use of it's runtime), changing Wine's versions and various options like Windows versions & x32/x64 prefix bit, game's graphics settings, using or not ESYNC/FSYNC, and many other thing that I can't remember anymore. Nothing changes anything.
Nine in logs is active.
Please note, that Divinity has some problems with video playback (fixed in latest GE using WINED3D), so many messages in log could be related to that problem and not the crash itself.
NFS log says sth about FS but if I remember right it says the same with WINED3D so probably not related too.
My system and all software including Wine-related are fully up-to-date. FS is BTRFS, OS is EndeavourOS (Arch), desktop is KDE, GPU driver is AUR mesa-git. Modules for Intel (intel_agp i915) and ATI (radeon) preloaded on boot. And, of course, using dedicated AMD card to run games from both terminal and Lutris.
laptop-specs.txt
nfs-log.txt
divinity-log.txt
The text was updated successfully, but these errors were encountered: