libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.22k stars 1.82k forks source link

retroarch web player not working #4976

Closed MysteriousHercules closed 6 years ago

MysteriousHercules commented 7 years ago

First and foremost consider this:

Description

Everytime I try to run retroarch web player, It doesn't start up and I end up with black screen.

Expected behavior

Web player would run retroarch as normal

Actual behavior

I get black screen with the following error:

RetroArch [INFO] :: This is RetroArch version 1.6.0 (Git f1447dd) RetroArch [INFO] :: === Build ======================================= Capabilities: Built: May 27 2017 RetroArch [INFO] :: Version: 1.6.0 RetroArch [INFO] :: Git: f1447dd RetroArch [INFO] :: ================================================= RetroArch [INFO] :: [Config]: loading config from: /home/web_user/retroarch/userdata/retroarch.cfg. RetroArch [ERROR] :: [Config]: couldn't find config at path: "/home/web_user/retroarch/userdata/retroarch.cfg" RetroArch [INFO] :: Environ SET_PIXEL_FORMAT: RGB565. RetroArch [INFO] :: Redirecting save file to "/home/web_user/retroarch/userdata/saves/.srm". RetroArch [INFO] :: Redirecting savestate to "/home/web_user/retroarch/userdata/states/.state". RetroArch [INFO] :: Version of libretro API: 1 RetroArch [INFO] :: Compiled against API: 1 RetroArch [INFO] :: [Audio]: Set audio input rate to: 29970.03 Hz. RetroArch [INFO] :: [Video]: Video @ 960x720 RetroArch [INFO] :: [SDL_GL] SDL 2.0.4 gfx context driver initialized. RetroArch [INFO] :: [GL]: Found GL context: sdl_gl RetroArch [INFO] :: [GL]: Detecting screen resolution 1920x1080. RetroArch [INFO] :: [GL]: Vendor: Microsoft, Renderer: Microsoft Edge. RetroArch [INFO] :: [GL]: Version: WebGL 1.0. bad name in getProcAddress: glBlendBarrierKHR,glBlendBarrierKHR bad name in getProcAddress: glDebugMessageControlKHR,glDebugMessageControlKHR bad name in getProcAddress: glDebugMessageInsertKHR,glDebugMessageInsertKHR bad name in getProcAddress: glDebugMessageCallbackKHR,glDebugMessageCallbackKHR bad name in getProcAddress: glGetDebugMessageLogKHR,glGetDebugMessageLogKHR bad name in getProcAddress: glPushDebugGroupKHR,glPushDebugGroupKHR bad name in getProcAddress: glPopDebugGroupKHR,glPopDebugGroupKHR bad name in getProcAddress: glObjectLabelKHR,glObjectLabelKHR bad name in getProcAddress: glGetObjectLabelKHR,glGetObjectLabelKHR bad name in getProcAddress: glObjectPtrLabelKHR,glObjectPtrLabelKHR bad name in getProcAddress: glGetObjectPtrLabelKHR,glGetObjectPtrLabelKHR bad name in getProcAddress: glGetPointervKHR,glGetPointervKHR bad name in getProcAddress: glGetGraphicsResetStatusKHR,glGetGraphicsResetStatusKHR bad name in getProcAddress: glReadnPixelsKHR,glReadnPixelsKHR bad name in getProcAddress: glGetnUniformfvKHR,glGetnUniformfvKHR bad name in getProcAddress: glGetnUniformivKHR,glGetnUniformivKHR bad name in getProcAddress: glGetnUniformuivKHR,glGetnUniformuivKHR bad name in getProcAddress: glEGLImageTargetTexture2DOES,glEGLImageTargetTexture2D bad name in getProcAddress: glEGLImageTargetRenderbufferStorageOES,glEGLImageTargetRenderbufferStorage bad name in getProcAddress: glCopyImageSubDataOES,glCopyImageSubData bad name in getProcAddress: glEnableiOES,glEnablei bad name in getProcAddress: glDisableiOES,glDisablei bad name in getProcAddress: glBlendEquationiOES,glBlendEquationi bad name in getProcAddress: glBlendEquationSeparateiOES,glBlendEquationSeparatei bad name in getProcAddress: glBlendFunciOES,glBlendFunci bad name in getProcAddress: glBlendFuncSeparateiOES,glBlendFuncSeparatei bad name in getProcAddress: glColorMaskiOES,glColorMaski bad name in getProcAddress: glIsEnablediOES,glIsEnabledi bad name in getProcAddress: glDrawElementsBaseVertexOES,glDrawElementsBaseVertex bad name in getProcAddress: glDrawRangeElementsBaseVertexOES,glDrawRangeElementsBaseVertex bad name in getProcAddress: glDrawElementsInstancedBaseVertexOES,glDrawElementsInstancedBaseVertex bad name in getProcAddress: glMultiDrawElementsBaseVertexOES,glMultiDrawElementsBaseVertex bad name in getProcAddress: glFramebufferTextureOES,glFramebufferTexture bad name in getProcAddress: glGetProgramBinaryOES,glGetProgramBinary bad name in getProcAddress: glProgramBinaryOES,glProgramBinary bad name in getProcAddress: glMapBufferOES,glMapBuffer bad name in getProcAddress: glUnmapBufferOES,glUnmapBuffer bad name in getProcAddress: glGetBufferPointervOES,glGetBufferPointerv bad name in getProcAddress: glPrimitiveBoundingBoxOES,glPrimitiveBoundingBox bad name in getProcAddress: glMinSampleShadingOES,glMinSampleShading bad name in getProcAddress: glPatchParameteriOES,glPatchParameteri bad name in getProcAddress: glTexImage3DOES,glTexImage3D bad name in getProcAddress: glTexSubImage3DOES,glTexSubImage3D bad name in getProcAddress: glCopyTexSubImage3DOES,glCopyTexSubImage3D bad name in getProcAddress: glCompressedTexImage3DOES,glCompressedTexImage3D bad name in getProcAddress: glCompressedTexSubImage3DOES,glCompressedTexSubImage3D bad name in getProcAddress: glFramebufferTexture3DOES,glFramebufferTexture3D bad name in getProcAddress: glTexParameterIivOES,glTexParameterIiv bad name in getProcAddress: glTexParameterIuivOES,glTexParameterIuiv bad name in getProcAddress: glGetTexParameterIivOES,glGetTexParameterIiv bad name in getProcAddress: glGetTexParameterIuivOES,glGetTexParameterIuiv bad name in getProcAddress: glSamplerParameterIivOES,glSamplerParameterIiv bad name in getProcAddress: glSamplerParameterIuivOES,glSamplerParameterIuiv bad name in getProcAddress: glGetSamplerParameterIivOES,glGetSamplerParameterIiv bad name in getProcAddress: glGetSamplerParameterIuivOES,glGetSamplerParameterIuiv bad name in getProcAddress: glTexBufferOES,glTexBuffer bad name in getProcAddress: glTexBufferRangeOES,glTexBufferRange bad name in getProcAddress: glTexStorage3DMultisampleOES,glTexStorage3DMultisample bad name in getProcAddress: glTextureViewOES,glTextureView bad name in getProcAddress: glIsVertexArrayOES,glIsVertexArray bad name in getProcAddress: glViewportArrayvOES,glViewportArrayv bad name in getProcAddress: glViewportIndexedfOES,glViewportIndexedf bad name in getProcAddress: glViewportIndexedfvOES,glViewportIndexedfv bad name in getProcAddress: glScissorArrayvOES,glScissorArrayv bad name in getProcAddress: glScissorIndexedOES,glScissorIndexed bad name in getProcAddress: glScissorIndexedvOES,glScissorIndexedv bad name in getProcAddress: glDepthRangeArrayfvOES,glDepthRangeArrayfv bad name in getProcAddress: glDepthRangeIndexedfOES,glDepthRangeIndexedf bad name in getProcAddress: glGetFloati_vOES,glGetFloati_v bad name in getProcAddress: glDrawArraysInstancedBaseInstanceEXT,glDrawArraysInstancedBaseInstance bad name in getProcAddress: glDrawElementsInstancedBaseInstanceEXT,glDrawElementsInstancedBaseInstance bad name in getProcAddress: glDrawElementsInstancedBaseVertexBaseInstanceEXT,glDrawElementsInstancedBaseVertexBaseInstance bad name in getProcAddress: glBindFragDataLocationIndexedEXT,glBindFragDataLocationIndexed bad name in getProcAddress: glBindFragDataLocationEXT,glBindFragDataLocation bad name in getProcAddress: glGetProgramResourceLocationIndexEXT,glGetProgramResourceLocationIndex bad name in getProcAddress: glGetFragDataIndexEXT,glGetFragDataIndex bad name in getProcAddress: glBufferStorageEXT,glBufferStorage bad name in getProcAddress: glClearTexImageEXT,glClearTexImage bad name in getProcAddress: glClearTexSubImageEXT,glClearTexSubImage bad name in getProcAddress: glCopyImageSubDataEXT,glCopyImageSubData bad name in getProcAddress: glLabelObjectEXT,glLabelObject bad name in getProcAddress: glGetObjectLabelEXT,glGetObjectLabel bad name in getProcAddress: glInsertEventMarkerEXT,glInsertEventMarker bad name in getProcAddress: glPushGroupMarkerEXT,glPushGroupMarker bad name in getProcAddress: glPopGroupMarkerEXT,glPopGroupMarker bad name in getProcAddress: glDiscardFramebufferEXT,glDiscardFramebuffer bad name in getProcAddress: glGenQueriesEXT,glGenQueries bad name in getProcAddress: glDeleteQueriesEXT,glDeleteQueries bad name in getProcAddress: glIsQueryEXT,glIsQuery bad name in getProcAddress: glBeginQueryEXT,glBeginQuery bad name in getProcAddress: glEndQueryEXT,glEndQuery bad name in getProcAddress: glQueryCounterEXT,glQueryCounter bad name in getProcAddress: glGetQueryivEXT,glGetQueryiv bad name in getProcAddress: glGetQueryObjectivEXT,glGetQueryObjectiv bad name in getProcAddress: glGetQueryObjectuivEXT,glGetQueryObjectuiv bad name in getProcAddress: glEnableiEXT,glEnablei bad name in getProcAddress: glDisableiEXT,glDisablei bad name in getProcAddress: glBlendEquationiEXT,glBlendEquationi bad name in getProcAddress: glBlendEquationSeparateiEXT,glBlendEquationSeparatei bad name in getProcAddress: glBlendFunciEXT,glBlendFunci bad name in getProcAddress: glBlendFuncSeparateiEXT,glBlendFuncSeparatei bad name in getProcAddress: glColorMaskiEXT,glColorMaski bad name in getProcAddress: glIsEnablediEXT,glIsEnabledi bad name in getProcAddress: glDrawElementsBaseVertexEXT,glDrawElementsBaseVertex bad name in getProcAddress: glDrawRangeElementsBaseVertexEXT,glDrawRangeElementsBaseVertex bad name in getProcAddress: glDrawElementsInstancedBaseVertexEXT,glDrawElementsInstancedBaseVertex bad name in getProcAddress: glMultiDrawElementsBaseVertexEXT,glMultiDrawElementsBaseVertex bad name in getProcAddress: glFramebufferTextureEXT,glFramebufferTexture bad name in getProcAddress: glMapBufferRangeEXT,glMapBufferRange bad name in getProcAddress: glFlushMappedBufferRangeEXT,glFlushMappedBufferRange bad name in getProcAddress: glMultiDrawArraysEXT,glMultiDrawArrays bad name in getProcAddress: glMultiDrawElementsEXT,glMultiDrawElements bad name in getProcAddress: glMultiDrawArraysIndirectEXT,glMultiDrawArraysIndirect bad name in getProcAddress: glMultiDrawElementsIndirectEXT,glMultiDrawElementsIndirect bad name in getProcAddress: glRenderbufferStorageMultisampleEXT,glRenderbufferStorageMultisample bad name in getProcAddress: glFramebufferTexture2DMultisampleEXT,glFramebufferTexture2DMultisample bad name in getProcAddress: glReadBufferIndexedEXT,glReadBufferIndexed bad name in getProcAddress: glDrawBuffersIndexedEXT,glDrawBuffersIndexed bad name in getProcAddress: glGetIntegeri_vEXT,glGetIntegeri_v bad name in getProcAddress: glPolygonOffsetClampEXT,glPolygonOffsetClamp bad name in getProcAddress: glPrimitiveBoundingBoxEXT,glPrimitiveBoundingBox bad name in getProcAddress: glRasterSamplesEXT,glRasterSamples bad name in getProcAddress: glGetGraphicsResetStatusEXT,glGetGraphicsResetStatus bad name in getProcAddress: glReadnPixelsEXT,glReadnPixels bad name in getProcAddress: glGetnUniformfvEXT,glGetnUniformfv bad name in getProcAddress: glGetnUniformivEXT,glGetnUniformiv bad name in getProcAddress: glActiveShaderProgramEXT,glActiveShaderProgram bad name in getProcAddress: glBindProgramPipelineEXT,glBindProgramPipeline bad name in getProcAddress: glCreateShaderProgramvEXT,glCreateShaderProgramv bad name in getProcAddress: glDeleteProgramPipelinesEXT,glDeleteProgramPipelines bad name in getProcAddress: glGenProgramPipelinesEXT,glGenProgramPipelines bad name in getProcAddress: glGetProgramPipelineInfoLogEXT,glGetProgramPipelineInfoLog bad name in getProcAddress: glGetProgramPipelineivEXT,glGetProgramPipelineiv bad name in getProcAddress: glIsProgramPipelineEXT,glIsProgramPipeline bad name in getProcAddress: glProgramParameteriEXT,glProgramParameteri bad name in getProcAddress: glProgramUniform1fEXT,glProgramUniform1f bad name in getProcAddress: glProgramUniform1fvEXT,glProgramUniform1fv bad name in getProcAddress: glProgramUniform1iEXT,glProgramUniform1i bad name in getProcAddress: glProgramUniform1ivEXT,glProgramUniform1iv bad name in getProcAddress: glProgramUniform2fEXT,glProgramUniform2f bad name in getProcAddress: glProgramUniform2fvEXT,glProgramUniform2fv bad name in getProcAddress: glProgramUniform2iEXT,glProgramUniform2i bad name in getProcAddress: glProgramUniform2ivEXT,glProgramUniform2iv bad name in getProcAddress: glProgramUniform3fEXT,glProgramUniform3f bad name in getProcAddress: glProgramUniform3fvEXT,glProgramUniform3fv bad name in getProcAddress: glProgramUniform3iEXT,glProgramUniform3i bad name in getProcAddress: glProgramUniform3ivEXT,glProgramUniform3iv bad name in getProcAddress: glProgramUniform4fEXT,glProgramUniform4f bad name in getProcAddress: glProgramUniform4fvEXT,glProgramUniform4fv bad name in getProcAddress: glProgramUniform4iEXT,glProgramUniform4i bad name in getProcAddress: glProgramUniform4ivEXT,glProgramUniform4iv bad name in getProcAddress: glProgramUniformMatrix2fvEXT,glProgramUniformMatrix2fv bad name in getProcAddress: glProgramUniformMatrix3fvEXT,glProgramUniformMatrix3fv bad name in getProcAddress: glProgramUniformMatrix4fvEXT,glProgramUniformMatrix4fv bad name in getProcAddress: glUseProgramStagesEXT,glUseProgramStages bad name in getProcAddress: glValidateProgramPipelineEXT,glValidateProgramPipeline bad name in getProcAddress: glProgramUniform1uiEXT,glProgramUniform1ui bad name in getProcAddress: glProgramUniform2uiEXT,glProgramUniform2ui bad name in getProcAddress: glProgramUniform3uiEXT,glProgramUniform3ui bad name in getProcAddress: glProgramUniform4uiEXT,glProgramUniform4ui bad name in getProcAddress: glProgramUniform1uivEXT,glProgramUniform1uiv bad name in getProcAddress: glProgramUniform2uivEXT,glProgramUniform2uiv bad name in getProcAddress: glProgramUniform3uivEXT,glProgramUniform3uiv bad name in getProcAddress: glProgramUniform4uivEXT,glProgramUniform4uiv bad name in getProcAddress: glProgramUniformMatrix2x3fvEXT,glProgramUniformMatrix2x3fv bad name in getProcAddress: glProgramUniformMatrix3x2fvEXT,glProgramUniformMatrix3x2fv bad name in getProcAddress: glProgramUniformMatrix2x4fvEXT,glProgramUniformMatrix2x4fv bad name in getProcAddress: glProgramUniformMatrix4x2fvEXT,glProgramUniformMatrix4x2fv bad name in getProcAddress: glProgramUniformMatrix3x4fvEXT,glProgramUniformMatrix3x4fv bad name in getProcAddress: glProgramUniformMatrix4x3fvEXT,glProgramUniformMatrix4x3fv bad name in getProcAddress: glFramebufferPixelLocalStorageSizeEXT,glFramebufferPixelLocalStorageSize bad name in getProcAddress: glGetFramebufferPixelLocalStorageSizeEXT,glGetFramebufferPixelLocalStorageSize bad name in getProcAddress: glClearPixelLocalStorageuiEXT,glClearPixelLocalStorageui bad name in getProcAddress: glTexPageCommitmentEXT,glTexPageCommitment bad name in getProcAddress: glPatchParameteriEXT,glPatchParameteri bad name in getProcAddress: glTexParameterIivEXT,glTexParameterIiv bad name in getProcAddress: glTexParameterIuivEXT,glTexParameterIuiv bad name in getProcAddress: glGetTexParameterIivEXT,glGetTexParameterIiv bad name in getProcAddress: glGetTexParameterIuivEXT,glGetTexParameterIuiv bad name in getProcAddress: glSamplerParameterIivEXT,glSamplerParameterIiv bad name in getProcAddress: glSamplerParameterIuivEXT,glSamplerParameterIuiv bad name in getProcAddress: glGetSamplerParameterIivEXT,glGetSamplerParameterIiv bad name in getProcAddress: glGetSamplerParameterIuivEXT,glGetSamplerParameterIuiv bad name in getProcAddress: glTexBufferEXT,glTexBuffer bad name in getProcAddress: glTexBufferRangeEXT,glTexBufferRange bad name in getProcAddress: glTexStorage1DEXT,glTexStorage1D bad name in getProcAddress: glTexStorage2DEXT,glTexStorage2D bad name in getProcAddress: glTexStorage3DEXT,glTexStorage3D bad name in getProcAddress: glTextureStorage1DEXT,glTextureStorage1D bad name in getProcAddress: glTextureStorage2DEXT,glTextureStorage2D bad name in getProcAddress: glTextureStorage3DEXT,glTextureStorage3D bad name in getProcAddress: glTextureViewEXT,glTextureView bad name in getProcAddress: glFramebufferTextureMultiviewOVR,glFramebufferTextureMultiviewOVR bad name in getProcAddress: glFramebufferTextureMultisampleMultiviewOVR,glFramebufferTextureMultisampleMultiviewOVR RetroArch [WARN] :: [GL]: GLES implementation does not have BGRA8888 extension. 32-bit path will require conversion. RetroArch [INFO] :: [GL]: Using resolution 960x720 RetroArch [INFO] :: [GL]: Default shader backend found: glsl. RetroArch [INFO] :: [Shader driver]: Using GLSL shader backend. RetroArch [WARN] :: [GL]: Stock GLSL shaders will be used. RetroArch [INFO] :: [GLSL]: Found GLSL vertex shader. RetroArch [INFO] :: Shader log: Shader compilation errors (3, 1): Unknown extension: GL_OES_standard_derivatives (3, 48): Internal compiler error

RetroArch [ERROR] :: Failed to compile vertex shader #0 RetroArch [ERROR] :: Failed to link program #0. RetroArch [ERROR] :: GLSL stock programs failed to compile. RetroArch [ERROR] :: [GL]: Failed to initialize shader, falling back to stock. RetroArch [INFO] :: [Shader driver]: Using GLSL shader backend. RetroArch [WARN] :: [GL]: Stock GLSL shaders will be used. RetroArch [INFO] :: [GLSL]: Found GLSL vertex shader. RetroArch [INFO] :: Shader log: Shader compilation errors (3, 1): Unknown extension: GL_OES_standard_derivatives (3, 48): Internal compiler error

RetroArch [ERROR] :: Failed to compile vertex shader #0 RetroArch [ERROR] :: Failed to link program #0. RetroArch [ERROR] :: GLSL stock programs failed to compile. RetroArch [ERROR] :: [GL]: Shader initialization failed. RetroArch [ERROR] :: [Video]: Cannot open video driver ... Exiting ... RetroArch [ERROR] :: Fatal error received in: "init_video()" RetroArch [ERROR] :: This core requires a content file. Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates! 30 30

Steps to reproduce the bug

  1. go to the website: https://buildbot.libretro.com/web/
  2. select dropbox option below
  3. click on run

I also like to add that I tried both browser and dropbox options on bing, and neither of them are working. Only chrome got it working using browser

Version/Commit

The version on the retroarch web player on 5/27/2017

Environment information

MysteriousHercules commented 7 years ago

I was following a tutorial of how to use retroarch on xbox one, and I saw this video right here use it: https://www.youtube.com/watch?v=QhwAxgeUbao

I guess I am late to the party, is there anyway to use it on xbox one, like perhaps using dev mode or html5

MysteriousHercules commented 7 years ago

Actually I like to add that bing is not working, whether browser or dropbox option. Should I make this an issue

MysteriousHercules commented 7 years ago

Oh I meant using edge as a browser

MysteriousHercules commented 7 years ago

I personally want to help, I am a programmer as well. if you guys need me to help with anything. Just let me know. I am a beginner though. So right now I have no idea with how to port from MSYS2 to xbox one or appx. I guess we could try using html5 to run it on xbox one.

inactive123 commented 7 years ago

Does @kivutar's new additive blending for the ribbon perhaps need OES_partial_derivatives?

MysteriousHercules commented 7 years ago

I have a question, I am compiling the solution you gave me for the uwp app. And I manage to compile it correctly, but it always loads angleapp rather than retroarch. How am I supposed to compile the uwp code correctly to test the sega genesis core?

MysteriousHercules commented 7 years ago

The GitHub link that you gave me says that one of the cores was ported using uwp ( genesis plus GX), it even has a video for it being tested:https://www.youtube.com/watch?v=hWgOV9yi1M8

I am trying to test it on my own as well to try and understand the code better.

MysteriousHercules commented 7 years ago

Basically I am trying to run it the same way he is running it from the video

MysteriousHercules commented 7 years ago

oh what is it? sorry if I misunderstood.

anyputer commented 6 years ago

It is another Libretro frontend! :-)

ghost commented 6 years ago

Can this issue be closed? Is emscripten working now?

RobLoach commented 6 years ago

Yes, it works.

TaylorScratch21 commented 3 years ago

I can't seem to get the web player to work. This happened for days now, it was perfectly fine until something with the whole thing happened, like the Space Invader character being just a non-loaded image. And now, whenever I click to start, I just get a black screen quickly.