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

[OpenGL] [AMD] Beetle HW Black Screen, with Sound. FMVs Work #322

Closed
msmilkshake opened this issue Apr 3, 2018 · 27 comments
Closed

[OpenGL] [AMD] Beetle HW Black Screen, with Sound. FMVs Work #322

msmilkshake opened this issue Apr 3, 2018 · 27 comments

Comments

@msmilkshake
Copy link

AS the title says, in my system, with OpenGL, the game doesn't render anything but black. Sound works great and FMVs are played and displayed.

I'll attach a log below.
OpenGLissue.log

@hug0b
Copy link

hug0b commented Apr 6, 2018

This seems to happen to me too after updating Beetle PSX HW. Before that it ran fine with Open GL.

System :
Windows 10 x64, Radeon RX 480, drivers 18.2.1

RetroArch 1.7.2 (Git ab00d587d8)

Audio and pre-rendered video works but the bios and everything else is a black screen.

Log : https://pastebin.com/MzE7Kj19

It seems to work fine with Vulkan (except the quick menu is invisible for some reason from what I tested)
No issue with software renderer as well.

Beetle PSX HW.cfg is empty

Content of retroarch-core-options.cfg :

beetle_psx_hw_renderer = "hardware"
beetle_psx_hw_renderer_software_fb = "enabled"
beetle_psx_hw_adaptive_smoothing = "enabled"
beetle_psx_hw_internal_resolution = "1x(native)"
beetle_psx_hw_filter = "nearest"
beetle_psx_hw_depth = "dithered 16bpp (native)"
beetle_psx_hw_wireframe = "disabled"
beetle_psx_hw_display_vram = "disabled"
beetle_psx_hw_pgxp_mode = "disabled"
beetle_psx_hw_pgxp_vertex = "disabled"
beetle_psx_hw_pgxp_texture = "disabled"
beetle_psx_hw_widescreen_hack = "disabled"
beetle_psx_hw_frame_duping = "disabled"
beetle_psx_hw_cpu_freq_scale = "100% (native)"
beetle_psx_hw_gte_overclock = "disabled"
beetle_psx_hw_gpu_overclock = "1x(native)"
beetle_psx_hw_skip_bios = "disabled"
beetle_psx_hw_dither_mode = "1x(native)"
beetle_psx_hw_display_internal_fps = "disabled"
beetle_psx_hw_initial_scanline = "0"
beetle_psx_hw_last_scanline = "239"
beetle_psx_hw_initial_scanline_pal = "0"
beetle_psx_hw_last_scanline_pal = "287"
beetle_psx_hw_crop_overscan = "enabled"
beetle_psx_hw_image_crop = "disabled"
beetle_psx_hw_image_offset = "disabled"
beetle_psx_hw_analog_calibration = "disabled"
beetle_psx_hw_analog_toggle = "disabled"
beetle_psx_hw_enable_multitap_port1 = "disabled"
beetle_psx_hw_enable_multitap_port2 = "disabled"
beetle_psx_hw_gun_cursor = "Cross"
beetle_psx_hw_mouse_sensitivity = "100%"
beetle_psx_hw_cd_access_method = "sync"
beetle_psx_hw_use_mednafen_memcard0_method = "libretro"
beetle_psx_hw_enable_memcard1 = "enabled"
beetle_psx_hw_shared_memory_cards = "disabled"
beetle_psx_hw_cd_fastload = "2x (native)"

EDIT: Can confirm if behaves the same on a clean RetroArch install of the latest nightly.

@rz5
Copy link
Contributor

rz5 commented Apr 8, 2018

I can confirm the bug when I'm using my discrete AMD GPU on my laptop, AMD M330

@rz5 rz5 changed the title [OpenGL] [AMD R9 390] Beetle HW Balck Screen, with Sound. FMVs Work [OpenGL] [AMD] Beetle HW Balck Screen, with Sound. FMVs Work Apr 8, 2018
@rz5 rz5 changed the title [OpenGL] [AMD] Beetle HW Balck Screen, with Sound. FMVs Work [OpenGL] [AMD] Beetle HW Black Screen, with Sound. FMVs Work Apr 8, 2018
@inactive123
Copy link
Contributor

What we need here is people with the hardware that reproduces the issue to start fixing it. I am not one of you guys, I run an nvidia GPU where there are no issues.

@msmilkshake
Copy link
Author

msmilkshake commented Apr 23, 2018

I replaced my AMD card with an Nvidia card so I cannot reproduce the issue anymore.

@libretro libretro deleted a comment from msmilkshake Apr 27, 2018
@ElectricKeet
Copy link

Here's one for you:

I've got an external Radeon RX 460, and I'm seeing precisely this behaviour in hardware rendering mode; game, sound, and input run fine, but no video except during FMV.

If I load a state saved while in software mode, I get to see a single frame before it goes black.

Additionally, if I turn on the core's "Display full VRAM" option, I get to see all the VRAM everything as normal... except for the actual video frame.

@iCatButler
Copy link
Contributor

This issue was introduced by commit b662d04, which changed the requested OpenGL version from 3.1 to 3.3.

Changing the value back to 3.1 results in a working build on AMD/Windows systems, but probably reintroduces issue #315, that the commit was intended to fix.

I'm not sure what the implications of this are as there are no obvious error messages. It could be that AMD's OpenGL Windows drivers aren't supporting 3.3 correctly, or even that the original value was somehow resulting in an error and a valid default context being returned.

@Solfbeen
Copy link

Solfbeen commented Aug 3, 2018

I also have this issue, I've got a R7 360 with CRT Emudriver 2.0 - beta 13
I have sound, FMVs ( with garbage on the borders ), some fixed screens display too.
Everything else is black. 3D scenes apear in a glimpse if I switch the internal resolution in the core options.

@Stefano-82
Copy link

Is there any work around to this issue at the moment? i have no choice but to use my R9 270X or run the game software which will cause lots of heavy slow downs.

@rz5
Copy link
Contributor

rz5 commented Aug 13, 2018

@Stefano-82 - There is also the Vulkan renderer that you can use. If you really want to use the GL renderer, there is a workaround.

Clone this repo, in the Makefile.common file on line 20, delete the word "-DCORE", save and compile.

For posteriority, this bug seems to be related to using a rendering context with a "core" profile on AMD. I've tried running beetle-psx through CodeXL and RenderDoc but none of them point out anything obvious. @bparker06 has suggested comparing API traces of a regular build vs a non-core profile build and check for missing differing API calls, but I have not gotten around to doing that.

It might be an obscure AMD windows driver bug.
Or it might be that we're using a GL function that has been deprecated in the core profile spec and AMD is strict but Nvidia/Intel are flexible.

@Stefano-82
Copy link

Stefano-82 commented Aug 13, 2018

@rz5 @bparker06
Ok, le'ts try this again with vulkan, this is the specifications i got : i5 4440 and R9 270x with windows 10.

The first attempt with vulkan was a failure, i started the game and it wouldn't load, so i tried with open GL and then D3D(only option that worked).

Few moments ago i update my gpu drivers to the latest and tried again....same result, i get a white screen for a few seconds and then it just closes without giving an output or anything.

I'm attaching the debug with the game Grandia, which i'm using as Test.
Please give me some hints to work on, i'd prefer using vulkan rather GL which is the last option.

thanks in advance

debugRA after GPU update.txt

@iCatButler
Copy link
Contributor

iCatButler commented Aug 14, 2018

The system I've used to test this is an X5670 with an R9 270x (4G) running Windows 10 64bit. It always worked properly with Vulkan but was not showing geometry when loading into Beetle using OpenGL.

I just downloaded and installed the latest graphics drivers from AMD, grabbed the latest stable build of Retroarch from http://buildbot.libretro.com/stable/1.7.3/windows/x86_64/ and downloaded the latest Beetle HW core using the updater.

Now both OpenGL and Vulkan renderers work on this system (loading Tomb Raider). All settings are default so I'm starting this in a Window rather than fullscreen, although changing core options like scaling, PGXP and texture filtering all work.

@Stefano-82
Copy link

I have done the same with retroarch,core and drivers, but the bios load and the game won't start, retroarch just closes after a white screen.

@iCatButler
Copy link
Contributor

@Stefano-82 the original AMD/OpenGL issue would allow the game to load and display FMV's and play audio but not display any rendered graphics. If it's crashing on loading either of the hardware renderers that sounds like a different issue altogether.

@Stefano-82
Copy link

Stefano-82 commented Aug 14, 2018

@iCatButler nope with open GL i have the game running but showing the issues you just said, the problem we are referring to atm is with vulkan

@Stefano-82
Copy link

@iCatButler i made once again a clear install of retroarch x64 1.7.3 installing beetle hw core and upgrading it.
My drivers version of vulkan has been updated yesterday to the most recent, it actually says 2.0.20 with API version 1.1.70.

The settings of the beetle core are to the defaults with no shaders or whatever, i just dunno what to do considering you have my same gpu only with more Video Ram

@rz5
Copy link
Contributor

rz5 commented Aug 14, 2018

On my end, I can confirm that updating the AMD GPU driver fixed this bug.
image

@Solfbeen @777sha @ElectricKeet - could you verify on your ends? Make sure you update your 'AMD Radeon Settings' to the latest version if you can (18.8.1).

@Stefano-82 I've tested the Vulkan renderer and it works too - upscaling, adaptive smoothing, toggling fullscreen, PGXP - however this thread is about the OpenGL renderer. If you can't get the Vulkan stuff working, I suggest you confirm your settings with other AMD users on e.g. the RA Discord server. If you stumble upon something reproducible, consider opening a new github issue about it.

@Stefano-82
Copy link

my amd driver are 18.5.1 i will upload tonight to the nighlty

@Stefano-82
Copy link

Stefano-82 commented Aug 15, 2018

@iCatButler i have installed the latest 18.8.1 and nothing has changed, bios starts with vulkan then the sound stops right before loading the playstation logo and the emulator closes by itself.

amd drivers

@rz5
Copy link
Contributor

rz5 commented Aug 15, 2018

@Stefano-82 - What about the OpenGL renderer? Does it work now?

@iCatButler
Copy link
Contributor

@Stefano-82 regarding the Vulkan renderer, I've noticed that my log file shows the renderer apparently starting multiple times with different swap chain configurations, presumably failing each time until it finds one compatible with the card/drivers.

Your log doesn't show this behaviour (or an error) so it may just be crashing on the first attempt somewhere in the Vulkan driver or runtime instead of returning the appropriate error to RetroArch. If you haven't tried doing so it might be worth completely uninstalling your AMD drivers (and possibly Vulkan runtime) and performing a clean install.

As rz5 mentioned, it would be useful for the purposes of this issue to know if the OpenGL renderer is now working correctly.

@Stefano-82
Copy link

Stefano-82 commented Aug 15, 2018

@rz5 GL is working but horrible glitches and absolutelyunplayable, i have already done a clean install of the drivers AMD, i always do.

@Stefano-82
Copy link

Stefano-82 commented Aug 15, 2018

Ok i guess magic do happen in this situations, without doing anything i tried after 2 hours restarting retroarch, only thing i've done is play a game which might use vulkan and might have triggered something.

I have slow loading and retroarch suggested to select under options"async" mode for cd reading instead of sync, and it goes much smoother, finally it seems i reaxched the end of my tunnel 💃

@Stefano-82
Copy link

To make a summary of the things i've done to make this work :

1)Delete retroarch folder
2)Update to the "optional"(nightly) AMD drivers, as of today Version 18.8.1 with a CLEAN INSTALL.
3)Udate Visual C++ Runtime https://support.microsoft.com/it-it/help/2977003/the-latest-supported-visual-c-downloads
4)Restart
5)Reinstall Retroarch
6)Download Lang shaders
7)used PGXP(all settings ON), x2 gpu resolution, 4xbrz, CD access method async (any of this settings higher or different made my system VERY SLOW, so they are good if you have something similar to my system, either way try to play around with settings.

system with i5 4440,8gb ram,AMD R9 270X running windows 10 64,

@Stefano-82
Copy link

After computer restart i have the same problem as before, this is a nightmare, i can't understand where this is coming from i have no evidence at all.

@Stefano-82
Copy link

I switched to using the nightly with the same settings, and it's now working again, there must be something in the stable version preventing me from using this core with vulkan correctly, i made 2 restarts just to be sure and it's working good.

@rz5
Copy link
Contributor

rz5 commented Aug 18, 2018

Since this seems fixed on at least 3 different systems with AMD GPUs, I'll close this now. And the other people I pinged for feedback can be referred back to this thread in case they still have the bug.

@rz5 rz5 closed this as completed Aug 18, 2018
@Solfbeen
Copy link

Solfbeen commented Mar 8, 2019

For people who can't update their drivers like me (I use Crt Emudriver).
I've found a workaround incidentally when I injected Reshade in RA. No need to use a specific shader.
The picture displays normally with OpenGL driver now. I can't explain why.

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

No branches or pull requests

8 participants