Some quests are with Black Screen...

+
Hello,

I play this game in a Linux Manjaro.
The first graphics card was a 1060 and apart from the know bugs in the game, everything was ok. In the middle of my game, I decide to upgrade my graphics card to GTX 3080 and since then I'm very happy with the performance.

I ended the game and decide to start a new game and here is where everything goes south. In ACT 1 when Yorinobu kills his father in the suite the screen turns black and it's impossible to continue.
I can see the commands like "open this", the map, and all the communications with T-Bug until goes offline. What I can't see is where I'm going. Everything is black.

I notice the same when I enter the hotel where Lizzi is for the quest she gives us. Outside the hotel I can see but soon I enter it, everything went black. I was able to do that quest by seeing videos on youtube and do what I need to do using the map but everything was black.
In the case of the quest "The Heist" I cannot finish it. There will be an encounter with enemies and I cannot see them kill them.

I try to change resolution, VSync, monitor, and everything is the same.
Anyone had this issue?

Best wishes
Paulo Aboim Pinto
 
Not tech support, but if you bought it on Steam, I'd recommend you do a "Verify Integrity" of the game-files to see if anyone has been corrupted through bad (?) download. It's a massive game with many many giga-bytes, and if something goes wrong in translation... I hope this might help.

From what it looks like, the 'light' seems to be turned off in certain parts. Internal structures uses a different type of light that outside, so that might be the issue. The only way to prove this if you get the black screen inside other internal structures like No-Tell Motel and Konpeki Plaza.
 
Thanks for the reply...
did that ... and still the same
uninstall the game then install again and still the same ...

This is an amazing game ... not bashing at all ... still have my other save in the end game where I can continue to explore the world but I would like to start a new one to do everything right and be able to explore parts of the world that I cannot anymore in other save...

Any more ideas?
 
I am getting this same issue. I was using Manjaro and thought I would try another distro, so I installed Pop Os, but as soon as I get into the hotel lobby, everything just goes dark and I can not see anything unless I use the scanner (tab button). I have a RTX 3080, 1920x thread ripper and 32gb of ram.

Let me know if you figure it out.
 
Here's a report for this: https://github.com/HansKristian-Work/vkd3d-proton/issues/632

The interesting part from this forum is that it looks like some older GPU models do not show this problem? @Paulo_Aboim_Pinto can you confirm that it works with your older graphics card but not with the newer?

I can confirm this issue for Konpeki Plaza and No-Tell Motel. Other building interiors within Watson do not seem to be affected. The roads leading outside of Watson are still blocked for me (probably due to pending story progress), so I could only check within Watson.
 
Hi,

There is a working workaround you can use until the problem is being solved.
When you are using the scanner, a "greenish" filter is applied and you can see in those areas.

There is a way to toggle this filter without having to be in "scan mode"

For that, you need to use the lua console provided by the Cyber Engine Tweaks (https://wiki.cybermods.net/cyber-engine-tweaks)

C-like:
Game.GetPlayer():GetHudManager().visionModeSystem:EnterMode(Game.GetPlayer(),1)

This will force the game to display the "greenish" overlay, but without the scan UI, you will be able to play normally.

Note that if you jump or run, the mode will go back to 0. It means you will have to make a function that calls that command periodically. If I do it, I will share it here.

Now it would be interesting for the devs to investigate why the "greenish filter" makes the issue disappear ...

Hope that it helps.
Post automatically merged:

Here it is !

It is quite an ugly hack, but at least it makes the game playable ...
After installing Cyber Engine Tweaks, create a file called init.lua in the following folder :
Code:
Cyberpunk 2077/bin/x64/plugins/cyber_engine_tweaks/mods/black_screen_workaround/
Here is the content of the file :

Ruby:
local workaroundEnabled=false
local bs_wk_count = 0;
registerForEvent("onInit", function()
               
end)

registerForEvent("onUpdate", function(deltaTime)
    if (workaroundEnabled) then
        bs_wk_count=bs_wk_count + deltaTime
               
        if ( bs_wk_count > 0.2 ) then
            Game.GetPlayer():GetHudManager().visionModeSystem:EnterMode(Game.GetPlayer(),1)
            bs_wk_count = 0;
        end
    else
        if(bs_wk_count > 1000) then
            Game.GetPlayer():GetHudManager().visionModeSystem:EnterMode(Game.GetPlayer(),0)
            bs_wk_count=0;
        end      
    end
end)

registerHotkey("bs_workaround_enable", "Activate/Desactivate Black Screen Workaround", function()
    workaroundEnabled = not workaroundEnabled
end)

registerForEvent("onDraw", function()
    ImGui.SetNextWindowPos(300, 300, ImGuiCond.FirstUseEver)

    if (ImGui.Begin("Black Screen Workaround")) then              
            if(workaroundEnabled) then
                ImGui.Text("Status : enabled.")
                clicked = ImGui.Button("Disable Workaround ")
            else
                ImGui.Text("Status : disabled.")
                clicked = ImGui.Button("Enable Workaround")
            end
        if (clicked) then
            workaroundEnabled = not workaroundEnabled
            if (not workaroundEnabled) then
                bs_wk_count=5000
            end
        end
    end
    ImGui.End()
end)

You will have a key binding and a button to activate/deactivate the workaround. (Configuration via the Cyber Engine Tweaks interface)
 
Last edited:
The vkd3d devs found, that this is actually a bug in the game engine or the shaders: There's a shader which does MUL and DIV with the factor, e.g. (value * x / x). Since the shader does not require fully correct math but just fast math, drivers are allowed to optimize that away because it changes (seemingly) nothing for the value. But technically, that's not correct: Such an elimination is only allowed for x != 0.0, otherwise the result would be NaN (not a number which is an existing floating point value). In the end, it results in a black screen unless you do the elimination. Thus, in fast math, the result is always "value" while in correct math, it's NaN for x=0 but "value" for x != 0.

vkd3d did not optimize that, neither does the NVIDIA Linux driver. In contrast, the NVIDIA Windows driver does optimize that and eliminates "*x/x" in the fast math mode, the AMD mesa drivers in Linux also do it. Looks like some Windows Intel drivers also do not eliminate that, so that bug can be seen in Windows, too, with some Intel GPUs. But in the end, it's probably a game engine bug: It should simply not run this shader with x=0.

Latest vkd3d has an optimization for this in its DXIL lib.
 
The vkd3d devs found, that this is actually a bug in the game engine or the shaders: There's a shader which does MUL and DIV with the factor, e.g. (value * x / x). Since the shader does not require fully correct math but just fast math, drivers are allowed to optimize that away because it changes (seemingly) nothing for the value. But technically, that's not correct: Such an elimination is only allowed for x != 0.0, otherwise the result would be NaN (not a number which is an existing floating point value). In the end, it results in a black screen unless you do the elimination. Thus, in fast math, the result is always "value" while in correct math, it's NaN for x=0 but "value" for x != 0.

vkd3d did not optimize that, neither does the NVIDIA Linux driver. In contrast, the NVIDIA Windows driver does optimize that and eliminates "*x/x" in the fast math mode, the AMD mesa drivers in Linux also do it. Looks like some Windows Intel drivers also do not eliminate that, so that bug can be seen in Windows, too, with some Intel GPUs. But in the end, it's probably a game engine bug: It should simply not run this shader with x=0.

Latest vkd3d has an optimization for this in its DXIL lib.

Did you send a detailed report of this to CDPR? They might be very interested in fixing this issue. It's one thing to report a bug, not knowing why it bugs out, but it's another entirely to show some of the mechanics not workikng properly, and give them pointers what to look for.
 
Top Bottom