From 7d55214e4e587ae3473d503038bb69abf6c22f4b Mon Sep 17 00:00:00 2001 From: lisyarus Date: Sun, 2 Oct 2022 23:07:10 +0300 Subject: [PATCH] Fix sound on linux --- package/linux/Dockerfile | 3 +- package/linux/sdl2/options | 194 ++++++++++++++++++++----------------- 2 files changed, 105 insertions(+), 92 deletions(-) diff --git a/package/linux/Dockerfile b/package/linux/Dockerfile index dd882acd..25173014 100644 --- a/package/linux/Dockerfile +++ b/package/linux/Dockerfile @@ -7,7 +7,8 @@ RUN apt-get install -y \ build-essential chrpath cmake git \ file wget zip \ libpng-dev libxext-dev libgl-dev libboost-all-dev libmpg123-dev \ - libxi-dev libxrender-dev + libxi-dev libxrender-dev \ + libasound2-dev libpulse-dev # Set user RUN useradd -u 1000 -U -d /home -M worker diff --git a/package/linux/sdl2/options b/package/linux/sdl2/options index 58f17096..1b1b04ae 100644 --- a/package/linux/sdl2/options +++ b/package/linux/sdl2/options @@ -1,97 +1,109 @@ Enabled: - --enable-libc Use the system C library [[default=yes]] - --enable-gcc-atomics Use gcc builtin atomics [[default=yes]] - --enable-atomic Enable the atomic operations subsystem [[default=yes]] - --enable-audio Enable the audio subsystem [[default=yes]] - --enable-video Enable the video subsystem [[default=yes]] - --enable-events Enable the events subsystem [[default=yes]] - --enable-loadso Enable the shared object loading subsystem [[default=yes]] - --enable-cpuinfo Enable the cpuinfo subsystem [[default=yes]] - --enable-assembly Enable assembly routines [[default=yes]] - --enable-alsa support the ALSA audio API [[default=yes]] - --enable-alsa-shared dynamically load ALSA audio support [[default=yes]] - --enable-jack use JACK audio [[default=yes]] - --enable-jack-shared dynamically load JACK audio support [[default=yes]] - --enable-esd support the Enlightened Sound Daemon [[default=yes]] - --enable-esd-shared dynamically load ESD audio support [[default=yes]] - --enable-pulseaudio use PulseAudio [[default=yes]] - --enable-pulseaudio-shared dynamically load PulseAudio support [[default=yes]] - --enable-arts support the Analog Real Time Synthesizer [[default=yes]] - --enable-arts-shared dynamically load aRts audio support [[default=yes]] - --enable-nas support the NAS audio API [[default=yes]] - --enable-nas-shared dynamically load NAS audio support [[default=yes]] - --enable-sndio support the sndio audio API [[default=yes]] - --enable-sndio-shared dynamically load sndio audio support [[default=yes]] - --enable-fusionsound use FusionSound audio driver [[default=no]] - --enable-fusionsound-shared dynamically load fusionsound audio support [[default=yes]] - --enable-diskaudio support the disk writer audio driver [[default=yes]] - --enable-dummyaudio support the dummy audio driver [[default=yes]] - --enable-libsamplerate use libsamplerate for audio rate conversion [[default=yes]] - --enable-libsamplerate-shared dynamically load libsamplerate [[default=yes]] - --enable-video-wayland use Wayland video driver [[default=yes]] - --enable-wayland-shared dynamically load Wayland support [[default=maybe]] - --enable-video-x11 use X11 video driver [[default=yes]] - --enable-x11-shared dynamically load X11 support [[default=maybe]] - --enable-video-x11-xcursor enable X11 Xcursor support [[default=yes]] - --enable-video-x11-xdbe enable X11 Xdbe support [[default=yes]] - --enable-video-x11-xinerama enable X11 Xinerama support [[default=yes]] - --enable-video-x11-xinput enable X11 XInput extension for manymouse, tablets, etc [[default=yes]] - --enable-video-x11-xrandr enable X11 Xrandr extension for fullscreen [[default=yes]] - --enable-video-x11-scrnsaver enable X11 screensaver extension [[default=yes]] - --enable-video-x11-xshape enable X11 XShape support [[default=yes]] - --enable-video-x11-vm use X11 VM extension for fullscreen [[default=yes]] - --enable-video-directfb use DirectFB video driver [[default=no]] - --enable-directfb-shared dynamically load directfb support [[default=yes]] - --enable-video-kmsdrm use KMSDRM video driver [[default=no]] - --enable-kmsdrm-shared dynamically load kmsdrm support [[default=yes]] - --enable-video-dummy use dummy video driver [[default=yes]] - --enable-video-opengl include OpenGL support [[default=yes]] - --enable-video-opengles include OpenGL ES support [[default=yes]] - --enable-video-opengles1 include OpenGL ES 1.1 support [[default=yes]] - --enable-video-opengles2 include OpenGL ES 2.0 support [[default=yes]] - --enable-video-vulkan include Vulkan support [[default=yes]] - --enable-libudev enable libudev support [[default=yes]] - --enable-dbus enable D-Bus support [[default=yes]] - --enable-ime enable IME support [[default=yes]] - --enable-ibus enable IBus support [[default=yes]] - --enable-fcitx enable fcitx support [[default=yes]] - --enable-pthreads use POSIX threads for multi-threading [[default=yes]] - --enable-pthread-sem use pthread semaphores [[default=yes]] - --enable-clock_gettime use clock_gettime() instead of gettimeofday() on UNIX [[default=yes]] - --enable-rpath use an rpath when linking SDL [[default=yes]] + --enable-haptic Enable the haptic (force feedback) subsystem [default=yes] + --enable-joystick Enable the joystick subsystem [default=yes] + --enable-render Enable the render subsystem [default=yes] + --enable-hidapi Enable the HIDAPI subsystem [default=yes] + --enable-sensor Enable the sensor subsystem [default=yes] + --enable-power Enable the power subsystem [default=yes] + --enable-cpuinfo Enable the cpuinfo subsystem [default=yes] + --enable-assembly Enable assembly routines [default=yes] + + --enable-atomic Enable the atomic operations subsystem [default=yes] + --enable-audio Enable the audio subsystem [default=yes] + --enable-video Enable the video subsystem [default=yes] + --enable-events Enable the events subsystem [default=yes] + --enable-filesystem Enable the filesystem subsystem [default=yes] + --enable-threads Enable the threading subsystem [default=yes] + --enable-timers Enable the timer subsystem [default=yes] + --enable-file Enable the file subsystem [default=yes] + --enable-misc Enable the misc subsystem [default=yes] + --enable-locale Enable the locale subsystem [default=yes] + --enable-loadso Enable the shared object loading subsystem [default=yes] + --enable-oss support the OSS audio API [default=maybe] + --enable-alsa support the ALSA audio API [default=yes] + --enable-alsa-shared dynamically load ALSA audio support [default=yes] + --enable-jack use JACK audio [default=yes] + --enable-jack-shared dynamically load JACK audio support [default=yes] + --enable-esd support the Enlightened Sound Daemon [default=yes] + --enable-esd-shared dynamically load ESD audio support [default=yes] + --enable-pipewire use Pipewire audio [default=yes] + --enable-pipewire-shared dynamically load Pipewire support [default=yes] + --enable-pulseaudio use PulseAudio [default=yes] + --enable-pulseaudio-shared dynamically load PulseAudio support [default=yes] + --enable-arts support the Analog Real Time Synthesizer [default=yes] + --enable-arts-shared dynamically load aRts audio support [default=yes] + --enable-nas support the NAS audio API [default=yes] + --enable-nas-shared dynamically load NAS audio support [default=yes] + --enable-sndio support the sndio audio API [default=yes] + --enable-sndio-shared dynamically load sndio audio support [default=yes] + --enable-fusionsound use FusionSound audio driver [default=no] + --enable-fusionsound-shared dynamically load fusionsound audio support [default=yes] + --enable-diskaudio support the disk writer audio driver [default=yes] + --enable-dummyaudio support the dummy audio driver [default=yes] + --enable-libsamplerate use libsamplerate for audio rate conversion [default=yes] + --enable-libsamplerate-shared dynamically load libsamplerate [default=yes] + --enable-video-wayland use Wayland video driver [default=yes] + --enable-video-wayland-qt-touch QtWayland server support for Wayland video driver [default=yes] + --enable-wayland-shared dynamically load Wayland support [default=maybe] + --enable-libdecor use libdecor for Wayland client-side decorations [default=yes] + --enable-libdecor-shared dynamically load libdecor [default=yes] + --enable-video-rpi use Raspberry Pi 2/3 video driver [default=yes] + --enable-video-x11 use X11 video driver [default=yes] + --enable-x11-shared dynamically load X11 support [default=maybe] + --enable-video-x11-xcursor enable X11 Xcursor support [default=yes] + --enable-video-x11-xdbe enable X11 Xdbe support [default=yes] + --enable-video-x11-xinerama enable X11 Xinerama support [default=yes] + --enable-video-x11-xinput enable X11 XInput extension for manymouse, tablets, etc [default=yes] + --enable-video-x11-xfixes enable X11 Xfixes support [default=yes] + --enable-video-x11-xrandr enable X11 Xrandr extension for fullscreen [default=yes] + --enable-video-x11-scrnsaver enable X11 screensaver extension [default=yes] + --enable-video-x11-xshape enable X11 XShape support [default=yes] + --enable-video-x11-vm use X11 VM extension for fullscreen [default=yes] + --enable-video-vivante use Vivante EGL video driver [default=yes] + --enable-video-cocoa use Cocoa video driver [default=yes] + --enable-video-directfb use DirectFB video driver [default=no] + --enable-directfb-shared dynamically load directfb support [default=yes] + --enable-video-kmsdrm use KMSDRM video driver [default=yes] + --enable-kmsdrm-shared dynamically load kmsdrm support [default=yes] + --enable-video-dummy use dummy video driver [default=yes] + --enable-video-offscreen use offscreen video driver [default=no] + --enable-video-opengl include OpenGL support [default=yes] + --enable-video-opengles include OpenGL ES support [default=yes] + --enable-video-opengles1 include OpenGL ES 1.1 support [default=yes] + --enable-video-opengles2 include OpenGL ES 2.0 support [default=yes] + --enable-video-vulkan include Vulkan support [default=yes] + --enable-libudev enable libudev support [default=yes] + --enable-dbus enable D-Bus support [default=yes] + --enable-ime enable IME support [default=yes] + --enable-ibus enable IBus support [default=yes] + --enable-fcitx enable fcitx support [default=yes] + --enable-pthreads use POSIX threads for multi-threading [default=maybe] + --enable-pthread-sem use pthread semaphores [default=maybe] + --enable-clock_gettime use clock_gettime() instead of gettimeofday() on UNIX [default=yes] + --enable-rpath use an rpath when linking SDL [default=yes] --enable-sdl2-config Install sdl2-config [default=yes] - --enable-threads Enable the threading subsystem [[default=yes]] Disabled: - --disable-render Enable the render subsystem [[default=yes]] - --disable-joystick Enable the joystick subsystem [[default=yes]] - --disable-haptic Enable the haptic (force feedback) subsystem [[default=yes]] - --disable-sensor Enable the sensor subsystem [[default=yes]] - --disable-power Enable the power subsystem [[default=yes]] - --disable-filesystem Enable the filesystem subsystem [[default=yes]] - --disable-timers Enable the timer subsystem [[default=yes]] - --disable-file Enable the file subsystem [[default=yes]] - --disable-ssemath Allow GCC to use SSE floating point math [[default=maybe]] - --disable-mmx use MMX assembly routines [[default=yes]] - --disable-3dnow use 3DNow! assembly routines [[default=yes]] - --disable-sse use SSE assembly routines [[default=yes]] - --disable-sse2 use SSE2 assembly routines [[default=maybe]] - --disable-sse3 use SSE3 assembly routines [[default=maybe]] - --disable-altivec use Altivec assembly routines [[default=yes]] + --disable-ssemath Allow GCC to use SSE floating point math [default=maybe] + --disable-mmx use MMX assembly routines [default=yes] + --disable-3dnow use 3DNow! assembly routines [default=yes] + --disable-sse use SSE assembly routines [default=yes] + --disable-sse2 use SSE2 assembly routines [default=maybe] + --disable-sse3 use SSE3 assembly routines [default=maybe] + --disable-altivec use Altivec assembly routines [default=yes] --disable-alsatest Do not try to compile and run a test Alsa program - --disable-oss support the OSS audio API [[default=maybe]] --disable-esdtest Do not try to compile and run a test ESD program - --disable-arm-simd use SIMD assembly blitters on ARM [[default=yes]] - --disable-arm-neon use NEON assembly blitters on ARM [[default=no]] - --disable-video-wayland-qt-touch QtWayland server support for Wayland video driver [[default=yes]] - --disable-video-rpi use Raspberry Pi video driver [[default=yes]] - --disable-video-vivante use Vivante EGL video driver [[default=yes]] - --disable-video-cocoa use Cocoa video driver [[default=yes]] - --disable-video-metal include Metal support [[default=yes]] - --disable-render-metal enable the Metal render driver [[default=yes]] - --disable-directx use DirectX for Windows audio/video [[default=yes]] - --disable-wasapi use the Windows WASAPI audio driver [[default=yes]] - --disable-hidapi use HIDAPI for low level joystick drivers [[default=no]] - --disable-backgrounding-signal number to use for magic backgrounding signal or 'no' [[default=no]] - --disable-foregrounding-signal number to use for magic foregrounding signal or 'no' [[default=no]] - --disable-render-d3d enable the Direct3D render driver [[default=yes]] + --disable-arm-simd use SIMD assembly blitters on ARM [default=no] + --disable-arm-neon use NEON assembly blitters on ARM [default=no] + --disable-video-metal include Metal support [default=yes] + --disable-render-metal enable the Metal render driver [default=yes] + --disable-joystick-mfi include macOS MFI joystick support [default=yes] + --disable-directx use DirectX for Windows audio/video [default=yes] + --disable-xinput use Xinput for Windows [default=yes] + --disable-wasapi use the Windows WASAPI audio driver [default=yes] + --disable-hidapi-joystick use HIDAPI for low level joystick drivers [default=yes] + --disable-hidapi-libusb use libusb for low level joystick drivers [default=maybe] + --disable-joystick-virtual enable virtual joystick APIs [default=yes] + --disable-render-d3d enable the Direct3D render driver [default=yes] + +