ahoischen / 3ds-dev-docker

A docker image for 3ds development and testing
GNU General Public License v3.0
4 stars 0 forks source link

Citra is broken by external package #20

Closed ahoischen closed 7 years ago

ahoischen commented 7 years ago

Citra fails to start with a ROM. Output:

[   0.000000] Config <Warning> citra/config.cpp:LoadINI:28: Failed to load /home/user/.config/citra-emu/sdl2-config.ini. Creating file from defaults...
[   0.000407] Common.Filesystem <Debug> common/file_util.cpp:IsDirectory:121: stat failed on /home/user/.config/: 
[   0.000712] Common.Filesystem <Debug> common/file_util.cpp:IsDirectory:121: stat failed on /home/user/.config/citra-emu/: 
[   0.001398] Config <Info> citra/config.cpp:LoadINI:38: Successfully loaded /home/user/.config/citra-emu/sdl2-config.ini
[   0.007344] Audio <Error> audio_core/sink_details.cpp:GetSinkDetails:32: AudioCore::SelectSink given invalid sink_id 
ALSA lib confmisc.c:767:(parse_card) cannot find card '0'
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_card_driver returned error: No such file or directory
ALSA lib confmisc.c:392:(snd_func_concat) error evaluating strings
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1246:(snd_func_refer) error evaluating name
ALSA lib conf.c:4528:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5007:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2495:(snd_pcm_open_noupdate) Unknown PCM default
[   0.082023] Audio.Sink <Critical> audio_core/sdl2_sink.cpp:SDL2Sink:62: SDL_OpenAudioDevice failed with code 0 for device ""
libudev: udev_has_devtmpfs: name_to_handle_at on /dev: Operation not permitted
[   0.182963] Frontend <Critical> citra/emu_window/emu_window_sdl2.cpp:EmuWindow_SDL2:98: Failed to create SDL2 GL context! Exiting...

This issue is related to an external package changing. The public v1.0.0 is not affected, but will produce this error when rebuilt. Only the last line of the logs is different from a successful start.

Ideas: One of the SDL2 packages changed or an OpenGL driver or maybe it's the display server?

ahoischen commented 7 years ago

Since the issue is display related it can only be caused by one of the following packages or their dependencies.

The installed versions in the working image are as follows:

libgl1-mesa-dri:
  Installed: 10.3.2-1+deb8u1
--
menu:
  Installed: 2.1.47
--
net-tools:
  Installed: 1.60-26+b1
--
openbox:
  Installed: 3.5.2-8+deb8u1
--
sudo:
  Installed: 1.8.10p3-1+deb8u3
--
supervisor:
  Installed: 3.0r1-1
--
tint2:
  Installed: 0.11+svn20121014-3
--
x11-xserver-utils:
  Installed: 7.7+3+b1
--
x11vnc:
  Installed: 0.9.13-1.2+b2
--
xinit:
  Installed: 1.3.4-1
--
xserver-xorg-input-void:
  Installed: 1:1.4.0-1+b4
--
xserver-xorg-video-dummy:
  Installed: 1:0.3.7-1+b3
--
libsdl2-2.0-0:
  Installed: 2.0.2+dfsg1-6

The fix could be to either fix their versions or update the config files (maybe).

ahoischen commented 7 years ago

I was able to build a working image by fixing all mentioned versions. This isn't a permanent solution, however, since it depends on outdated versions being kept available. The next step is to narrow down which package is causing problems and then (hopefully) to find a fix.

ahoischen commented 7 years ago

The issue seems to be with newstable's libsdl2-2.0-0. I think just fixing the version is fine since it's available on oldstable.