Skip to content
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

Thronebreaker: The Witcher Tales - Black Screen #728

Closed
mozo78 opened this issue Oct 23, 2018 · 57 comments
Closed

Thronebreaker: The Witcher Tales - Black Screen #728

mozo78 opened this issue Oct 23, 2018 · 57 comments
Labels

Comments

@mozo78
Copy link

mozo78 commented Oct 23, 2018

The game starts and loads without problems. After the intro movie it sticks with black screen.

Software information

Thronebreaker: The Witcher Tales

System information

  • GPU: GTX 1080Ti
  • Driver: 396.54.09
  • Wine version: 3.18
  • DXVK version: 0.90

Apitrace file(s)

  • Put a link here

Log files

@doitsujin doitsujin changed the title Thronebreaker: The Witcher Tales - err: D3D11Device: CheckFeatureSupport: Unknown feature: 14 Thronebreaker: The Witcher Tales - Black Screen Oct 24, 2018
@doitsujin
Copy link
Owner

doitsujin commented Oct 24, 2018

Game runs fine on Windows with DXVK (except for missing transform feedback support because AMD's driver doesn't have it yet) but doesn't show the intro video on my wine setup. This is not a DXVK bug.

@mozo78
Copy link
Author

mozo78 commented Oct 24, 2018

@doitsujin
Copy link
Owner

doitsujin commented Oct 24, 2018

Just confirms what I'm seeing here, the game doesn't even try to render anything when running on wine, and the exact same thing happens with wined3d. But as mentioned, this is not my bug.

What did you do to make it play back the first intro movie by the way? I'm getting a black screen right after the initial loading screen.

@mozo78
Copy link
Author

mozo78 commented Oct 24, 2018

I installed the needed Windows Media Foundation files as it's stated in the Shadows: Awakening thread and installed DirectX 9. Nothing more.

@Kron4ek
Copy link
Contributor

Kron4ek commented Oct 24, 2018

I'm getting a black screen right after the initial loading screen.

Yes, i have the same problem. But there is a way to get into main menu, just rename videos directory in game directory.

Anyway, mouse and keyboard doesn't work in main menu and there is no way to start the new game.

@doitsujin
Copy link
Owner

doitsujin commented Oct 24, 2018

Meh, you're right. Current Unity engine seems to do everything in its power to make life hard for us...

@doitsujin
Copy link
Owner

Anyway, closing since this is not my bug. Please file a wine bug report.

@doitsujin
Copy link
Owner

Small update: The input issue is actually caused by the video workaround.

@Dav1dde
Copy link

Dav1dde commented Oct 31, 2018

@doitsujin did you figure out how to get the video to play (or skip it)?

@doitsujin
Copy link
Owner

Someone on the GoL forums got it to work by using the native Media Foundation DLLs from Windows 7. It does not work with the Windows 10 DLLs.

@Dav1dde
Copy link

Dav1dde commented Oct 31, 2018

This seems to work, checking the unity logs I get a new error:

Context: CreateObjectFromByteStream
Error details: The byte stream type of the given URL is unsupported.

For reference on what is needed to do (including how to fix the error above): ValveSoftware/Proton#1102. Unfortunately my windows 7 is missing some media packages, I think. And the Windows 10 regestry export does not work.

So this seems to be the way to go.

@mozo78
Copy link
Author

mozo78 commented Oct 31, 2018

Hmm I can't get the videos to play with Media Foundation DLLs...

@Dav1dde
Copy link

Dav1dde commented Oct 31, 2018

@mozo78 check the unity logs, they are somewhere in the user data directory.

find $WINEPREFIX -iname "*log*"

The unity log file is called output_log.txt iirc, but next to it there are a few more logs that might be interesting.

@mozo78
Copy link
Author

mozo78 commented Oct 31, 2018

@Dav1dde, can you share with us your prefix without the game of course?

@Dav1dde
Copy link

Dav1dde commented Oct 31, 2018

@mozo78 not sure how I'd share it, the whole prefix (without game) is 700mb, Github allows 10mb max. Is there anything specific you need?

@mozo78
Copy link
Author

mozo78 commented Oct 31, 2018

The whole prefix actually :D You can archive it (xz or 7z will reduce the size dramatically) and upload it to one of hundreds hosting sites like mega, pcloud, etc. :) Thank you in advance :)

@mozo78
Copy link
Author

mozo78 commented Oct 31, 2018

@Dav1dde I managed to run the game so don't worry about the prefix. Thank you :)

@Dav1dde
Copy link

Dav1dde commented Oct 31, 2018

@mozo78 was about to upload it, can you maybe provide me the steps and necessary files?

@mozo78
Copy link
Author

mozo78 commented Oct 31, 2018

Actually it ran once and on the second start now I'm stuck with the black screen issue. I thought that you managed to run the game?

@Dav1dde
Copy link

Dav1dde commented Oct 31, 2018

Nope, the error turned into:

Context: CreateObjectFromByteStream
Error details: The byte stream type of the given URL is unsupported.

After getting the necessary DLLs, see the linked Proton issue how to fix it, it should be the exact same issue.

@mozo78
Copy link
Author

mozo78 commented Oct 31, 2018

I haven't this issue but the black screen when the movie starts at the beginning. I found the responsible file. It's tb_intro_logo_en_us but this doesn't help much...

@mozo78
Copy link
Author

mozo78 commented Oct 31, 2018

I prepared wine prefix for those who want:
https://my.pcloud.com/publink/show?code=XZCHQM7ZPX2IgLPPXPVG3rIHPj2rzhGJglU7
Just extract the archive and put the preinstalled game in /prefix/drive_c/game/Thronebreaker/.

Do NOT delete the AppData folder and the other files in that directory. Just put the game among them.

Start the game from the "start" script. Use "desktop" for shortcut on the desktop. If you want to use the FPS feature of DXVK, use the files "fps" and "desktop-fps".

The prefix is tested with the GOG version of the game and it work perfect. Using NVIDIA 396.54.09 is mandatory due to Stream Output requirements of the game. For AMD use mesa-git.

@Dav1dde
Copy link

Dav1dde commented Nov 2, 2018

@mozo78 that's awesome, can you give the steps you used in order to make it work / create the prefix? I want to know what else I needed to do or what I did wrong. Thanks!

@mozo78
Copy link
Author

mozo78 commented Nov 2, 2018

Just use my prefix and don't bother. I'll must write a novel to explain. If you are curious, examine the start script. Everything is there :)

@mozo78
Copy link
Author

mozo78 commented Dec 30, 2018

Write to them. DXVK has nothing to do with WMF :)

@Ahmed-E-86
Copy link

Ahmed-E-86 commented Feb 1, 2019

Instructions for some games requires MF:

(This workaround works with Resident Evil 7, and Resident Evil 2 Remake, but I am not sure if it will work with this game or any game else that requires MF)

1- download this compressed file
python-installcab-master.zip

2- Extract it and open the terminal and write the following commands:

3- cd ~/Downloads/python-installcab-master/
4- winetrick mf and wait for it to finish.

5- export WINEPREFIX=/The/Location/Of/The/Game/Prefix (you need to change the bold text to the actual location of wine prefix of the game)

6- ./install-mf-64.sh to start the script.

7- Finally, you need to copy mfplat.dll version 12.0.7601.23471 (Windows7 64bit) to the game folder.

You can search for the file with: mfplat.dll version 12.0.7601.23471 windows 7 64 bit or copy the file from your Windows 7 SP1 operating system (I can't upload the file because it is illegal).

If you use Arch, or Manjaro, skip step number 6 and write these scripts instead:

python2 installcab.py ~/.cache/winetricks/win7sp1/windows6.1-KB976932-X64.exe mediafoundation
python2 installcab.py ~/.cache/winetricks/win7sp1/windows6.1-KB976932-X64.exe _mf
python2 installcab.py ~/.cache/winetricks/win7sp1/windows6.1-KB976932-X64.exe mfreadwrite
python2 installcab.py ~/.cache/winetricks/win7sp1/windows6.1-KB976932-X64.exe wmadmod
python2 installcab.py ~/.cache/winetricks/win7sp1/windows6.1-KB976932-X64.exe wmvdecod

If the game kept crashing after following these instructions, you probably did something wrong!

@mozo78
Copy link
Author

mozo78 commented Feb 5, 2019

These errors are irrelevant and they was always there.

@Ahmed-E-86
Copy link

These errors are irrelevant and they was always there.

The videos don't work.

@mozo78
Copy link
Author

mozo78 commented Feb 5, 2019

Did you try it with RE2 instructions?

@Ahmed-E-86
Copy link

Did you try it with RE2 instructions?

No, it doesn't work. It was working with your prefix then it stopped suddenly.

@mozo78
Copy link
Author

mozo78 commented Feb 6, 2019

Try with this Wine version:
https://tinyurl.com/y8udmcue

@Ahmed-E-86
Copy link

Try with this Wine version:
https://tinyurl.com/y8udmcue

It is working again. Thanks.

@mozo78
Copy link
Author

mozo78 commented Feb 6, 2019

You are welcome :)

@Ahmed-E-86
Copy link

It did the same thing again. I will just delete all the videos.

@mozo78
Copy link
Author

mozo78 commented Feb 7, 2019

Oh, just reload until it starts. This game behaves like that and this is a known problem :)

@Ahmed-E-86
Copy link

3 reasons for me to not playing this game:

1- Using alt + tab makes the game freeze.
2- Xbox 360 has issues with some Unity games (this game is one of them).
3- Videos are not working.

I will try Gwent. Is it playable on Linux?

@mozo78
Copy link
Author

mozo78 commented Feb 7, 2019

I don't know. For the Alt+Tab problem use a virtual desktop. Issue the following command in the root folder where is the start script:
./winetools -cfg

@Ahmed-E-86
Copy link

Ahmed-E-86 commented Feb 8, 2019

I don't know. For the Alt+Tab problem use a virtual desktop. Issue the following command in the root folder where is the start script:
./winetools -cfg

Virtual desktop doesn't help, the games still freezes when use alt+tab.

Deleting Thronebreaker.dxvk-cache from the game directory helps with the black screen at the beginning.

I used the workaround inside your prefix to be permanent in my main prefix. Importing registry keys fails but I did it manually using regedit.

@mozo78
Copy link
Author

mozo78 commented Feb 8, 2019

Can't the cash be stopped with dxvk.useStateCache = False?

@Ahmed-E-86
Copy link

Ahmed-E-86 commented Feb 8, 2019

Can't the cash be stopped with dxvk.useStateCache = False?

When it is first introduced dxvk.useStateCache = True was the way to turn it on, but I don't know if it can be used to turn it off. I don't need to turn it off completely.

My main problem is Xbox 360 behave strangely with some unity games, so I can't play this games with a controller.

@DocKDE
Copy link

DocKDE commented Sep 11, 2019

@mozo78 @ahmed-elsayed2017
I just bought the game and realized it won't run out of the box. Now I'm looking for ways to make it run. You apparently made it work and shared your prefixes but the links don't exist anymore. Would it be possible to share them again? I'd really like to run this game without the workaround of deleting the campaign video folder.

@mozo78
Copy link
Author

mozo78 commented Sep 11, 2019

I'll have to install mfplat. Google for z0z0z0. You can do it for seconds :)

@DocKDE
Copy link

DocKDE commented Sep 11, 2019

If you're talking about the mf-install script, I tried doing that right after the installation but it didn't help with the blackscreen. By the way I used the Lutris script for the GOG version. I think it install mfplat by itself.

@mozo78
Copy link
Author

mozo78 commented Sep 11, 2019

@DocKDE
Copy link

DocKDE commented Sep 11, 2019

Thanks! Sorry if the questions seems stupid but what exactly should I do with this? I thought I'd need to move my game folder into the prefix' folder "drive_c/game" and then use the "start" script but that didn't work right. Anything else I need to do here?

@mozo78
Copy link
Author

mozo78 commented Sep 11, 2019

Extract the prefix again and put the preinstalled GOG game in /drive_c/game/Thronebraker. DO NOT delete AppData, dxvk-on, d3d11.dll, and dxgi.dll. Then start from the start script, wait for Wine to configure itself and that's it.

@DocKDE
Copy link

DocKDE commented Sep 11, 2019

Do you mean the one the lutris installer script produces or just download the files from GOG and install them with wine?

@mozo78
Copy link
Author

mozo78 commented Sep 11, 2019

Lutris has nothing to do here. Just get the installed game files from Windows or install it via Wine. GOG installers are working fine with Wine for a long time ago. After the installation get the game files and put them in /drive_c/game/Thronebraker.

@DocKDE
Copy link

DocKDE commented Sep 25, 2019

Thank you for your help. Sadly the start script threw an error and I still get the black screen problem when trying to play the game :-/

@mozo78
Copy link
Author

mozo78 commented Sep 25, 2019

Wthat error?
Here's a video of mine with the same script:
https://www.youtube.com/watch?v=5t02EfSRseE

Yes, some time the game hangs on loading screen but it's pretty playable.

@DocKDE
Copy link

DocKDE commented Sep 25, 2019

Okay, I fixed it myself. The "ulimit -n" command in the beginning exceeded a hard limit and I suppose this broke the script. I set it to another value and it worked. Thanks again! I was beginning to think I'd be doomed to play the thing without video support :)

@mozo78
Copy link
Author

mozo78 commented Sep 25, 2019

You'll have to rise ulimit in order to use ESync. It's easy:
https://github.com/zfigura/wine/blob/esync/README.esync

@ziltoid-linux
Copy link

Instructions for some games requires MF:

(This workaround works with Resident Evil 7, and Resident Evil 2 Remake, but I am not sure if it will work with this game or any game else that requires MF)

1- download this compressed file python-installcab-master.zip

2- Extract it and open the terminal and write the following commands:

3- cd ~/Downloads/python-installcab-master/ 4- winetrick mf and wait for it to finish.

5- export WINEPREFIX=/The/Location/Of/The/Game/Prefix (you need to change the bold text to the actual location of wine prefix of the game)

6- ./install-mf-64.sh to start the script.

7- Finally, you need to copy mfplat.dll version 12.0.7601.23471 (Windows7 64bit) to the game folder.

You can search for the file with: mfplat.dll version 12.0.7601.23471 windows 7 64 bit or copy the file from your Windows 7 SP1 operating system (I can't upload the file because it is illegal).

If you use Arch, or Manjaro, skip step number 6 and write these scripts instead:

python2 installcab.py ~/.cache/winetricks/win7sp1/windows6.1-KB976932-X64.exe mediafoundation python2 installcab.py ~/.cache/winetricks/win7sp1/windows6.1-KB976932-X64.exe _mf python2 installcab.py ~/.cache/winetricks/win7sp1/windows6.1-KB976932-X64.exe mfreadwrite python2 installcab.py ~/.cache/winetricks/win7sp1/windows6.1-KB976932-X64.exe wmadmod python2 installcab.py ~/.cache/winetricks/win7sp1/windows6.1-KB976932-X64.exe wmvdecod

If the game kept crashing after following these instructions, you probably did something wrong!

Running the Arch scripts give this output:

mediafoundation
Traceback (most recent call last):
  File "/mnt/WinData/Games/RE2R/linux-fix/python-installcab-master/installcab.py", line 305, in <module>
    process_files(output_files)
  File "/mnt/WinData/Games/RE2R/linux-fix/python-installcab-master/installcab.py", line 233, in process_files
    outdata, arch = load_manifest(file_path)
  File "/mnt/WinData/Games/RE2R/linux-fix/python-installcab-master/installcab.py", line 199, in load_manifest
    reg_data, arch = process_manifest(file_path)
  File "/mnt/WinData/Games/RE2R/linux-fix/python-installcab-master/installcab.py", line 175, in process_manifest
    for registry_key in registry_keys[0].getchildren():
AttributeError: 'xml.etree.ElementTree.Element' object has no attribute 'getchildren'

I tried using python, python3 and pyhton 3.9 as program but they give all the same error.
Any way to fix the issue? (I'm not a programmer and I don't know python)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants