RetroArch icon indicating copy to clipboard operation
RetroArch copied to clipboard

Retroarch immediately segfaults with no log within ubuntu 22.04 docker container

Open sawntoe opened this issue 1 year ago • 1 comments

Description

Retroarch immediately segfaults within an ubuntu 22.04 docker container.

strace

Dockerfile
FROM golang:1.18 AS builder
RUN apt-get update
WORKDIR /tmp/build
RUN git clone https://github.com/pgaskin/easy-novnc.git
WORKDIR /tmp/build/easy-novnc
RUN go build


FROM ubuntu:22.04 AS final
ARG PACKAGES=""
ARG VERSION="1.19.1"

ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get -y upgrade
RUN apt-get install -y \
    xorg \
    libx11-dev \
    tightvncserver \
    software-properties-common \
    pulseaudio \
    wget \
    dbus-x11
RUN apt-get install -y libxv1 libglu1-mesa libegl1-mesa x11-xkb-utils gstreamer1.0-plugins-good gstreamer1.0-pulseaudio gstreamer1.0-tools libglu1-mesa libgtk2.0-0 libncursesw5 libopenal1 libsdl-image1.2 libsdl-ttf2.0-0 libsdl1.2debian libsndfile1 
RUN wget -q -O- https://packagecloud.io/dcommander/virtualgl/gpgkey | \
  gpg --dearmor >/etc/apt/trusted.gpg.d/VirtualGL.gpg
RUN wget -O /etc/apt/sources.list.d/VirtualGL.list https://raw.githubusercontent.com/VirtualGL/repo/main/VirtualGL.list

RUN add-apt-repository -y ppa:libretro/stable
RUN apt-get update
RUN apt-get install -y \
    retroarch \
    virtualgl
   
RUN if ! [[-z "${PACKAGES}"]]; then apt-get install -y ${PACKAGES}; fi

COPY --chmod=0755 --from=builder /tmp/build/easy-novnc/easy-novnc /usr/bin

RUN useradd -m user

RUN mkdir /home/user/.vnc
RUN chown -R user /home/user/.vnc # /home/user/.config
RUN touch /home/user/.Xresources && echo "Xft.dpi: 96" > /home/user/.Xresources

COPY --chmod=0755 xstartup /home/user/.vnc
COPY --chmod=0755 start /usr/bin

ENV USER=user
ENV XDG_CONFIG_DIRS=/etc/xdg
ENV XDG_RUNTIME_DIR=/run/user/1000
ENV DISPLAY=:1

CMD ["/usr/bin/start"]

start:

#!/bin/bash

su user <<EOF
# touch ~/.vnc/passwd
# echo "${NOVNC_PASSWORD}" | vncpasswd -f > ~/.vnc/passwd
# chmod 600 ~/.vnc/passwd
vncserver :1 -geometry 1920x1080 -depth 24;
/usr/bin/retroarch &
easy-novnc -p 5901
EOF

Expected behavior

It should run as usual.

Actual behavior

Retroarch segfaults immediately with no log output.

Steps to reproduce the bug

  1. Build the docker image
  2. Run it

Version/Commit

You can find this information under Information/System Information

  • RetroArch: 1.19.1 1723119387

Environment information

  • OS: Arch Linux Kernel Version 6.10.2-arch1-1

sawntoe avatar Aug 08 '24 12:08 sawntoe

May you try to compile with debug using make DEBUG=1 and get some backtrace with gdb ?

Maybe you should rename the title issue to something RetroArch crashes using VirtualGL and VNC ?

Thank you.

gouchi avatar Aug 13 '24 14:08 gouchi