Jump to content
  • 0

Inconsistent "Call to an OS Function Failed"/Problems Running Texconv (Linux)


itsdnoftheworld

Question

Hello, I have been having an annoying issue running Dyndolod 3 on my Proton setup related to texconv. While running Dyndolod after successfully generating xlodgen and texgen, I am unable to proceed with generating Dyndolod, as I eventually get a message saying "Could not execute "Z:\home\dillon\Games\DynDOLOD\Edit Scripts\Texconvx64.exe" -nologo -gpu 0 -y -m 1 -aw 256 -f R8G8B8A8_UNORM -o "C:\users\steamuser\Temp\DynDOLOD_SSE" "C:\users\steamuser\Temp\DynDOLOD_SSE\379794EC272A4EF98BAF93F0B0726085.dds". Then I get a pop-up about Call to an OS Function Failed. No .esp is mentioned.

Since I am on Linux, I don't have UAC or AV on my computer, and after changing permissions of some of the folders, specifically my game folder, mods folder, and the Dyndolod folder I have been able to run it once or twice. However, after changing a texture mod, I have been completely unable to get around this Texconv issue. I believe that Texconv should be running, since I can see it in the task manager and I can see some .dds files being converted. I also was able to run texgen and xlodgen with no issue. In fact I have run Dyndolod successfully earlier today! I have tried placing Dyndolod folder in both my Z: drive (the native Linux system) and my C: drive (the emulated Windows drive), and both run into the same error. I also reinstalled and repaired dotnet and C++, and I was able to run texconv (the official one from Github) with the below output. I also was able to convert images into .dds from the command line. However I could not replicate this with the one downloaded alongside Dyndolod. Is this expected behavior?

I am currently unable to test on Windows since my install is all messed up, but I am just looking to see if there is anything I have missed in troubleshooting. Any advice would be greatly appreciated.
 

Bug Report: https://pastebin.com/B3Te9XG4

SSE Log: https://paste.ee/p/Hhg78

Texconv Test: https://paste.ee/p/6vtVc

Link to comment
Share on other sites

9 answers to this question

Recommended Posts

  • 0
55 minutes ago, itsdnoftheworld said:

Hello, I have been having an annoying issue running Dyndolod 3 on my Proton setup related to texconv. While running Dyndolod after successfully generating xlodgen and texgen, I am unable to proceed with generating Dyndolod, as I eventually get a message saying "Could not execute "Z:\home\dillon\Games\DynDOLOD\Edit Scripts\Texconvx64.exe" -nologo -gpu 0 -y -m 1 -aw 256 -f R8G8B8A8_UNORM -o "C:\users\steamuser\Temp\DynDOLOD_SSE" "C:\users\steamuser\Temp\DynDOLOD_SSE\379794EC272A4EF98BAF93F0B0726085.dds". Then I get a pop-up about Call to an OS Function Failed. No .esp is mentioned.

Since I am on Linux, I don't have UAC or AV on my computer, and after changing permissions of some of the folders, specifically my game folder, mods folder, and the Dyndolod folder I have been able to run it once or twice. However, after changing a texture mod, I have been completely unable to get around this Texconv issue. I believe that Texconv should be running, since I can see it in the task manager and I can see some .dds files being converted. I also was able to run texgen and xlodgen with no issue. In fact I have run Dyndolod successfully earlier today! I have tried placing Dyndolod folder in both my Z: drive (the native Linux system) and my C: drive (the emulated Windows drive), and both run into the same error. I also reinstalled and repaired dotnet and C++, and I was able to run texconv (the official one from Github) with the below output. I also was able to convert images into .dds from the command line. However I could not replicate this with the one downloaded alongside Dyndolod. Is this expected behavior?

I am currently unable to test on Windows since my install is all messed up, but I am just looking to see if there is anything I have missed in troubleshooting. Any advice would be greatly appreciated.
 

Bug Report: https://pastebin.com/B3Te9XG4

SSE Log: https://paste.ee/p/Hhg78

Texconv Test: https://paste.ee/p/6vtVc

Read https://dyndolod.info/Official-DynDOLOD-Support-Forum#Post-Logs which DynDOLOD debug log to also upload when making posts.

>I also was able to run texgen and xlodgen with no issue.
>In fact I have run Dyndolod successfully earlier today!
>Is this expected behavior?
Yes.

DynDOLOD tried to execute the command line tool via a standard OS function. That OS function returned the error message.
This might mean Texconv might not have even executed at all. There might be more descriptive information in the winedebug log. You might also want to enable debug logging in MO2 and then check its log.

In any case, you might want to test with this version https://mega.nz/file/YNIlXQ7C#-NY9FcWU1B8N_QdSxtRyNrgIih7cSxSPNy0EJKBF834 to see if it makes a difference.

Test if adding LockTexconv=1 under [DynDOLOD] in Z:\home\dillon\Games\DynDOLOD\Edit Scripts\DynDOLOD\DynDOLOD_SSE.INI changes anything.

Link to comment
Share on other sites

  • 0

I was experiencing this myself recently when trying to run DynDOLOD through Wine/Proton. After a few days of confusion, it appears to be this Wine bug that causes Texconv to fail if -nowic isn't supplied as an argument. This Wine bug has been fixed since Wine 9.0-rc2, and I was able to successfully generate DynDOLOD after upgrading to Wine 9.0 (in my case, I installed the full 9.0 release).

Hope this helps.

Link to comment
Share on other sites

  • 0
7 hours ago, Baguettedood said:

I was experiencing this myself recently when trying to run DynDOLOD through Wine/Proton. After a few days of confusion, it appears to be this Wine bug that causes Texconv to fail if -nowic isn't supplied as an argument. This Wine bug has been fixed since Wine 9.0-rc2, and I was able to successfully generate DynDOLOD after upgrading to Wine 9.0 (in my case, I installed the full 9.0 release).

Hope this helps.

See https://dyndolod.info/Changelog for Version 3.00 Alpha 36.
Use Texconv included in the DynDOLOD 3 Standalone archive.

"A call to an OS function failed" is a message from the OS and not the same as "FAILED [mipmaps] 80070057: Invalid parameter"

Link to comment
Share on other sites

  • 0

I actually got it to work a day after I made my original post, but again, I'm not sure how/forgot how. I was testing with the 32bit version of Texgen/Dyndolod and it worked fine, although of course, when running with my full mod list it runs out of memory. Later, I was switching back to 64bit and it worked that time. So I guess something on my end isn't playing well with the 64bit version of Texconv. 

Link to comment
Share on other sites

  • 0

I've been having the exact same problem since yesterday when I try to run DynDOLOD 3 (latest version at the moment) on my Linux machine. Here are my logs:

https://file.io/2pbvPPebJGlO

You might notice that there are logs that aren't usually there (the lines with the writing and reading from files in the Temp directory mostly), because those are most likely there because I swapped the Texconvx64.exe file you provided with the one in the official repo (https://github.com/microsoft/DirectXTex/releases, the December 31st one). However, that didn't do anything and the error is still happening.

The steam log is there because the way my MO2 is set up, it opens when I open Skyrim SE on Steam instead of the launcher.

Also, I don't know how useful it is but I have a usvfs log in there. However I do know that every time the error happened

callContext.lastError()=1359

was in those logs.

Also, I tried what you said earlier in this thread (adding LockTexconv=1 to DynDOLOD_SSE.ini file under [DynDOLOD]), but that didn't do anything. I still haven't managed to run DynDOLOD successfully.

Let me know if that's useful.

Link to comment
Share on other sites

  • 0
8 hours ago, Delkry said:

I've been having the exact same problem since yesterday when I try to run DynDOLOD 3 (latest version at the moment) on my Linux machine. Here are my logs:

https://file.io/2pbvPPebJGlO

You might notice that there are logs that aren't usually there (the lines with the writing and reading from files in the Temp directory mostly), because those are most likely there because I swapped the Texconvx64.exe file you provided with the one in the official repo (https://github.com/microsoft/DirectXTex/releases, the December 31st one). However, that didn't do anything and the error is still happening.

The steam log is there because the way my MO2 is set up, it opens when I open Skyrim SE on Steam instead of the launcher.

Also, I don't know how useful it is but I have a usvfs log in there. However I do know that every time the error happened

callContext.lastError()=1359

was in those logs.

Also, I tried what you said earlier in this thread (adding LockTexconv=1 to DynDOLOD_SSE.ini file under [DynDOLOD]), but that didn't do anything. I still haven't managed to run DynDOLOD successfully.

Let me know if that's useful.

This is an error message returned from the OS. 1359 seems to be defined as an internal error occurred.

I can not really fix or are proficient in troubleshooting problems with the OS/wine/proton. Unfortunately the log is quite full of exceptions and what not, so it is hard to find which Texconv call relates to one with the actual error, because of the different timestamp formats.

You could try to minimize the need for Texconv by having less textures use BC7. For example set compression in TexGen to DXT1 and DXT5 for example.

You could test running DynDOLOD directly from a command prompt like
WINEESYNC=1 WINEFSYNC=1 protontricks-launch --appid 489830 "/linux/path/to/DynDOLOD/DynDOLODx64.exe"
to see if it runs through for the vanilla game without MO2 in the mix.

In that case install DynDOLOD Resources SE and TexGen output manually.

Link to comment
Share on other sites

  • 0

I managed to run it successfully after setting all compression to DXT5 as you said above! I have one question though: will this result in noticeably lower quality in game compared to BC7?

I still can't say for sure that it wouldn't have worked eventually if I ran it enough time with BC7 compressed textures, but setting compression to DXT5 seems to increase the probability of DynDOLOD running successfully in this case.

Thanks for the help.

Link to comment
Share on other sites

  • 0
28 minutes ago, Delkry said:

I managed to run it successfully after setting all compression to DXT5 as you said above! I have one question though: will this result in noticeably lower quality in game compared to BC7?

I still can't say for sure that it wouldn't have worked eventually if I ran it enough time with BC7 compressed textures, but setting compression to DXT5 seems to increase the probability of DynDOLOD running successfully in this case.

Thanks for the help.

You typically not really going to see a difference. Maybe if you compare close up directly between screenshots, but overall it will pretty much look the same.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, Privacy Policy, and Terms of Use.