mariotaku / moonlight-tv

Lightweight NVIDIA GameStream Client, for LG webOS TV and embedded devices like Raspberry Pi
GNU General Public License v3.0
803 stars 30 forks source link

[BUG] Color degradation in some games #78

Open JulioSanchezD opened 3 years ago

JulioSanchezD commented 3 years ago

Describe the bug Colors starts to degrade (usually turns into purple) in some areas of the screen while playing some games. Usually this areas are the ones that are not moving on the screen. I have seen this issue being manifested in two ways, for two different games:

  1. For Assetto Corsa Competizione the game looks fine but 1 minute or so later some pixels starts to show different, around the plate and backlights of the car it starts to show fuzzy and turn into purple. If I click on the start menu and then return to the game, it resets to the original image, as it is supposed to be but 1 minute later the issue comes again.

  2. For Ninja Gaiden Sigma (From the Master Collection) the problem starts to show again within a minute, but it manifests in a differente way. Some areas of the screen are suddenly covered with a layer of a single color, sometimes red, sometimes green, sometimes blue and sometimes puple. The problem dissappears for moments and returns randomly.

I've also detected this problem in Witcher 3 but I couldn't replicate the problem, I have not experienced it again. Some games that doesn't present the problem are the following:

Lastly, I've tried Moonlight in other devices such as a Windows 10 Laptop and a Raspberry Pi and it doesn't seem to have this problem there, but they have other issues so I prefer Moonlight on webOS.

LG webOS TV:

Additional context Before: Before

After bug appearance: After

Bug Reset:

https://user-images.githubusercontent.com/47091309/123324522-84375d00-d4fc-11eb-9c1c-c7ab78ba77f0.mp4

mariotaku commented 3 years ago

This is so strange that I can't think of any reason. On your TV there are SMP and NDL decoder available, maybe using another one would have different result.

JulioSanchezD commented 3 years ago

I have tried both decoders and sooner or later they will present this problem. What I have found is that in 1080p the problem doesn't exist, doesn't matter which decoder I'm using. But 4k and 2k happens to present this problem on certain games, on certain areas. The only game I have found to persistently show this issue is Asseto Corsa Competizione.

mariotaku commented 3 years ago

Is it possible that this game is HDR supported?

choboko commented 3 years ago

I'm having a similar issue. It happens, as described in the first post, whenever the game stays in the same place for a while (or moves very little). Whenever you move the camera, it goes away in that spot. It happens with both decoders. I've tried enabling and disabling HDR, but the problem persists. Here's my setup:

• Moonlight TV 0.9.6 • WebOS 05.00.25 • Model SM8000PSA

Here's an example: PXL_20210815_115752742

mariotaku commented 3 years ago

Is it possible that this is due to packet loss? Are you connecting wirelessly or via ethernet?

choboko commented 3 years ago

I tried both ways, it happens either way. My PC is connected via ethernet, but I'm using wireless right now on the TV because 4k streaming won't work with the ethernet cable for me. Also, my PC doesn't have a monitor plugged in, I'm using a 4k dummy plug, idk if that's relevant.

mariotaku commented 3 years ago

@choboko I don't think it's relevant to virtual monitor, shouldn't be though. But anyway I think currently there's nothing I can do for this. Let's keep it till someone understands what causes corrupted images.

exalented commented 2 years ago

I've got a few questions @choboko @JulioSanchezD :

As a reference I've not been able to repro this behaviour using a headless Arch Linux machine + X + llvm render backend + melonDS 0.9.3 or glxgears + sunshine + moonlight-tv v0.9.92 but this box limited to 1080p and cannot run vulkan apps with this headless setup. Does this happen running melonDS for you?

On another one of my machines, similar build except one of my monitors is is capable of 1440p and running an EVGA GTX 1080 FTW v1 card + sunshine + moonlight-tv v0.9.93. Running Assetto Corsa Competizione does not produce the behavior described.

I've streamed plenty of applications and games with wine (which use DXVK ofc) through sunshine and have never had this issue on a machine with a physical monitor which leads me to believe this might be a virtual monitor-ish related issue. It's hard to say without more details.

JulioSanchezD commented 2 years ago

@exalented

My monitor is an ultrawide 1440p and my TV is 4k, but the problem only appears when I set up 1440p or 4k within Moonlight WebOs App.

choboko commented 2 years ago

@exalented , here are my specs:

• GFE • Windows 10 • DirectX • RTX 2070 with 472.12 drivers • i don't have a physical monitor here, so i can't test this. The PC is set up using the HDMI 4k dummy plug and connected using ethernet to the router. My TV is using wireless connection, otherwise it wouldn't run in 4k. • Moonlight-TV 0.9.6 (the latest version gives me a black screen) • It happens in 4k and 1080.

I tried melonDS and the problem did not happen. I also tried Yuzu (Switch emulator) and apparently the problem doesn't seem to happen either, but i haven't played long enough to be sure. It happens in every installed game i have (most of them installed through Xbox Game Pass, but some are Steam, GOG, Epic etc.).

mariotaku commented 2 years ago

@choboko I'm a bit interested in the black screen issue. Can you find the decoder selected, and your webOS version in moonlight settings? 05.00.25 is firmware version.

exalented commented 2 years ago

Try lowering the bitrate of your stream. There's almost no reason to have it set to 60K. I always set mine to around 10K depending on resolution.

choboko commented 2 years ago

@mariotaku here's the info you asked for:

•webOS version 4.9.3 •webOS NDL •Firmware 05.10.25

I tried the new version with 1080 and it worked, and the color degradation bug was apparently gone. When i tried 4k, here's what happened: PXL_20211002_101923462

mariotaku commented 2 years ago

@choboko What's the bitrate you've set? Sometimes decoder won't work if it's too high.

choboko commented 2 years ago

I tried with different bitrates, but even with the lowest possible (5K) it's not working with 4k. I had no problem with high bitrates in version 0.9.6.

mariotaku commented 2 years ago

@choboko Have you tried to use SMP decoder, and NDL audio in Settings - Decoder?

choboko commented 2 years ago

@mariotaku changing the decoder worked! the latest version works in 4k, but the color degradation bug persists. I tried changing resolution and bitrates, but it still happens. The most consistent way i have of testing this is in Death's Door opening menu. The problem starts showing within a few seconds on the railings in the foreground. Also, apparently the problem seems worse the lower the bitrate. This is an impression i get, since i have no objective means of measuring it.

mariotaku commented 2 years ago

@choboko Then I think maybe the decoder indeed has some problem that I have no control of. Moonlight is only responsible for feeding the video stream into your TV which means those pixels are handled internally.

choboko commented 2 years ago

OK. So it's probably related with my TV model. I'm curious about @JulioSanchezD TV model, maybe it's the same or something similar, if we can pinpoint that at least we'll know more about compatibility. Also, is 60k the max allowed by webOS or is the limit set by you? I'd like to try with even higher bitrates to see how it affects this issue.

mariotaku commented 2 years ago

OK. So it's probably related with my TV model. I'm curious about @JulioSanchezD TV model, maybe it's the same or something similar, if we can pinpoint that at least we'll know more about compatibility. Also, is 60k the max allowed by webOS or is the limit set by you? I'd like to try with even higher bitrates to see how it affects this issue.

60 is the maximum bitrate documented by LG. Over that the app is likely to be crashed.

JulioSanchezD commented 2 years ago

OK. So it's probably related with my TV model. I'm curious about @JulioSanchezD TV model, maybe it's the same or something similar, if we can pinpoint that at least we'll know more about compatibility. Also, is 60k the max allowed by webOS or is the limit set by you? I'd like to try with even higher bitrates to see how it affects this issue.

My TV Model is 60UN7300PUA

mariotaku commented 2 years ago

One of my friend tested with his Ultrawide monitor and had similar issue. He got that fixed by outputting standard resolution like 1920x1080. Could this be the case?

mariotaku commented 2 years ago

Closed due to inactivity.

lynxaegon commented 2 years ago

I kinda have the same issue, but the color is not degrading in time, it's degraded after the first 5 seconds and it remains like that. I tried both NDL and SMP same thing happens, i only checked rocket league and it happens when i join the training. Moonlight is over 5GHz WiFi (i can't test ethernet unfortunately)

I also have moonlight on iPad and it's working flawlessly (same wifi)

PXL_20220220_122425806 MP

LG webOS TV Model: 70up76 Firmware version: 3.16.10 Moonlight TV Version: 1.4.0 Bitrate: 35-50mb (tried multiple)

PC: CPU: i7 12k GPU: RTX 3060 12gb RAM: 32gb Streaming: GFE

mariotaku commented 2 years ago

Somehow I can reproduce in chapter 2 of the game "It Takes Two". Reopening (but I don't think it can be solved.)

mastawilli commented 2 years ago

Hi, Is there any update on this?

I wasnt using Moonlight via my LG since a few months now. I am having the same "rainbow" artifacts now using 1440p / 60 Hz, h.265, wired 1gbe ethernet connection with a bitrate of 35mpbs (as moonlight stated more mbit could cause problems).

I am using the newest update. I did play a lot Metroid Dread in December, I cannot remember having seen this effect back then (with same setup)... I have switched to h.264 now and this effect is gone. But of course with some other rough artifacts now being there which I know come from h.264. But these are way more acceptable than the rainbow which remains constantly there since it occurs.

Cheers Mawi

reyqn commented 1 year ago

I've got the same issue, I guess no luck? I tried playing with bitrates, or switching decoders but nothing works (well lowering the resolution from 4k to 1080p works).

lynxaegon commented 1 year ago

I tried what @mastawilli has recommended and haven't had any issues since. I'm playing over wifi (5GHz), 1080p 60hz, h264, 50k bitrate.

oloev commented 1 year ago

Having this issue as well. TV LG65UP77006LB, latest firmware 03.35.95, latest release of moonlight-tv. Latest GFE and video driver, NVIDIA 4090. There was same problem on previous webos, app versions and drivers. The only working decoder for me is ndl with h265.
With ndl/h264 or smp I get only black screen. Color artifacts appear on some surfaces after few time and disappear after changing pov/screen refresh.

257050514-c9536287-bdfd-48bc-ba16-42b759f3ddb5 (1) 257050611-6aaae433-3411-4992-9e1b-1cec4820fded

https://github.com/mariotaku/moonlight-tv/assets/38259470/28da974c-2565-45d4-9b19-5d3ff86b72fe

No issues on android or Mac OS.

floxigen commented 1 year ago

Describe the bug Colors starts to degrade (usually turns into purple) in some areas of the screen while playing some games. Usually this areas are the ones that are not moving on the screen. I have seen this issue being manifested in two ways, for two different games:

  1. For Assetto Corsa Competizione the game looks fine but 1 minute or so later some pixels starts to show different, around the plate and backlights of the car it starts to show fuzzy and turn into purple. If I click on the start menu and then return to the game, it resets to the original image, as it is supposed to be but 1 minute later the issue comes again.
  2. For Ninja Gaiden Sigma (From the Master Collection) the problem starts to show again within a minute, but it manifests in a differente way. Some areas of the screen are suddenly covered with a layer of a single color, sometimes red, sometimes green, sometimes blue and sometimes puple. The problem dissappears for moments and returns randomly.

I've also detected this problem in Witcher 3 but I couldn't replicate the problem, I have not experienced it again. Some games that doesn't present the problem are the following:

  • Halo The Master Chief Collection
  • Naruto UItimate Ninja Storm 4
  • Watch Dogs 2

Lastly, I've tried Moonlight in other devices such as a Windows 10 Laptop and a Raspberry Pi and it doesn't seem to have this problem there, but they have other issues so I prefer Moonlight on webOS.

LG webOS TV:

  • Model: 60UN7300PUA
  • webOS version: 5.2.3-252105
  • Moonlight TV Version: 0.8.2

Additional context Before: Before

After bug appearance: After

Bug Reset:

Reset.mp4

I encounter the same issue using moolight-xbox

callme-sy commented 1 year ago

I encounter the same issue using moolight-xbox

yes me too

ViktorZieg commented 6 months ago

I kinda have the same issue, but the color is not degrading in time, it's degraded after the first 5 seconds and it remains like that. I tried both NDL and SMP same thing happens, i only checked rocket league and it happens when i join the training. Moonlight is over 5GHz WiFi (i can't test ethernet unfortunately)

I also have moonlight on iPad and it's working flawlessly (same wifi)

PXL_20220220_122425806 MP

LG webOS TV Model: 70up76 Firmware version: 3.16.10 Moonlight TV Version: 1.4.0 Bitrate: 35-50mb (tried multiple)

PC: CPU: i7 12k GPU: RTX 3060 12gb RAM: 32gb Streaming: GFE

I encouter the same pink artifacts and haven't seen this being mentioned anywhere else.

So far it happened in every game I played, with different settings applied. Sometimes it gets away, if there is movement on these pixels, other times i have to back out of the streaming and reopen it.

Any idea how to solve this? Can I provide any more information?