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

red screen when switching to High Definition Render Pipeline #12

Closed
makaruk opened this issue Feb 25, 2019 · 22 comments
Closed

red screen when switching to High Definition Render Pipeline #12

makaruk opened this issue Feb 25, 2019 · 22 comments
Assignees
Labels
question Further information is requested

Comments

@makaruk
Copy link

makaruk commented Feb 25, 2019

Dear Keijiro,

I'm using the recent version of Klak Syphon with Unity 2018.3.4f1 Metal on OSX 10.14

The Klak Syphon Server works fine on a standard render pipeline, but the moment I swith to either High Definition or Lightweight Render pipeline - the Klak output video stream goes red and generally not much more happens.

Is there any setting I'm unaware of or the sriptable render pipeline is just not supported?

Kind Regards

@keijiro keijiro self-assigned this Feb 26, 2019
@keijiro keijiro added the question Further information is requested label Feb 26, 2019
@keijiro
Copy link
Owner

keijiro commented Feb 26, 2019

Thank you for reporting the issue. I have seen a similar issue in KlakNDI that only reproduces on macOS/Metal.

keijiro/KlakNDI#20

Before starting detailed investigation, could you provide some additional information?

  • Which model of Mac/MacBook are you using?
  • What happens if you change GPU to use? You can change it on the launch menu.

@makaruk
Copy link
Author

makaruk commented Feb 26, 2019

Dear Keijiro,

Thank You for Your response.

I'm using MacBook Pro Touchbar 15,1 - 32GB RAM, 2018 Edition, 2,2 Ghz i7.

The computer has two GPUs Radeon Pro 555X 4096 MB, Intel UHD Graphics 630 1536 MB and is most definitely using the Radeon upon Launching the Unity Build - as observed in the GPU History of the Activity Monitor.

I cannot switch GPU's upon launch - the option is greyed out - please see the screenshot attached.

Kind Regards

screenshot 2019-02-26 at 04 30 55

@keijiro
Copy link
Owner

keijiro commented Feb 26, 2019

Thanks for replying. It's a little bit weird that it doesn't allow changing GPU to use. From my understanding, MacBook Pro Touch Bar 15-inch has Radeon Pro GPU. It should be explicitly selectable. Is there any graphics option in the System Preference, like Energy Saver?

@makaruk
Copy link
Author

makaruk commented Feb 26, 2019

Yes, and I think it is actually using the Radeon. There is a setting in the Energy Saver but it only allows for switching to continous use of Radeon instead of Iris - which in this case makes no difference. I assume the app is using Radeon by looking at the GPU Usage in the activity monitor (please see the screenshots attached).

Kind Regards
screenshot 2019-02-26 at 05 26 07
screenshot 2019-02-26 at 05 30 09

@keijiro
Copy link
Owner

keijiro commented Feb 26, 2019

Thanks for the detailed clarification. I'll start looking into it based on the information.

@OskarGroth
Copy link

OskarGroth commented Mar 30, 2019

I'm having the same issue. Just tried using your https://github.com/keijiro/LwrpVfxTest:

Skärmavbild 2019-03-30 kl  16 05 17

Skärmavbild 2019-03-30 kl  16 05 29

2016 MBP with Radeon 460.

I have the ability to change the GPU to Intel in the launcher, but doing so results in a black Unity window (Unity VFX Metal shortcoming?) and red Syphon client.

@makaruk
Copy link
Author

makaruk commented Jun 4, 2019

Dear Keijiro,

I just tested the setup with a MacBook Pro 2018, 2019.2.0b4 and Klak Syphon Client on a Lightweight Render Pipeline.

The result of the transmitted video is a red screen in a client software - same as the one described above.

Have You got any hints regarding how could I fix it? Does Klak Syphon support LWRP?

I should also add that I tried most if not all of the player settings, camera settings, lightweight render pipeline scriptable object settings and no change gives any result ever except when I swith the LWRP completely by removing it from Scriptable Render Pipeline Settings in Project Settings / Graphics

I would appreciate any help in this ...

Kind Regards

Dariusz

@grigM
Copy link

grigM commented Sep 5, 2019

Hello Keijiro!
First of all, thank's for all of yours great works that you make for Unity community!
Everything you do, such a big inspiration for all of us!

But i've got a question.
Is there any way to fix this red screen issue with HDRP render and syphon ?

my specs:
MacBook Pro 2018 with eGPU - RadeonVII
mac os 10.14.6, Unity 2019.2.0f1

Best regards

@tomalouette
Copy link

Hi Keijiro,
The same issue for me,
HDPR render making a red screen.

Best

@piotrus04
Copy link

Hi, i also tried to find what is not working correctly in the xcode project but impossible to find any error. The red screen still here.
I monitored both the _servertexture and the blit shader, it doesn't seems neither to be the problem.

@sebxliv
Copy link

sebxliv commented Oct 21, 2019

I'm trying KlakSyphon on Unity 2019.1.2f1 on a MacOS 10. It works perfecto on normal project but on a HDRP I get a black screen.
Anything we can do to debug this! It would be awesome to have it working!

@gitcoinbot
Copy link

Issue Status: 1. Open 2. Started 3. Submitted 4. Done


This issue now has a funding of 0.163 ETH (30.05 USD @ $184.34/ETH) attached to it.

@sebxliv
Copy link

sebxliv commented Nov 9, 2019

Issue Status: 1. Open 2. Started 3. Submitted 4. Done

This issue now has a funding of 0.163 ETH (30.05 USD @ $184.34/ETH) attached to it.

Just made this crypto bounty for anyone that fixes this issue 😀Anyone else wants to contribute too?

@tomalouette
Copy link

Hi,
Red screen on the syphon client in HDRP mode.
Any news ?
The only way i found on forum, it's the render texture mode, the camera mode is out.

@MrLeap
Copy link

MrLeap commented Apr 6, 2020

I'm also experiencing this issue. I've spent about an hour seeing if I could yield any more info. So far all I've got is restating what other people have said -- the issue appears to be with SyphonServer in HDRP. ( I encountered this issue with 2019.3.0.f5). It works fine in the pre-SRP 3d renderer.

Frame Debugger makes me think it's not an issue with Hidden/Klak/Syphon/Blit or anything obvious like that. I tried fussing around with render texture types, colorspace, video card configuration. Forcing the intel causes unity to crash, which is probably unrelated, but I got no change in the behavior at all.

If there's anything you'd like me to try with a known broken configuration, let me know! I'll poking at it throughout the day. I have a fun plan for this if I can get it working along side vfx graphs. :)

Thanks for all you do Keijiro!

(2019 MacBook Pro, Radeon Pro 560X 4 GB, Intel UHD Graphics 630 1536 MB Mojave 10.14.6)

@rsodre
Copy link

rsodre commented Apr 6, 2020

From the HDRP docs: "HDRP does not support OpenGL or OpenGL ES devices".
Since Syphon relies on OpenGL, I would expect something like that.
Syphon for Metal is already under development.

@keijiro
Copy link
Owner

keijiro commented Apr 6, 2020

@rsodre KlakSyphon does support Metal (that's the main aim of the plugin). This issue is a different thing.

@shiyamon
Copy link

For someone in trouble with this issue.

As I wrote in another topic this issue seems to occur due to the format of RenderTexture. #13
I confirmed that RenderTextureFormat.Default works with Unity2019.4.1f1, HDRP 7.4.1, Metal, macOS 10.15.3.
So in the meantime, I, we, can send the scene RT with Syphon with the following steps.

(in runtime)

  • Generate a RenderTexture in a script with a format of RenderTexture.Default
  • Set that RT to the target texture of the camera
  • Also set the RT to sourceTexture of SyphonServer

Strange thing is that the RenderTexture assets made in Project window don't work.
I Debug.Log the format of RenderTexture that was generated in runtime with RenderTextureFormat.Default and it shows "BGRA32", btw.

@eloimaduell
Copy link

hi @shiyamon !

Could you please share your code to solve this issue ?
I'm with OSX 11.5.1 with an AMD Radeon VEGA and Unity 2022.1.0a91212.
I'm trying to get a Syphon texture out of a camera in Unity and what I get is a "red" texture.
I tried your approach but I don't know how to implement the last step, setting the RT to the sourceTexture of the SyphonServer...

Thanks !

@eloimaduell
Copy link

(just to mention that I'm on the standard pipeline)

@shiyamon I found a solution... So here it's my code for this script that creates a render texture on Start() and assigns it to the camera and to the SyphonServer.sourceTexture.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class createRenderTextureSyphon : MonoBehaviour
{
    public RenderTexture rt;
    public Camera cam;
    public Klak.Syphon.SyphonServer sy;
    
    // Start is called before the first frame update
    void Start()
    {
        RenderTextureFormat rtf;
        rtf = RenderTextureFormat.Default;
        rt = new RenderTexture(2160, 420, 24, rtf);
        cam.targetTexture = rt;
        sy.sourceTexture = rt;

    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

So I created and empty object, added this script, also added the SyphonServer script. Then dragged the camera that I want to share via syphon to the Cam parameter and dragged the SyphonServer script to the sy parameter.

Thanks everyone for the tips !

@griv
Copy link

griv commented Oct 21, 2021

Thanks this worked for me :)

(just to mention that I'm on the standard pipeline)

@shiyamon I found a solution... So here it's my code for this script that creates a render texture on Start() and assigns it to the camera and to the SyphonServer.sourceTexture.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class createRenderTextureSyphon : MonoBehaviour
{
    public RenderTexture rt;
    public Camera cam;
    public Klak.Syphon.SyphonServer sy;
    
    // Start is called before the first frame update
    void Start()
    {
        RenderTextureFormat rtf;
        rtf = RenderTextureFormat.Default;
        rt = new RenderTexture(2160, 420, 24, rtf);
        cam.targetTexture = rt;
        sy.sourceTexture = rt;

    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

So I created and empty object, added this script, also added the SyphonServer script. Then dragged the camera that I want to share via syphon to the Cam parameter and dragged the SyphonServer script to the sy parameter.

Thanks everyone for the tips !

@keijiro
Copy link
Owner

keijiro commented Nov 18, 2023

I added URP/HDRP support in 1.0.0.

I close this issue at the moment. Please reopen it if it still reproduces.

@keijiro keijiro closed this as completed Nov 18, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests