libretro / libretro/RetroArch

[Linux x86-64] gpSP core fails to load - can't be launched because the executable stack flag is set on Linux with SELinux security policies

Open
#17,825 15 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

Is there an existing issue for this?
  • This is a bug in RetroArch frontend
  • I have searched the existing issues
Description

When opening the gpSP core, the core fails to load and the -v log shows the following error:

gpsp_libretro.so: cannot enable executable stack as shared object requires: Invalid argument

This happens in version ab3b175848 in EndeavourOS and b2ceb50 in Ubuntu. The earlier Flatpak version 864ad02177 from Jan 10 2025 loads the core correctly. The current nightly build of gpSP is the same across all 3 systems and appears to be a problem with Retroarch itself.

Expected behavior

The gpSP core should load and play GBA games normally

Steps to reproduce the bug

Start the latest version of Retroarch with the -v switch
install the gpSP core
Attempt to start the gpSP core either through starting a GBA game or the Load Core menu (doesn't matter which)
The core will fail to load and place the above error message in the log

Version/Commit

1.20.0 ab3b175848

Bisect Results

864ad02177

Present in the nightly version

I don't know

Platform & operating system

Linux x86-64

Affected Cores

gpSP 1.0.0-b0d5d27

Environment information

Installed via Pacman/AUR (Endeavour) and APT (Ubuntu)

Relevant log output
[retroplex@RetroPlex ~]$ retroarch -v
[INFO] [Config]: Looking for config in: "/home/retroplex/.config/retroarch/retroarch.cfg".
[INFO] RetroArch 1.20.0 (Git ab3b175848)
[INFO] === Build =======================================
[INFO] CPU Model Name: AMD Ryzen 5 PRO 3400G with Radeon Vega Graphics
[INFO] Capabilities: MMX MMXEXT SSE SSE2 SSE3 SSSE3 SSE4 SSE42 AES AVX AVX2 
[INFO] Version: 1.20.0
[INFO] Git: ab3b175848
[INFO] Built: Apr 21 2025
[INFO] =================================================
[INFO] [Input]: Found input driver: "x".
[INFO] Cannot resolve save file path.
[INFO] Cannot resolve save state file path.
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] [Core]: Version of libretro API: 1, Compiled against API: 1
[INFO] [Core]: Geometry: 320x240, Aspect: 1.333, FPS: 60.00, Sample rate: 48000.00 Hz.
[INFO] [Video]: Set video size to: fullscreen.
[INFO] [Video]: Starting threaded video driver..
[INFO] [Wayland]: Registered interface wl_compositor at version 6
[INFO] [Wayland]: Registered interface zxdg_decoration_manager_v1 at version 1
[INFO] [Wayland]: Registered interface wp_viewporter at version 1
[INFO] [Wayland]: Registered interface wp_fractional_scale_manager_v1 at version 1
[INFO] [Wayland]: Registered interface wl_shm at version 1
[INFO] [Wayland]: Registered interface wl_seat at version 9
[INFO] [Wayland]: Registered interface zwp_pointer_constraints_v1 at version 1
[INFO] [Wayland]: Registered interface zwp_relative_pointer_manager_v1 at version 1
[INFO] [Wayland]: Registered interface wl_data_device_manager at version 3
[INFO] [Wayland]: Registered interface wp_cursor_shape_manager_v1 at version 1
[INFO] [Wayland]: Registered interface zwp_idle_inhibit_manager_v1 at version 1
[INFO] [Wayland]: Registered interface wp_content_type_manager_v1 at version 1
[INFO] [Wayland]: Registered interface xdg_wm_base at version 6
[INFO] [Wayland]: Registered interface wl_output at version 4
[INFO] [Wayland]: Compositor doesn't support the wp_single_pixel_buffer_manager_v1 protocol!
[INFO] [Vulkan]: Vulkan dynamic library loaded.
[INFO] [Vulkan]: Found vulkan context: "vk_wayland".
[INFO] [Vulkan]: Detecting screen resolution: 1920x1080.
[INFO] [Vulkan]: Found GPU at index 0: "AMD Radeon Vega 11 Graphics (RADV RAVEN)".
[INFO] [Vulkan]: Using GPU index 0.
[INFO] [Vulkan]: Using semaphores for WSI acquire.
[INFO] [Vulkan]: Using GPU: "AMD Radeon Vega 11 Graphics (RADV RAVEN)".
[INFO] [Vulkan]: Queue family 0 supports 1 sub-queues.
[INFO] [Vulkan]: Got 3 swapchain images.
[INFO] [Wayland] Failed to specify monitor for fullscreen, letting compositor decide
[INFO] [Vulkan]: Using resolution 1920x1080.
[INFO] [Vulkan]: Using RGB565 format.
[INFO] [Vulkan]: Loading stock shader.
[INFO] [udev]: Pad #0 (/dev/input/event15) supports force feedback.
[INFO] [udev]: Pad #0 (/dev/input/event15) supports 16 force feedback effects.
[INFO] [Autoconf]: Xbox 360 Controller configured in port 1.
[INFO] [Joypad]: Found joypad driver: "udev".
[INFO] [Video]: Found display server: "null".
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [PulseAudio]: Requested 24576 bytes buffer, got 18432.
[INFO] [Audio]: Started synchronous audio driver.
[INFO] [ALSA] Using ALSA version 1.2.14
[INFO] [Microphone]: Initialized microphone driver.
[INFO] [Display]: Found display driver: "vulkan".
[INFO] [Playlist]: Loading history file: "/home/retroplex/.config/retroarch/content_history.lpl".
[INFO] [Playlist]: Loading history file: "/home/retroplex/.config/retroarch/content_music_history.lpl".
[INFO] [Playlist]: Loading history file: "/home/retroplex/.config/retroarch/content_video_history.lpl".
[INFO] [Playlist]: Loading history file: "/home/retroplex/.config/retroarch/content_image_history.lpl".
[INFO] [Playlist]: Loading favorites file: "/home/retroplex/.config/retroarch/content_favorites.lpl".
[ERROR] Failed to open libretro core: "/home/retroplex/.config/retroarch/cores/gpsp_libretro.so"
[ERROR] Error(s): /home/retroplex/.config/retroarch/cores/gpsp_libretro.so: cannot enable executable stack as shared object requires: Invalid argument
[INFO] [Config]: Saved new config to "/home/retroplex/.config/retroarch/retroarch.cfg".
[INFO] [Core]: Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[INFO] [Core]: Unloading core..
[INFO] [Core]: Unloading core symbols..
[INFO] Threaded video stats: Frames pushed: 3649, Frames dropped: 0.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the failure on Linux x86-64 with RetroArch's -v switch, installing the gpSP core and attempting to launch a GBA game or the core from Load Core. Trace the core-loading path from the gpsp_libretro.so error about the executable stack and compare the bisected commit with the earlier working version. Done means gpSP loads and GBA games start under the reported Linux security policies.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, linux
Domain
operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.