libretro / libretro/RetroArch

[Feature Request] Retroarch on Ubuntu Touch?

Open
#13,087 5 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

distro: ubuntu touch feature request prs welcome
Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

Description

Ubuntu Touch is a mobile version of the Ubuntu operating system for mobile devices. Currently, the only way to successfully run retroarch in ubuntu touch is by using their libertine container but while it can start it's not usable on touch devices as it doesn't correctly detects touches.

Installing it in Ubuntu Touch without libertine is also doable but It doesn't work with Lomiri (unity8).

Is there a Ubuntu Touch version planned for the future? I've also found an attempt of compiling it for Ubuntu Touch here.

Ubports app development/packaging documentation
.

Thanks.

Expected behavior

Nothing. The game is not usable on the OS.

Actual behavior
[INFO] RetroArch 1.9.2 (Git bc23d070de)
[INFO] === Build =======================================
[INFO] Capabilities:  ASIMD
[INFO] Built: May  2 2021
[INFO] Version: 1.9.2
[INFO] Git: bc23d070de
[INFO] =================================================
[INFO] [Input]: Found input driver: "sdl2".
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Video @ fullscreen
[ERROR] [Wayland]: Failed to create compositor.
[INFO] [DRM]: Found 2 connectors.
[INFO] [DRM]: Connector 0 connected: yes
[INFO] [DRM]: Connector 0 has 1 modes.
[INFO] [DRM]: Connector 0 assigned to monitor index: #1.
[INFO] [DRM]: Connector 1 connected: yes
[INFO] [DRM]: Connector 1 has 29 modes.
[INFO] [DRM]: Connector 1 assigned to monitor index: #2.
[INFO] [DRM]: Mode 0: (1080x2400x60x164823) 1080 x 2400, 59.999870 Hz
gbm: failed to open any driver (search paths /usr/lib/aarch64-linux-gnu/dri:${ORIGIN}/dri:/usr/lib/dri)
gbm: Last dlopen error: /usr/lib/dri/msm_drm_dri.so: cannot open shared object file: No such file or directory
failed to load driver: msm_drm
[INFO] [GL]: Found GL context: kms
[INFO] [GL]: Detecting screen resolution 1080x2400.
[INFO] [EGL] Falling back to eglGetDisplay
[INFO] [EGL]: EGL version: 1.5
[ERROR] [EGL]: No EGL config found which satifies requirements.
[ERROR] [EGL]: #0x3005, EGL_BAD_CONFIG
[ERROR] [Video]: Cannot open video driver ... Exiting ...
[ERROR] Fatal error received in: "init_video()"
[INFO] [Core]: Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[INFO] [Core]: Unloading core..
[INFO] [Core]: Unloading core symbols..
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.

This is sdl2 which looks like it tries to connect to Lomiri but fails:

[INFO] RetroArch 1.9.2 (Git bc23d070de)
[INFO] === Build =======================================
[INFO] Capabilities:  ASIMD
[INFO] Built: May  2 2021
[INFO] Version: 1.9.2
[INFO] Git: bc23d070de
[INFO] =================================================
[INFO] [Input]: Found input driver: "sdl2".
[INFO] [Environ]: SET_PIXEL_FORMAT: RGB565.
[INFO] Version of libretro API: 1
[INFO] Compiled against API: 1
[INFO] [Audio]: Set audio input rate to: 48000.00 Hz.
[INFO] [Video]: Video @ fullscreen
[2021-10-08 14:02:52.342134] < - ERROR - > MirConnectionAPI: Caught exception at client library boundary (in mir_connection_release): /build/mir-1.8.1ubports1+0~20210811120104.39~1.gbp2c4340/src/client/rpc/stream_socket_transport.cpp(168): Throw in function virtual void mir::client::rpc::StreamSocketTransport::send_message(const std::vector<unsigned char>&, const std::vector<mir::Fd>&)
Dynamic exception type: boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<mir::socket_disconnected_error> >
std::exception::what: Failed to send message to server: Broken pipe
32, "Broken pipe"
[ERROR] [Video]: Cannot open video driver ... Exiting ...
[ERROR] Fatal error received in: "init_video()"
[INFO] [Core]: Content ran for a total of: 00 hours, 00 minutes, 00 seconds.
[INFO] [Core]: Unloading core..
[INFO] [Core]: Unloading core symbols..
[INFO] [Video]: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.

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 reviewing the SDL2 input path and the Wayland, DRM, and EGL video initialization reported in the logs, then compare them with the RetroArchTouch attempt and Ubuntu Touch app-packaging documentation. Done would mean a Ubuntu Touch build that launches under Lomiri, accepts touch input, and can render games without the reported video-driver failures.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, linux, ubuntu
Domain
mobile-dev, operating-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.