WARNING: Please, read this note carefully before submitting a new issue:
It is important to realise that this is NOT A SUPPORT FORUM, this is for reproducible BUGS with raylib ONLY.
There are lots of generous and helpful people ready to help you out on raylib Discord forum or raylib reddit.
Remember that asking for support questions here actively takes developer time away from improving raylib.
Please, before submitting a new issue verify and check:
Issue description
I'm experiencing an issue with miniaudio and pipewire on Linux which is causing a "SIGFPE (Floating point exception)" when loading audio is present in the code. The code will build fine, however. When running it will SIGPFE. I first experienced it using other language binding, expecting something to be wrong with it, however an important note here, I previously used popOS which doesn't use pipewire, but EndeavourOS(Arch) uses pipewire. So I decided to give it a try with vanilla C raylib and still experienced the same issue, and I'm not the only person with that issue as there is yet one more user on Raylib discord who experiences the same problem.
Removing any instances of audio from the code fixes the issue, although I haven't thoroughly looked which one is the main culprit for SIGFPE, but I would assume it's InitAudio.
There are multiple closed issues on miniaudio page that report issues with PipeWire & SIGFPE error, please see here.
The issue overall makes Raylib unusable with audio under PipeWire.
Environment
Arch Linux - EndeavourOS
OpenGL 4.6
AMD RX5700XT
Issue Screenshot
N/A
Code Example
No reason to include my original code as it's of a binding, but it happens with the original C Raylib, used an example to test it:
#include "raylib.h"
int main(void)
{
// Initialization
//--------------------------------------------------------------------------------------
const int screenWidth = 800;
const int screenHeight = 450;
InitWindow(screenWidth, screenHeight, "raylib [audio] example - Multichannel sound playing");
InitAudioDevice(); // Initialize audio device
Sound fxWav = LoadSound("src/test.wav"); // Load WAV audio file
Sound fxOgg = LoadSound("src/test.ogg"); // Load OGG audio file
SetSoundVolume(fxWav, 0.2f);
SetTargetFPS(60); // Set our game to run at 60 frames-per-second
//--------------------------------------------------------------------------------------
// Main game loop
while (!WindowShouldClose()) // Detect window close button or ESC key
{
// Update
//----------------------------------------------------------------------------------
if (IsKeyPressed(KEY_ENTER)) PlaySoundMulti(fxWav); // Play a new wav sound instance
if (IsKeyPressed(KEY_SPACE)) PlaySoundMulti(fxOgg); // Play a new ogg sound instance
//----------------------------------------------------------------------------------
// Draw
//----------------------------------------------------------------------------------
BeginDrawing();
ClearBackground(RAYWHITE);
DrawText("MULTICHANNEL SOUND PLAYING", 20, 20, 20, GRAY);
DrawText("Press SPACE to play new ogg instance!", 200, 120, 20, LIGHTGRAY);
DrawText("Press ENTER to play new wav instance!", 200, 180, 20, LIGHTGRAY);
DrawText(TextFormat("CONCURRENT SOUNDS PLAYING: %02i", GetSoundsPlaying()), 220, 280, 20, RED);
EndDrawing();
//----------------------------------------------------------------------------------
}
// De-Initialization
//--------------------------------------------------------------------------------------
StopSoundMulti(); // We must stop the buffer pool before unloading
UnloadSound(fxWav); // Unload sound data
UnloadSound(fxOgg); // Unload sound data
CloseAudioDevice(); // Close audio device
CloseWindow(); // Close window and OpenGL context
//--------------------------------------------------------------------------------------
return 0;
}
WARNING: Please, read this note carefully before submitting a new issue:
It is important to realise that this is NOT A SUPPORT FORUM, this is for reproducible BUGS with raylib ONLY.
There are lots of generous and helpful people ready to help you out on raylib Discord forum or raylib reddit.
Remember that asking for support questions here actively takes developer time away from improving raylib.
Please, before submitting a new issue verify and check:
Issue description
I'm experiencing an issue with miniaudio and pipewire on Linux which is causing a "SIGFPE (Floating point exception)" when loading audio is present in the code. The code will build fine, however. When running it will SIGPFE. I first experienced it using other language binding, expecting something to be wrong with it, however an important note here, I previously used popOS which doesn't use pipewire, but EndeavourOS(Arch) uses pipewire. So I decided to give it a try with vanilla C raylib and still experienced the same issue, and I'm not the only person with that issue as there is yet one more user on Raylib discord who experiences the same problem.
Removing any instances of audio from the code fixes the issue, although I haven't thoroughly looked which one is the main culprit for SIGFPE, but I would assume it's InitAudio.
There are multiple closed issues on miniaudio page that report issues with PipeWire & SIGFPE error, please see here.
The issue overall makes Raylib unusable with audio under PipeWire.
Environment
Arch Linux - EndeavourOS
OpenGL 4.6
AMD RX5700XT
Issue Screenshot
N/A
Code Example
No reason to include my original code as it's of a binding, but it happens with the original C Raylib, used an example to test it: