Blackscreen on quit in Fullscreen mode

Hi all,

When used in non windowed fullscreen mode, RetroArch leaves my system with a blackscreen on quits, letting my screen to go into hibernate mode. I have to connect into another tty and type DISPLAY=:0 xrandr and reswitch to graphical tty to get it back. It does not affect a particular core as i tried with many (mame, genesis_dx and others). This behavior not always occurs, I would say 1 time in 4 launchs. It occurs too when i switch for fullscreen to windowed using f hotkey.

It sounds like to be a bug but as i am pretty new to RetroArch i don’t want to spam github tracker for now.

$ retroarch --version

RetroArch: Frontend for libretro -- v1.6.9 -- 2608fd1 --
Compiler: GCC (7.2.1) 64-bitBuilt: Dec  2 2017

$ lsb_release -a

LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: Fedora
Description:    Fedora release 27 (Twenty Seven)
Release:        27
Codename:       TwentySeven

$ lspci | grep VGA

01:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cedar [Radeon HD 5000/6000/7350/8350 Series]

Some further observations

I noticed that if RetroArch is launched with a video_refresh_rate different than the actual desktop and adequate modelines are available, say desktop is at 60Hz and retroarch configured at 50Hz, refresh changes occurs correctly, and on quit, previous desktop 60Hz is reverted back correctly. This bug only occurs when actual desktop refresh rate is the same as retroarch.

RA-logs

[INFO] RetroArch 1.6.9 (Git 2608fd1)
[INFO] Redirecting save file to "/home/ben/var/tmp/eswat.srm".
[INFO] Redirecting savestate to "/home/ben/var/tmp/eswat.state".
[INFO] === Build =======================================
Capabilities: MMX MMXEXT SSE1 SSE2 SSE3 SSSE3 SSE4 SSE4.2 
Built: Dec  2 2017
[INFO] Version: 1.6.9
[INFO] Git: 2608fd1
[INFO] =================================================
[INFO] [Config]: Loading default config.
[INFO] [Config]: loading config from: (null).
[INFO] Looking for config in: "/home/ben/.config/retroarch/retroarch.cfg".
[INFO] Loading dynamic libretro core from: "/usr/local/lib/libretro/cores/genesis_plus_gx_libretro.so"
[INFO] [overrides] no core-specific overrides found at /home/ben/.config/retroarch/config/Genesis Plus GX/Genesis Plus GX.cfg.
[INFO] [overrides] no game-specific overrides found at /home/ben/.config/retroarch/config/Genesis Plus GX/eswat.cfg.
[INFO] Shaders: preset directory: /home/ben/.config/retroarch/shaders/presets
[INFO] Shaders: no game-specific preset found at /home/ben/.config/retroarch/shaders/presets/Genesis Plus GX/eswat.cgp.
[INFO] Shaders: no game-specific preset found at /home/ben/.config/retroarch/shaders/presets/Genesis Plus GX/eswat.glslp.
[INFO] Shaders: no core-specific preset found at /home/ben/.config/retroarch/shaders/presets/Genesis Plus GX/Genesis Plus GX.cgp.
[INFO] Shaders: no core-specific preset found at /home/ben/.config/retroarch/shaders/presets/Genesis Plus GX/Genesis Plus GX.glslp.
[INFO] Environ SET_VARIABLES.
[INFO] Environ SET_CONTROLLER_INFO.
[INFO] Controller port: 1
[INFO]    Joypad Auto (ID: 1)
[INFO]    Joypad Port Empty (ID: 0)
[INFO]    MD Joypad 3 Button (ID: 257)
[INFO]    MD Joypad 6 Button (ID: 513)
[INFO]    MS Joypad 2 Button (ID: 769)
[INFO]    MD Joypad 3 Button + 4-WayPlay (ID: 1025)
[INFO]    MD Joypad 6 Button + 4-WayPlay (ID: 1281)
[INFO]    MD Joypad 3 Button + Teamplayer (ID: 1537)
[INFO]    MD Joypad 6 Button + Teamplayer (ID: 1793)
[INFO]    MS Joypad 2 Button + Master Tap (ID: 2049)
[INFO]    MS Light Phaser (ID: 260)
[INFO]    MS Paddle Control (ID: 261)
[INFO]    MS Sports Pad (ID: 517)
[INFO]    MS Graphic Board (ID: 262)
[INFO]    MD XE-1AP (ID: 773)
[INFO]    MD Mouse (ID: 2)
[INFO] Controller port: 2
[INFO]    Joypad Auto (ID: 1)
[INFO]    Joypad Port Empty (ID: 0)
[INFO]    MD Joypad 3 Button (ID: 257)
[INFO]    MD Joypad 6 Button (ID: 513)
[INFO]    MS Joypad 2 Button (ID: 769)
[INFO]    MD Joypad 3 Button + 4-WayPlay (ID: 1025)
[INFO]    MD Joypad 6 Button + 4-WayPlay (ID: 1281)
[INFO]    MD Joypad 3 Button + Teamplayer (ID: 1537)
[INFO]    MD Joypad 6 Button + Teamplayer (ID: 1793)
[INFO]    MS Joypad 2 Button + Master Tap (ID: 2049)
[INFO]    MD Menacer (ID: 516)
[INFO]    MD Justifiers (ID: 772)
[INFO]    MS Light Phaser (ID: 260)
[INFO]    MS Paddle Control (ID: 261)
[INFO]    MS Sports Pad (ID: 517)
[INFO]    MS Graphic Board (ID: 262)
[INFO]    MD XE-1AP (ID: 773)
[INFO]    MD Mouse (ID: 2)
[INFO] Environ SET_INPUT_DESCRIPTORS:
[INFO] 	RetroPad, User 1, Button "B (bottom)" => "B"
[INFO] 	RetroPad, User 1, Button "Y (left)" => "A"
[INFO] 	RetroPad, User 1, Button "Select" => "Mode"
[INFO] 	RetroPad, User 1, Button "Start" => "Start"
[INFO] 	RetroPad, User 1, Button "D-Pad Up" => "D-Pad Up"
[INFO] 	RetroPad, User 1, Button "D-Pad Down" => "D-Pad Down"
[INFO] 	RetroPad, User 1, Button "D-Pad Left" => "D-Pad Left"
[INFO] 	RetroPad, User 1, Button "D-Pad Right" => "D-Pad Right"
[INFO] 	RetroPad, User 1, Button "A (right)" => "C"
[INFO] 	RetroPad, User 1, Button "X (up)" => "Y"
[INFO] 	RetroPad, User 1, Button "L" => "X"
[INFO] 	RetroPad, User 1, Button "R" => "Z"
[INFO] 	RetroPad, User 2, Button "B (bottom)" => "B"
[INFO] 	RetroPad, User 2, Button "Y (left)" => "A"
[INFO] 	RetroPad, User 2, Button "Select" => "Mode"
[INFO] 	RetroPad, User 2, Button "Start" => "Start"
[INFO] 	RetroPad, User 2, Button "D-Pad Up" => "D-Pad Up"
[INFO] 	RetroPad, User 2, Button "D-Pad Down" => "D-Pad Down"
[INFO] 	RetroPad, User 2, Button "D-Pad Left" => "D-Pad Left"
[INFO] 	RetroPad, User 2, Button "D-Pad Right" => "D-Pad Right"
[INFO] 	RetroPad, User 2, Button "A (right)" => "C"
[INFO] 	RetroPad, User 2, Button "X (up)" => "Y"
[INFO] 	RetroPad, User 2, Button "L" => "X"
[INFO] 	RetroPad, User 2, Button "R" => "Z"
[INFO] 	RetroPad, User 3, Button "B (bottom)" => "B"
[INFO] 	RetroPad, User 3, Button "Y (left)" => "A"
[INFO] 	RetroPad, User 3, Button "Select" => "Mode"
[INFO] 	RetroPad, User 3, Button "Start" => "Start"
[INFO] 	RetroPad, User 3, Button "D-Pad Up" => "D-Pad Up"
[INFO] 	RetroPad, User 3, Button "D-Pad Down" => "D-Pad Down"
[INFO] 	RetroPad, User 3, Button "D-Pad Left" => "D-Pad Left"
[INFO] 	RetroPad, User 3, Button "D-Pad Right" => "D-Pad Right"
[INFO] 	RetroPad, User 3, Button "A (right)" => "C"
[INFO] 	RetroPad, User 3, Button "X (up)" => "Y"
[INFO] 	RetroPad, User 3, Button "L" => "X"
[INFO] 	RetroPad, User 3, Button "R" => "Z"
[INFO] 	RetroPad, User 4, Button "B (bottom)" => "B"
[INFO] 	RetroPad, User 4, Button "Y (left)" => "A"
[INFO] 	RetroPad, User 4, Button "Select" => "Mode"
[INFO] 	RetroPad, User 4, Button "Start" => "Start"
[INFO] 	RetroPad, User 4, Button "D-Pad Up" => "D-Pad Up"
[INFO] 	RetroPad, User 4, Button "D-Pad Down" => "D-Pad Down"
[INFO] 	RetroPad, User 4, Button "D-Pad Left" => "D-Pad Left"
[INFO] 	RetroPad, User 4, Button "D-Pad Right" => "D-Pad Right"
[INFO] 	RetroPad, User 4, Button "A (right)" => "C"
[INFO] 	RetroPad, User 4, Button "X (up)" => "Y"
[INFO] 	RetroPad, User 4, Button "L" => "X"
[INFO] 	RetroPad, User 4, Button "R" => "Z"
[INFO] 	RetroPad, User 5, Button "B (bottom)" => "B"
[INFO] 	RetroPad, User 5, Button "Y (left)" => "A"
[INFO] 	RetroPad, User 5, Button "Select" => "Mode"
[INFO] 	RetroPad, User 5, Button "Start" => "Start"
[INFO] 	RetroPad, User 5, Button "D-Pad Up" => "D-Pad Up"
[INFO] 	RetroPad, User 5, Button "D-Pad Down" => "D-Pad Down"
[INFO] 	RetroPad, User 5, Button "D-Pad Left" => "D-Pad Left"
[INFO] 	RetroPad, User 5, Button "D-Pad Right" => "D-Pad Right"
[INFO] 	RetroPad, User 5, Button "A (right)" => "C"
[INFO] 	RetroPad, User 5, Button "X (up)" => "Y"
[INFO] 	RetroPad, User 5, Button "L" => "X"
[INFO] 	RetroPad, User 5, Button "R" => "Z"
[INFO] Remaps: remap directory: /home/ben/.config/retroarch/config/remaps
[INFO] Remaps: no game-specific remap found at /home/ben/.config/retroarch/config/remaps/Genesis Plus GX/eswat.rmp.
[INFO] Remaps: no core-specific remap found at /home/ben/.config/retroarch/config/remaps/Genesis Plus GX/Genesis Plus GX.rmp.
[INFO] Redirecting save file to "/home/ben/var/tmp/eswat.srm".
[INFO] Redirecting savestate to "/home/ben/var/tmp/eswat.state".
[INFO] Environ PERFORMANCE_LEVEL: 1.
[INFO] Environ GET_LOG_INTERFACE.
[INFO] Environ PERFORMANCE_LEVEL: 7.
[INFO] Content loading skipped. Implementation will load it on its own.
[INFO] Environ SET_PIXEL_FORMAT: RGB565.
[libretro INFO] Frontend supports RGB565 - will use that instead of XRGB1555.
[WARN] SYSTEM DIR is empty, assume CONTENT DIR /home/ben/var/tmp/eswat.zip
[INFO] Environ SYSTEM_DIRECTORY: "/home/ben/var/tmp/".
[INFO] Environ GET_VARIABLE genesis_plus_gx_bram:
[INFO] 	per bios
[INFO] Environ GET_VARIABLE genesis_plus_gx_system_hw:
[INFO] 	auto
[INFO] Environ GET_VARIABLE genesis_plus_gx_bios:
[INFO] 	disabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_region_detect:
[INFO] 	auto
[INFO] Environ GET_VARIABLE genesis_plus_gx_force_dtack:
[INFO] 	enabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_addr_error:
[INFO] 	enabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_lock_on:
[INFO] 	disabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_ym2413:
[INFO] 	auto
[INFO] Environ GET_VARIABLE genesis_plus_gx_sound_output:
[INFO] 	stereo
[INFO] Environ GET_VARIABLE genesis_plus_gx_audio_filter:
[INFO] 	disabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_lowpass_range:
[INFO] 	60
[INFO] Environ GET_VARIABLE genesis_plus_gx_dac_bits:
[INFO] 	disabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_ym3438:
[INFO] 	mame
[INFO] Environ GET_VARIABLE genesis_plus_gx_blargg_ntsc_filter:
[INFO] 	disabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_lcd_filter:
[INFO] 	disabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_overscan:
[INFO] 	disabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_gg_extra:
[INFO] 	disabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_aspect_ratio:
[INFO] 	auto
[INFO] Environ GET_VARIABLE genesis_plus_gx_render:
[INFO] 	single field
[INFO] Environ GET_VARIABLE genesis_plus_gx_gun_cursor:
[INFO] 	disabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_invert_mouse:
[INFO] 	disabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_overclock:
[INFO] 	100%
[INFO] Environ GET_VARIABLE genesis_plus_gx_no_sprite_limit:
[INFO] 	disabled
[libretro INFO] Game Genie ROM should be located at: /home/ben/var/tmp//ggenie.bin
[libretro INFO] Action Replay (Pro) ROM should be located at: /home/ben/var/tmp//areplay.bin
[libretro INFO] Sonic & Knuckles (2 MB) ROM should be located at: /home/ben/var/tmp//sk.bin
[libretro INFO] Sonic & Knuckles UPMEM (256 KB) ROM should be located at: /home/ben/var/tmp//sk2chip.bin
[libretro INFO] Mega Drive TMSS BOOTROM should be located at: /home/ben/var/tmp//bios_MD.bin
[libretro INFO] Game Gear TMSS BOOTROM should be located at: /home/ben/var/tmp//bios.gg
[libretro INFO] Master System (PAL) BOOTROM should be located at: /home/ben/var/tmp//bios_E.sms
[libretro INFO] Master System (NTSC-U) BOOTROM should be located at: /home/ben/var/tmp//bios_U.sms
[libretro INFO] Master System (NTSC-J) BOOTROM should be located at: /home/ben/var/tmp//bios_J.sms
[libretro INFO] Mega CD (PAL) BIOS should be located at: /home/ben/var/tmp//bios_CD_E.bin
[libretro INFO] Sega CD (NTSC-U) BIOS should be located at: /home/ben/var/tmp//bios_CD_U.bin
[libretro INFO] Mega CD (NTSC-J) BIOS should be located at: /home/ben/var/tmp//bios_CD_J.bin
[libretro INFO] Mega CD (PAL) BRAM is located at: /home/ben/var/tmp//scd_E.brm
[libretro INFO] Sega CD (NTSC-U) BRAM is located at: /home/ben/var/tmp//scd_U.brm
[libretro INFO] Mega CD (NTSC-J) BRAM is located at: /home/ben/var/tmp//scd_J.brm
[libretro INFO] Sega/Mega CD RAM CART is located at: /home/ben/var/tmp//cart.brm
[libretro INFO] INFORMATION - Loading 524288 bytes ...
[INFO] [CHEEVOS]: system RAM: 0x7fc582d5ab00 65536
[INFO] [CHEEVOS]: save RAM:   0x7fc582b5aae0 65536
[INFO] [CHEEVOS]: video RAM:  (nil) 0
[INFO] [CHEEVOS]: RTC:        (nil) 0
[INFO] Skipping SRAM load..
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 44142.73 Hz.
[INFO] Found shader "/home/ben/.config/retroarch/shaders/retroarch.cgp"
[INFO] Found shader "/home/ben/.config/retroarch/shaders/retroarch.glslp"
[INFO] Found shader "/home/ben/.config/retroarch/shaders/sharp-bilinear-2x-prescale.glslp"
[INFO] Found shader "/home/ben/.config/retroarch/shaders/sharp-bilinear-scanlines.glslp"
[INFO] Found shader "/home/ben/.config/retroarch/shaders/sharp-bilinear-simple.glslp"
[INFO] [Video]: Video @ fullscreen
[INFO] [GLX]: GLX_OML_sync_control and GLX_MESA_swap_control supported, using better swap control method...
[INFO] [GL]: Found GL context: x
[INFO] [GL]: Detecting screen resolution 1680x1050.
[INFO] [XINERAMA]: Xinerama version: 1.1.
[INFO] [XINERAMA]: Xinerama screens: 1.
[INFO] [GLX]: Using Xinerama on screen #0.
[INFO] [GLX]: X = 0, Y = 0, W = 1680, H = 1050.
[INFO] [GLX]: Using true fullscreen.
[INFO] [GLX]: Found swap function: glXSwapIntervalEXT.
[INFO] [GLX]: glXSwapIntervalEXT(1)
[INFO] [GL]: Vendor: X.Org, Renderer: AMD CEDAR (DRM 2.50.0 / 4.14.7-300.fc27.x86_64, LLVM 4.0.1).
[INFO] [GL]: Version: 3.0 Mesa 17.2.4.
[INFO] [GL]: Using ARB_sync to reduce latency.
[INFO] [GL]: Using resolution 1680x1050
[INFO] [GL]: Default shader backend found: glsl.
[INFO] [Shader driver]: Using GLSL shader backend.
[INFO] [GLSL]: Checking GLSL shader support ...
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GLSL]: Found GLSL vertex shader.
[INFO] [GLSL]: Found GLSL fragment shader.
[INFO] [GLSL]: Linking GLSL program.
[INFO] [GL]: Using 4 textures.
[INFO] [GL]: Loaded 2 program(s).
[INFO] [GL]: Using GL_RGB565 for texture uploads.
[INFO] [GL]: Creating FBO 0 @ 2048x2048
[INFO] [Joypad]: Found joypad driver: "linuxraw".
[INFO] [Font]: Using font rendering backend: bitmap.
[INFO] [X11]: Suspending screensaver (X11, xdg-screensaver).
[WARN] Could not suspend screen saver.
[INFO] [PulseAudio]: Requested 24576 bytes buffer, got 18432.
[INFO] [Menu]: Found menu display driver: "menu_display_gl".
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] [Font]: Using font rendering backend: freetype.
[INFO] Disconnecting device from port 5.
[INFO] Loading history file: [/home/ben/.config/retroarch/content_history.lpl].
[INFO] Loading history file: [/home/ben/.config/retroarch/content_favorites.lpl].
[INFO] Loading history file: [/home/ben/.config/retroarch/content_music_history.lpl].
[INFO] Loading history file: [/home/ben/.config/retroarch/content_video_history.lpl].
[INFO] Loading history file: [/home/ben/.config/retroarch/content_image_history.lpl].
[INFO] [GL]: VSync => on
[INFO] [GLX]: glXSwapIntervalEXT(1)
[INFO] [PulseAudio]: Unpausing.
[INFO] Environ SET_GEOMETRY.
[INFO] SET_GEOMETRY: 320x224, aspect: 1.306.
[INFO] [PulseAudio]: Unpausing.
[INFO] [PulseAudio]: Unpausing.
[INFO] [Config]: Saved new config to "/home/ben/.config/retroarch/retroarch.cfg".
[INFO] Saving RAM type #0 to "/home/ben/var/tmp/eswat.srm".
[INFO] Saved successfully to "/home/ben/var/tmp/eswat.srm".
[INFO] [PulseAudio]: Pausing.
[INFO] Saved core options file to "/home/ben/.config/retroarch/retroarch-core-options.cfg"
[INFO] [XINERAMA]: Xinerama version: 1.1.
[INFO] [XINERAMA]: Xinerama screens: 1.
[INFO] [XINERAMA]: Saved monitor #0.
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
[INFO] [Audio]: Average audio buffer saturation: 38.02 %, standard deviation (percentage points): 10.12 %.
[INFO] [Audio]: Amount of time spent close to underrun: 0.00 %. Close to blocking: 0.00 %.
[INFO] Removing temporary content file: /home/ben/.config/retroarch/cache/ESWAT - City Under Siege (USA, Europe).md.
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
[INFO] [Audio]: Average audio buffer saturation: 38.02 %, standard deviation (percentage points): 10.12 %.
[INFO] [Audio]: Amount of time spent close to underrun: 0.00 %. Close to blocking: 0.00 %.

Off-topic

This is my first message here. So here is a quick presentation of myself. Long-term Mame user i tried recently RetroArch and was really seduced by it’s low input/audio lag performances. I played a lot with groovymame too with a Linux 15khz setup but on traditional LCD setup i can’t make Groovymame to perform like RetroArch.

EDIT: done some formating

Hey, welcome. I’m glad you’re enjoying RetroArch so far. Hopefully we can track down what’s causing this blackscreen issue :slight_smile:

Is that log from one of the times it didn’t switch back, I guess? Does it act any differently if you switch to vulkan in settings > driver > video driver?

Hi Hunterk,

First, sorry for the formating. I think i posted the topic two times, the second is well formated but waiting for moderation… Sorry about that i’m just discovering how the forum works.

Yes the bug appeared when the log has been captured.

Vulkan is not an option i only have gl, sdl2 or null and gl is enabled. Testing Vulkan is on my “todo list” but i havent spent time on it for now. Did i miss to mention something at compilation time in order to make it available ?

when you’re configuring, add --enable-vulkan and it will force it instead of just checking for the right libs. It will likely fail asking you to install some more dependencies. Once those are installed, though, you should be all set.

You could also try one of our precompiled packages–we have flatpaks and I can get you an appimage*; we also have deb packages in the PPA that you can convert to rp-- and see if the behavior persists.

*we also have snap packages, but they don’t appear to have vulkan support compiled in either.

Okay,

So i’ll first try to make RA to work using Vulkan and see if the bug occurs using it too. I’ll feedback my results here. I’m pretty comfortable with compilation in general so this is not an issue for me.

Thanks for your help hunterk.

1 Like

I can’t make Vulkan to work unfortunately.

RA-Logs

[INFO] Incompatible shader for backend vulkan, clearing...
[INFO] Environ SET_PIXEL_FORMAT: RGB565.
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 29990.40 Hz.
[INFO] Found shader "/home/ben/.config/retroarch/shaders/retroarch.cgp"
[INFO] Found shader "/home/ben/.config/retroarch/shaders/retroarch.glslp"
[INFO] Found shader "/home/ben/.config/retroarch/shaders/sharp-bilinear-2x-prescale.glslp"
[INFO] Found shader "/home/ben/.config/retroarch/shaders/sharp-bilinear-scanlines.glslp"
[INFO] Found shader "/home/ben/.config/retroarch/shaders/sharp-bilinear-simple.glslp"
[INFO] [Video]: Video @ fullscreen
[INFO] Vulkan dynamic library loaded.
[INFO] [Vulkan]: Detecting screen resolution 1680x1050.
[INFO] [XINERAMA]: Xinerama version: 1.1.
[INFO] [XINERAMA]: Xinerama screens: 1.
[INFO] [GLX]: Using Xinerama on screen #0.
[INFO] [GLX]: X = 0, Y = 0, W = 1680, H = 1050.
[INFO] [GLX]: Using true fullscreen.
[ERROR] [Vulkan]: Failed to enumerate physical devices.
[INFO] [XINERAMA]: Xinerama version: 1.1.
[INFO] [XINERAMA]: Xinerama screens: 1.
[INFO] [XINERAMA]: Saved monitor #0.
[ERROR] [Vulkan]: Failed to set video mode.
[ERROR] [Video]: Cannot open video driver ... Exiting ...
[ERROR] Fatal error received in: "init_video()"
[ERROR] This core requires a content file.

After a quick investigation about Vulkan (didn’t know a lot about this API until now), it seems it is not compatible with ATI Cedar GPUs (HD5xxx): http://www.amd.com/en/technologies/vulkan.

I have a Nvidia card into another system i will play with it eventually. But this does not solve the issue on this unfortunately. This is really no big deal but a little annoying when i have to start RA many times while configuring it for example.

ah, yeah, it’s only supported on very new GPUs (none of mine support it, either…).

Ok, would you want to try one of our portable packages to see if something went wrong with your compile or system libs somehow? If you’re willing to try it, here’s how to set up the flatpak build: https://www.libretro.com/index.php/retroarch-with-flatpak/

While it’s not a good long-term solution, does the issue happen with any of the other video drivers (e.g., sdl)?

Not much luck with sdl2 (the only alternative). I can’t make it to work as stated by this log:

[INFO] RetroArch 1.6.9 (Git 2608fd1)
[INFO] Redirecting save file to "/home/pkg/no-intro-romset-2017-06-27/No-Intro/Sega - Mega Drive - Genesis/ESWAT - City Under Siege (USA, Europe).srm".
[INFO] Redirecting savestate to "/home/pkg/no-intro-romset-2017-06-27/No-Intro/Sega - Mega Drive - Genesis/ESWAT - City Under Siege (USA, Europe).state".
[INFO] === Build =======================================
Capabilities: MMX MMXEXT SSE1 SSE2 SSE3 SSSE3 SSE4 SSE4.2 
Built: Dec 23 2017
[INFO] Version: 1.6.9
[INFO] Git: 2608fd1
[INFO] =================================================
[INFO] [Config]: Loading default config.
[INFO] [Config]: loading config from: (null).
[INFO] Looking for config in: "/home/ben/.config/retroarch/retroarch.cfg".
[INFO] Incompatible shader for backend sdl2, clearing...
[INFO] Loading dynamic libretro core from: "/usr/local/lib/libretro/cores/genesis_plus_gx_libretro.so"
[INFO] [overrides] no core-specific overrides found at /home/ben/.config/retroarch/config/Genesis Plus GX/Genesis Plus GX.cfg.
[INFO] [overrides] no game-specific overrides found at /home/ben/.config/retroarch/config/Genesis Plus GX/ESWAT - City Under Siege (USA, Europe).cfg.
[INFO] Shaders: preset directory: /home/ben/.config/retroarch/shaders/presets
[INFO] Environ SET_VARIABLES.
[INFO] Environ SET_CONTROLLER_INFO.
[INFO] Controller port: 1
[INFO]    Joypad Auto (ID: 1)
[INFO]    Joypad Port Empty (ID: 0)
[INFO]    MD Joypad 3 Button (ID: 257)
[INFO]    MD Joypad 6 Button (ID: 513)
[INFO]    MS Joypad 2 Button (ID: 769)
[INFO]    MD Joypad 3 Button + 4-WayPlay (ID: 1025)
[INFO]    MD Joypad 6 Button + 4-WayPlay (ID: 1281)
[INFO]    MD Joypad 3 Button + Teamplayer (ID: 1537)
[INFO]    MD Joypad 6 Button + Teamplayer (ID: 1793)
[INFO]    MS Joypad 2 Button + Master Tap (ID: 2049)
[INFO]    MS Light Phaser (ID: 260)
[INFO]    MS Paddle Control (ID: 261)
[INFO]    MS Sports Pad (ID: 517)
[INFO]    MS Graphic Board (ID: 262)
[INFO]    MD XE-1AP (ID: 773)
[INFO]    MD Mouse (ID: 2)
[INFO] Controller port: 2
[INFO]    Joypad Auto (ID: 1)
[INFO]    Joypad Port Empty (ID: 0)
[INFO]    MD Joypad 3 Button (ID: 257)
[INFO]    MD Joypad 6 Button (ID: 513)
[INFO]    MS Joypad 2 Button (ID: 769)
[INFO]    MD Joypad 3 Button + 4-WayPlay (ID: 1025)
[INFO]    MD Joypad 6 Button + 4-WayPlay (ID: 1281)
[INFO]    MD Joypad 3 Button + Teamplayer (ID: 1537)
[INFO]    MD Joypad 6 Button + Teamplayer (ID: 1793)
[INFO]    MS Joypad 2 Button + Master Tap (ID: 2049)
[INFO]    MD Menacer (ID: 516)
[INFO]    MD Justifiers (ID: 772)
[INFO]    MS Light Phaser (ID: 260)
[INFO]    MS Paddle Control (ID: 261)
[INFO]    MS Sports Pad (ID: 517)
[INFO]    MS Graphic Board (ID: 262)
[INFO]    MD XE-1AP (ID: 773)
[INFO]    MD Mouse (ID: 2)
[INFO] Environ SET_INPUT_DESCRIPTORS:
[INFO] 	RetroPad, User 1, Button "B (bottom)" => "B"
[INFO] 	RetroPad, User 1, Button "Y (left)" => "A"
[INFO] 	RetroPad, User 1, Button "Select" => "Mode"
[INFO] 	RetroPad, User 1, Button "Start" => "Start"
[INFO] 	RetroPad, User 1, Button "D-Pad Up" => "D-Pad Up"
[INFO] 	RetroPad, User 1, Button "D-Pad Down" => "D-Pad Down"
[INFO] 	RetroPad, User 1, Button "D-Pad Left" => "D-Pad Left"
[INFO] 	RetroPad, User 1, Button "D-Pad Right" => "D-Pad Right"
[INFO] 	RetroPad, User 1, Button "A (right)" => "C"
[INFO] 	RetroPad, User 1, Button "X (up)" => "Y"
[INFO] 	RetroPad, User 1, Button "L" => "X"
[INFO] 	RetroPad, User 1, Button "R" => "Z"
[INFO] 	RetroPad, User 2, Button "B (bottom)" => "B"
[INFO] 	RetroPad, User 2, Button "Y (left)" => "A"
[INFO] 	RetroPad, User 2, Button "Select" => "Mode"
[INFO] 	RetroPad, User 2, Button "Start" => "Start"
[INFO] 	RetroPad, User 2, Button "D-Pad Up" => "D-Pad Up"
[INFO] 	RetroPad, User 2, Button "D-Pad Down" => "D-Pad Down"
[INFO] 	RetroPad, User 2, Button "D-Pad Left" => "D-Pad Left"
[INFO] 	RetroPad, User 2, Button "D-Pad Right" => "D-Pad Right"
[INFO] 	RetroPad, User 2, Button "A (right)" => "C"
[INFO] 	RetroPad, User 2, Button "X (up)" => "Y"
[INFO] 	RetroPad, User 2, Button "L" => "X"
[INFO] 	RetroPad, User 2, Button "R" => "Z"
[INFO] 	RetroPad, User 3, Button "B (bottom)" => "B"
[INFO] 	RetroPad, User 3, Button "Y (left)" => "A"
[INFO] 	RetroPad, User 3, Button "Select" => "Mode"
[INFO] 	RetroPad, User 3, Button "Start" => "Start"
[INFO] 	RetroPad, User 3, Button "D-Pad Up" => "D-Pad Up"
[INFO] 	RetroPad, User 3, Button "D-Pad Down" => "D-Pad Down"
[INFO] 	RetroPad, User 3, Button "D-Pad Left" => "D-Pad Left"
[INFO] 	RetroPad, User 3, Button "D-Pad Right" => "D-Pad Right"
[INFO] 	RetroPad, User 3, Button "A (right)" => "C"
[INFO] 	RetroPad, User 3, Button "X (up)" => "Y"
[INFO] 	RetroPad, User 3, Button "L" => "X"
[INFO] 	RetroPad, User 3, Button "R" => "Z"
[INFO] 	RetroPad, User 4, Button "B (bottom)" => "B"
[INFO] 	RetroPad, User 4, Button "Y (left)" => "A"
[INFO] 	RetroPad, User 4, Button "Select" => "Mode"
[INFO] 	RetroPad, User 4, Button "Start" => "Start"
[INFO] 	RetroPad, User 4, Button "D-Pad Up" => "D-Pad Up"
[INFO] 	RetroPad, User 4, Button "D-Pad Down" => "D-Pad Down"
[INFO] 	RetroPad, User 4, Button "D-Pad Left" => "D-Pad Left"
[INFO] 	RetroPad, User 4, Button "D-Pad Right" => "D-Pad Right"
[INFO] 	RetroPad, User 4, Button "A (right)" => "C"
[INFO] 	RetroPad, User 4, Button "X (up)" => "Y"
[INFO] 	RetroPad, User 4, Button "L" => "X"
[INFO] 	RetroPad, User 4, Button "R" => "Z"
[INFO] 	RetroPad, User 5, Button "B (bottom)" => "B"
[INFO] 	RetroPad, User 5, Button "Y (left)" => "A"
[INFO] 	RetroPad, User 5, Button "Select" => "Mode"
[INFO] 	RetroPad, User 5, Button "Start" => "Start"
[INFO] 	RetroPad, User 5, Button "D-Pad Up" => "D-Pad Up"
[INFO] 	RetroPad, User 5, Button "D-Pad Down" => "D-Pad Down"
[INFO] 	RetroPad, User 5, Button "D-Pad Left" => "D-Pad Left"
[INFO] 	RetroPad, User 5, Button "D-Pad Right" => "D-Pad Right"
[INFO] 	RetroPad, User 5, Button "A (right)" => "C"
[INFO] 	RetroPad, User 5, Button "X (up)" => "Y"
[INFO] 	RetroPad, User 5, Button "L" => "X"
[INFO] 	RetroPad, User 5, Button "R" => "Z"
[INFO] Remaps: remap directory: /home/ben/.config/retroarch/config/remaps
[INFO] Remaps: no game-specific remap found at /home/ben/.config/retroarch/config/remaps/Genesis Plus GX/ESWAT - City Under Siege (USA, Europe).rmp.
[INFO] Remaps: no core-specific remap found at /home/ben/.config/retroarch/config/remaps/Genesis Plus GX/Genesis Plus GX.rmp.
[INFO] Redirecting save file to "/home/ben/.config/retroarch/savefile/ESWAT - City Under Siege (USA, Europe).srm".
[INFO] Redirecting savestate to "/home/ben/.config/retroarch/savestate/ESWAT - City Under Siege (USA, Europe).state".
[INFO] Environ PERFORMANCE_LEVEL: 1.
[INFO] Environ GET_LOG_INTERFACE.
[INFO] Environ PERFORMANCE_LEVEL: 7.
[INFO] Content loading skipped. Implementation will load it on its own.
[INFO] Environ SET_PIXEL_FORMAT: RGB565.
[libretro INFO] Frontend supports RGB565 - will use that instead of XRGB1555.
[INFO] Environ SYSTEM_DIRECTORY: "/home/ben/.config/retroarch/system".
[INFO] Environ GET_VARIABLE genesis_plus_gx_bram:
[INFO] 	per bios
[INFO] Environ GET_VARIABLE genesis_plus_gx_system_hw:
[INFO] 	auto
[INFO] Environ GET_VARIABLE genesis_plus_gx_bios:
[INFO] 	disabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_region_detect:
[INFO] 	auto
[INFO] Environ GET_VARIABLE genesis_plus_gx_force_dtack:
[INFO] 	enabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_addr_error:
[INFO] 	enabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_lock_on:
[INFO] 	disabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_ym2413:
[INFO] 	auto
[INFO] Environ GET_VARIABLE genesis_plus_gx_sound_output:
[INFO] 	stereo
[INFO] Environ GET_VARIABLE genesis_plus_gx_audio_filter:
[INFO] 	disabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_lowpass_range:
[INFO] 	60
[INFO] Environ GET_VARIABLE genesis_plus_gx_dac_bits:
[INFO] 	disabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_ym3438:
[INFO] 	mame
[INFO] Environ GET_VARIABLE genesis_plus_gx_blargg_ntsc_filter:
[INFO] 	disabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_lcd_filter:
[INFO] 	disabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_overscan:
[INFO] 	disabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_gg_extra:
[INFO] 	disabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_aspect_ratio:
[INFO] 	auto
[INFO] Environ GET_VARIABLE genesis_plus_gx_render:
[INFO] 	single field
[INFO] Environ GET_VARIABLE genesis_plus_gx_gun_cursor:
[INFO] 	disabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_invert_mouse:
[INFO] 	disabled
[INFO] Environ GET_VARIABLE genesis_plus_gx_overclock:
[INFO] 	100%
[INFO] Environ GET_VARIABLE genesis_plus_gx_no_sprite_limit:
[INFO] 	disabled
[libretro INFO] Game Genie ROM should be located at: /home/ben/.config/retroarch/system/ggenie.bin
[libretro INFO] Action Replay (Pro) ROM should be located at: /home/ben/.config/retroarch/system/areplay.bin
[libretro INFO] Sonic & Knuckles (2 MB) ROM should be located at: /home/ben/.config/retroarch/system/sk.bin
[libretro INFO] Sonic & Knuckles UPMEM (256 KB) ROM should be located at: /home/ben/.config/retroarch/system/sk2chip.bin
[libretro INFO] Mega Drive TMSS BOOTROM should be located at: /home/ben/.config/retroarch/system/bios_MD.bin
[libretro INFO] Game Gear TMSS BOOTROM should be located at: /home/ben/.config/retroarch/system/bios.gg
[libretro INFO] Master System (PAL) BOOTROM should be located at: /home/ben/.config/retroarch/system/bios_E.sms
[libretro INFO] Master System (NTSC-U) BOOTROM should be located at: /home/ben/.config/retroarch/system/bios_U.sms
[libretro INFO] Master System (NTSC-J) BOOTROM should be located at: /home/ben/.config/retroarch/system/bios_J.sms
[libretro INFO] Mega CD (PAL) BIOS should be located at: /home/ben/.config/retroarch/system/bios_CD_E.bin
[libretro INFO] Sega CD (NTSC-U) BIOS should be located at: /home/ben/.config/retroarch/system/bios_CD_U.bin
[libretro INFO] Mega CD (NTSC-J) BIOS should be located at: /home/ben/.config/retroarch/system/bios_CD_J.bin
[libretro INFO] Mega CD (PAL) BRAM is located at: /home/ben/.config/retroarch/savefile/scd_E.brm
[libretro INFO] Sega CD (NTSC-U) BRAM is located at: /home/ben/.config/retroarch/savefile/scd_U.brm
[libretro INFO] Mega CD (NTSC-J) BRAM is located at: /home/ben/.config/retroarch/savefile/scd_J.brm
[libretro INFO] Sega/Mega CD RAM CART is located at: /home/ben/.config/retroarch/savefile/cart.brm
[libretro INFO] INFORMATION - Loading 524288 bytes ...
Failed to open /home/ben/.config/retroarch/savefile/ESWAT - City Under Siege (USA, Europe).srm: No such file or directory
[INFO] Skipping SRAM load..
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 44142.73 Hz.
[INFO] [CHEEVOS]: system RAM: 0x7fd0ab83eb00 65536
[INFO] [CHEEVOS]: save RAM:   0x7fd0ab63eae0 65536
[INFO] [CHEEVOS]: video RAM:  (nil) 0
[INFO] [CHEEVOS]: RTC:        (nil) 0
[INFO] Found shader "/home/ben/.config/retroarch/shaders/retroarch.cgp"
[INFO] Found shader "/home/ben/.config/retroarch/shaders/retroarch.glslp"
[INFO] Found shader "/home/ben/.config/retroarch/shaders/sharp-bilinear-2x-prescale.glslp"
[INFO] Found shader "/home/ben/.config/retroarch/shaders/sharp-bilinear-scanlines.glslp"
[INFO] Found shader "/home/ben/.config/retroarch/shaders/sharp-bilinear-simple.glslp"
[INFO] [Video]: Video @ fullscreen
[INFO] [SDL2]: Available renderers (change with $SDL_RENDER_DRIVER):
[INFO] 	opengl
[INFO] 	opengles2
[INFO] 	software
[INFO] [SDL2]: Available displays:
[INFO] 	Display #0 mode: 1680x1050@60hz.
[INFO] [Font]: Using font rendering backend: bitmap.
[INFO] [X11]: Suspending screensaver (X11, xdg-screensaver).
[WARN] Could not suspend screen saver.
[INFO] [Video]: Graphics driver did not initialize an input driver. Attempting to pick a suitable driver.
[ERROR] [Video]: Cannot initialize input driver. Exiting ...
[ERROR] Fatal error received in: "video_driver_init_input()"
[ERROR] This core requires a content file.

This is pretty strange because Mame, which uses SDL2 too (ifaik), works well on this system.

I will try the flatpak asap.

1 Like

So i just installed Retroarch via Flatpak and using it with flatpak run org.libretro.RetroArch.

With a brand new configuration, i noticed the same issue regarding to blackscreen on quit. About SDL2, RA starts but is totally bugged, alterning non-sense draw with cumulated yellow text like on the screenshot bellow.

Ok, thanks for testing the flatpak. Since we know it’s the same behavior as your self-compiled version, you can just go back to it for further testing.

So, you say it doesn’t ever do it when it has to change the modeline?

That’s right. If i launch retroarch with video_refresh_rate at 50Hz for example, RA change the modeline (same resolution but 50Hz) then revert back correctly to 60Hz modeline on quit. No black screen. To be sure i tried something like 10 times.

What is pretty strange, when launch in 60Hz (the modeline of my desktop) it is like if RA, on quit, try to revert back the screen to the modeline it is already set. But it is just a feeling i don’t have anything to prove that.