[Feature Request] Retroarch on Ubuntu Touch?
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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