Page 1 of 2

RetroArch 1.1

Posted: 03 May 2015, 12:36
by cttan
In response to http://forum.porteus.org/viewtopic.php?f=74&t=3079, I have made a module for RetroArch using scripts from:-
https://github.com/duganchen/slackware-libretro

Main application. I have compiled without enabling libusb support:-
https://copy.com/A7de7ThNhZgRu4gm

libretro cores and components:-
https://copy.com/UzfqKqPPWV8eISmh

Dependencies:-
NVidia CG Toolkit [https://copy.com/gBR7fGJ1osl9WcIq]
OpenAL
ffmpeg
... maybe more

I'm getting error when compiling RetroArch with libusb support.
Same error as reported here https://github.com/libretro/RetroArch/issues/1602

Code: Select all

~/slackware-libretro-master# ./libretro-RetroArch.sh
Cloning into 'RetroArch'...
remote: Counting objects: 122654, done.
remote: Compressing objects: 100% (82/82), done.
remote: Total 122654 (delta 38), reused 0 (delta 0), pack-reused 122572
Receiving objects: 100% (122654/122654), 71.65 MiB | 673.00 KiB/s, done.
Resolving deltas: 100% (88942/88942), done.
Checking connectivity... done
Checking operating system ... Linux 
Checking for suitable working C compiler ... /usr/bin/gcc
Checking for suitable working C++ compiler ... /usr/bin/g++
Checking for pkg-config ... /usr/bin/pkg-config
Checking for availability of switch -std=gnu99 in /usr/bin/gcc ... yes
Checking for availability of switch -Wno-unused-result in /usr/bin/gcc ... yes
Checking for availability of switch -Wno-unused-variable in /usr/bin/gcc ... yes
Checking function bcm_host_init in -lbcm_host ... no
Checking presence of package egl ... 10.3.3
Checking function pthread_create in -lpthread ... yes
Checking function dlopen in -ldl ... yes
Checking function socket in -lc ... yes
Checking function getaddrinfo in -lc ... yes
Checking function fcntl in -lc ... yes
Checking function getopt_long in -lc ... yes
Checking presence of package alsa ... 1.0.28
Checking presence of header file sys/soundcard.h ... yes
Checking presence of header file soundcard.h ... no
Checking existence of -lossaudio ... no
Checking function alcOpenDevice in -lopenal ... yes
Checking presence of package rsound >= 1.1 ... no
Checking presence of package libroar ... no
Checking presence of package jack >= 0.120.1 ... no
Checking presence of package libpulse ... no
Checking presence of package sdl >= 1.2.10 ... 1.2.15
Checking presence of package sdl2 >= 2.0.0 ... no
Checking presence of package libusb-1.0 ... 1.0.9
Checking function cgCreateContext in -lCg ... yes
Checking presence of package zlib ... 1.2.8
Checking presence of package libavcodec >= 54 ... 55.39.101
Checking presence of package libavformat >= 54 ... 55.19.104
Checking presence of package libavutil >= 51 ... 52.48.101
Checking presence of package libswscale >= 2.1 ... 2.5.101
Checking presence of header file libavutil/channel_layout.h ... yes
Checking function dlopen in -ldl ... yes
Checking presence of package gbm >= 9.0 ... no
Checking presence of package libdrm ... 2.4.58
Checking presence of package libxml-2.0 ... 2.9.1
Checking presence of package vg ... no
Checking existence of -lOpenVG ... no
Checking presence of package libv4l2 ... 0.9.5
Checking function glFramebufferTexture2D in -lGL ... yes
Checking presence of package freetype2 ... 16.2.10
Checking presence of package x11 ... 1.6.2
Checking presence of package wayland-egl ... no
Checking presence of package xkbcommon >= 0.3.2 ... no
Checking presence of package xext ... 1.3.2
Checking presence of package xxf86vm ... 1.1.3
Checking presence of package xinerama ... 1.1.3
Checking presence of package xv ... 1.0.10
Checking presence of package libudev ... 182
Checking presence of header file linux/parport.h ... yes
Checking presence of header file linux/ppdev.h ... yes
Checking function strlcpy in -lc ... no
Checking function strcasestr in -lc ... yes
Checking function mmap in -lc ... yes
Checking presence of package python3 ... no
Creating make config: config.mk
Creating config header: config.h
CC input/drivers/linuxraw_input.c
CC input/drivers_joypad/linuxraw_joypad.c
CC frontend/drivers/platform_linux.c
CC git_version.c
CC frontend/frontend.c
CC frontend/frontend_driver.c
CC frontend/drivers/platform_null.c
CC ui/ui_companion_driver.c
CC ui/drivers/ui_null.c
CC libretro_version_1.c
CC retroarch.c
CC command_event.c
CC runloop.c
CC runloop_data.c
CC content.c
CC libretro-common/file/file_list.c
CC libretro-common/file/dir_list.c
CC libretro-common/string/string_list.c
CC libretro-common/string/stdstring.c
CC file_ops.c
CC libretro-common/file//nbio/nbio_stdio.c
CC libretro-common/file/file_path.c
CC file_path_special.c
CC hash.c
CC audio/audio_driver.c
CC audio/audio_monitor.c
CC input/input_driver.c
CC input/input_hid_driver.c
CC gfx/video_driver.c
CC gfx/video_monitor.c
CC gfx/video_pixel_converter.c
CC gfx/video_viewport.c
CC camera/camera_driver.c
CC menu/menu_driver.c
CC location/location_driver.c
CC driver.c
CC configuration.c
CC settings_list.c
CC settings.c
CC dylib.c
CC dynamic.c
CC dynamic_dummy.c
CC libretro-common/queues/message_queue.c
CC rewind.c
CC gfx/drivers_font_renderer/bitmapfont.c
CC input/input_autodetect.c
CC input/input_joypad_driver.c
CC input/input_joypad.c
CC input/input_common.c
CC input/input_keymaps.c
CC input/input_remapping.c
CC input/input_sensor.c
CC input/keyboard_line.c
CC input/input_overlay.c
CC patch.c
CC libretro-common/queues/fifo_buffer.c
CC core_options.c
CC libretro-common/compat/compat.c
CC libretro-common/compat/compat_fnmatch.c
CC cheats.c
CC core_info.c
CC libretro-common/file/config_file.c
CC libretro-common/file/config_file_userdata.c
CC screenshot.c
CC libretro-common/gfx/scaler/scaler.c
CC gfx/drivers_shader/shader_null.c
CC gfx/video_shader_driver.c
CC gfx/video_shader_parse.c
CC libretro-common/gfx/scaler/pixconv.c
CC libretro-common/gfx/scaler/scaler_int.c
CC libretro-common/gfx/scaler/scaler_filter.c
CC gfx/font_driver.c
CC gfx/font_renderer_driver.c
CC gfx/video_filter.c
CC audio/audio_resampler_driver.c
CC audio/audio_dsp_filter.c
CC audio/drivers_resampler/sinc.c
CC audio/drivers_resampler/nearest.c
CC audio/drivers_resampler/cc_resampler.c
CC location/drivers/nulllocation.c
CC camera/drivers/nullcamera.c
CC gfx/drivers/nullgfx.c
CC audio/drivers/nullaudio.c
CC input/drivers/nullinput.c
CC input/drivers_hid/null_hid.c
CC input/drivers_joypad/null_joypad.c
CC input/drivers_joypad/hid_joypad.c
CC playlist.c
CC movie.c
CC record/record_driver.c
CC record/drivers/record_null.c
CC performance.c
CC gfx/image/image.c
CC libretro-db/bintree.c
CC libretro-db/libretrodb.c
CC libretro-db/query.c
CC libretro-db/rmsgpack.c
CC libretro-db/rmsgpack_dom.c
CC database_info.c
CC audio/drivers/oss.c
CC audio/drivers/alsa.c
CC audio/drivers/alsathread.c
CC audio/drivers/openal.c
CC audio/audio_utils.c
CC menu/drivers/rgui.c
CC menu/drivers/glui.c
CC menu/drivers/xmb.c
CC menu/menu_input.c
CC menu/menu.c
CC menu/menu_common_list.c
CC menu/menu_navigation.c
CC menu/menu_setting.c
CC menu/menu_database.c
CC menu/menu_shader.c
CC menu/menu_entries.c
CC menu/menu_entries_cbs_ok.c
CC menu/menu_entries_cbs_cancel.c
CC menu/menu_entries_cbs_start.c
CC menu/menu_entries_cbs_select.c
CC menu/menu_entries_cbs_refresh.c
CC menu/menu_entries_cbs_toggle.c
CC menu/menu_entries_cbs_deferred_push.c
CC menu/menu_entries_cbs_representation.c
CC menu/menu_entries_cbs_iterate.c
CC menu/menu_entries_cbs_up_or_down.c
CC menu/menu_entries_cbs_contentlist_switch.c
CC menu/menu_entries_cbs.c
CC menu/menu_list.c
CC menu/menu_display.c
CC menu/menu_animation.c
CC menu/drivers/null.c
CC gfx/drivers_font_renderer/freetype.c
CC autosave.c
CC libretro-common/rthreads/rthreads.c
CC gfx/video_thread_wrapper.c
CC audio/audio_thread_wrapper.c
CC command.c
CC input/drivers/x11_input.c
CC gfx/common/x11_common.c
CC input/drivers_keyboard/keyboard_event_x11.c
CC input/drivers/udev_input.c
CC input/drivers_joypad/udev_joypad.c
CC input/drivers_hid/libusb_hid.c
input/drivers_hid/libusb_hid.c:28:4: error: unknown type name ‘libusb_hotplug_callback_handle’
    libusb_hotplug_callback_handle hp;
    ^
input/drivers_hid/libusb_hid.c:354:34: error: unknown type name ‘libusb_hotplug_event’
       struct libusb_device *dev, libusb_hotplug_event event, void *user_data)
                                  ^
input/drivers_hid/libusb_hid.c: In function ‘libusb_hid_free’:
input/drivers_hid/libusb_hid.c:465:4: warning: implicit declaration of function ‘libusb_hotplug_deregister_callback’ [-Wimplicit-function-declaration]
    libusb_hotplug_deregister_callback(NULL, hid->hp);
    ^
input/drivers_hid/libusb_hid.c: In function ‘libusb_hid_init’:
input/drivers_hid/libusb_hid.c:498:31: error: ‘LIBUSB_CAP_HAS_HOTPLUG’ undeclared (first use in this function)
    if (!libusb_has_capability(LIBUSB_CAP_HAS_HOTPLUG))
                               ^
input/drivers_hid/libusb_hid.c:498:31: note: each undeclared identifier is reported only once for each function it appears in
input/drivers_hid/libusb_hid.c:517:4: warning: implicit declaration of function ‘libusb_hotplug_register_callback’ [-Wimplicit-function-declaration]
    ret = libusb_hotplug_register_callback(NULL,
    ^
input/drivers_hid/libusb_hid.c:518:10: error: ‘LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED’ undeclared (first use in this function)
          LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED |
          ^
input/drivers_hid/libusb_hid.c:519:10: error: ‘LIBUSB_HOTPLUG_EVENT_DEVICE_LEFT’ undeclared (first use in this function)
          LIBUSB_HOTPLUG_EVENT_DEVICE_LEFT, 0,
          ^
input/drivers_hid/libusb_hid.c:520:10: error: ‘LIBUSB_HOTPLUG_MATCH_ANY’ undeclared (first use in this function)
          LIBUSB_HOTPLUG_MATCH_ANY,
          ^
input/drivers_hid/libusb_hid.c:523:10: error: ‘libusb_hid_hotplug_callback’ undeclared (first use in this function)
          libusb_hid_hotplug_callback,
          ^
make: *** [obj-unix/input/drivers_hid/libusb_hid.o] Error 1
Notes:-
1. zsh is require to compile dosbos.

Images:
Image
Image

Re: RetroArch 1.1

Posted: 03 May 2015, 19:59
by Seva
i successfully started the main application only after activating nvidia-cg-toolkit and open-al modules

havent tried playing

edit 1

fceumm works, played some mario 3 on keyboard

Re: RetroArch 1.1

Posted: 04 May 2015, 10:10
by Seva
Fceumm works very very well, graphics and sound and input are ideal with a little settings adjustments, gamepad works good, no input lag

i think the nes is covered, havent tested other consoles

would be good to have the retroarch available in the usm without the need to thinking about dependencies

Re: RetroArch 1.1

Posted: 04 May 2015, 13:16
by cttan
Hi Seva,

Atari, NES and PSP tested working.

You mentioned gamepad is working. May I know how do you connect your gamepad?

Re: RetroArch 1.1

Posted: 04 May 2015, 13:31
by Seva
to get the gamepad to work i plugged it in and changed the input driver in the driver settings in retroarch

edit 1

and after that the key binding is required, it is in the input settings iirc

Re: RetroArch 1.1

Posted: 04 May 2015, 16:37
by cttan
@Seva,

Are you using an USB gamepad?

Re: RetroArch 1.1

Posted: 04 May 2015, 16:52
by Seva
yes, a small brand generic gamepad sold here in russia, wired, full sized usb plug

iirc the driver i had set that worked was linuxraw or something like that

maybe the gamepad must be plugged in before the application is started

Re: RetroArch 1.1

Posted: 04 May 2015, 22:11
by cttan
@Seva,

Nice to hear that the gamepad is working even though RetroArch is compiled without libusb support.

Re: RetroArch 1.1

Posted: 05 May 2015, 09:53
by Seva
maybe the retroarch is very well cooded

Re: RetroArch 1.1

Posted: 14 Jun 2015, 19:42
by Seva
Work good: NES, SNES, GBA, PSX, most likely other emulators too
I had to rename some file regarding PSX core to make it display core properties in the app.
Gamepad works good.
Great program.

Re: RetroArch 1.1

Posted: 22 Jun 2015, 02:20
by Seva
i switched to kde and cant start retroarch

guest@porteus:~$ retroarch
Segmentation fault
guest@porteus:~$ su
Password:
root@porteus:/home/guest# retroarch
RetroArch [WARN] :: config_load_file :: system_directory is not set in config. Assuming system directory is same folder as game: "".
Segmentation fault
root@porteus:/home/guest#

Re: RetroArch 1.1

Posted: 22 Jun 2015, 08:11
by Seva
and i am in the middle of the circle of the moon and parasite eve 2

Re: RetroArch 1.1

Posted: 23 Jun 2015, 00:07
by Seva
this is the second best app after web browser, and it doesnt work now on kde

Re: RetroArch 1.1

Posted: 28 Jun 2015, 20:32
by Seva
i switched back to xfce and the retroarch started working again, so i dont need help anymore
xfce has problems with reboot but thats another story

Re: RetroArch 1.1

Posted: 29 Jun 2015, 11:00
by cttan
@Seva,

It is very strange indeed. I'm using KDE and root user login. It is working perfectly.