Forum Replies Created

Viewing 8 posts - 1 through 8 (of 8 total)
  • Author
    Posts
  • furntree
    Participant
    Post count: 8

    Hey guys didn’t see this popped up again!

    I actually gave up on this project because I couldn’t find a reliable way of getting it to work with low latency input. The best I was able to get was by using dispmanx as the display driver and linuxraw instead of udev for joystick inputs. The problem with linuxraw is…..no Xbox 360 pad support.

    I also used the realtime kernel, but beyond that I didn’t really do anything too fancy. Keep in mind in that video I am running fba libretro running Street Fighter Alpha 2 test mode. Games you test may or may not have inherent latency to them.

    If you are looking for a pocket sized computer to bring around with you for fighting games like I am. You might want to look into the UP Board running Windows:

    Best of luck!

    furntree
    Participant
    Post count: 8

    Wow thanks so much buzz! Did not think I would ever make such a major impact!

    One thing I did test while doing all of this was loading my own compiled Retroarch build (dispmanx enabled and on) through EmulationStation and it would just close and bring me back to the frontend.

    Figuring that one out is a bit above my head but I just wanted to put it out there.

    furntree
    Participant
    Post count: 8

    Good find. Was able to reproduce instantly by enabling threaded video. Is there really a benefit to having this enabled?

    Edit – Saw the new commit. Trying it now.

    furntree
    Participant
    Post count: 8

    I do not have a NES core working currently but to be fair I haven’t tried too hard either. Regardless here is my output this is kind of the best I can do over SSH. I can not get the entire console output to go into a file for some reason:

    
    Didn't read whole file: /sys/devices/system/cpu/present.
    Didn't read whole file: /sys/devices/system/cpu/possible.
    RetroArch [INFO] :: === Build =======================================RetroArch [INFO] :: [CPUID]: Features:
    Built: Nov 30 2015
    RetroArch [INFO] :: Version: 1.3.0
    RetroArch [INFO] :: Git: 3cd7014
    RetroArch [INFO] :: =================================================
    RetroArch [INFO] :: [CPUID]: Features:
    RetroArch [INFO] :: Looking for config in: "/home/pi/.config/retroarch/retroarch.cfg".
    RetroArch [INFO] :: Config: loading config from: /home/pi/.config/retroarch/retroarch.cfg.
    RetroArch [INFO] :: Threaded rarch_task started
    RetroArch [INFO] :: Loading dynamic libretro core from: "/home/pi/.config/retroarch/cores/picodrive_libretro.so"
    RetroArch [INFO] :: Environ SET_VARIABLES.
    RetroArch [INFO] :: Version of libretro API: 1
    RetroArch [INFO] :: Compiled against API: 1
    RetroArch [INFO] :: Environ PERFORMANCE_LEVEL: 0.
    RetroArch [INFO] :: Environ GET_LOG_INTERFACE.
    RetroArch [INFO] :: Environ SET_DISK_CONTROL_INTERFACE.
    RetroArch [INFO] :: Environ GET_VARIABLE picodrive_input1:
    RetroArch [INFO] ::     3 button pad
    RetroArch [INFO] :: Environ GET_VARIABLE picodrive_input2:
    RetroArch [INFO] ::     3 button pad
    RetroArch [INFO] :: Environ GET_VARIABLE picodrive_sprlim:
    RetroArch [INFO] ::     disabled
    RetroArch [INFO] :: Environ GET_VARIABLE picodrive_ramcart:
    RetroArch [INFO] ::     disabled
    RetroArch [INFO] :: Environ GET_VARIABLE picodrive_region:
    RetroArch [INFO] ::     Auto
    RetroArch [INFO] :: Environ GET_VARIABLE picodrive_drc:
    RetroArch [INFO] ::     enabled
    RetroArch [INFO] :: libretro core requires content, but nothing was provided.
    RetroArch [INFO] :: Does not have enough samples for monitor refresh rate estimation. Requires to run for at least 4096 frames.
    

    Here is my config file: http://fpaste.org/296043/93866914/

    Just to confirm you are using RPI 2?

    furntree
    Participant
    Post count: 8

    I haven’t tested on normal Raspbian yet honestly only because my results have been so good with RT. Another benefit which may be partially related to RT kernel is that I can successfully run audio latency all the way down to 32ms in Retroarch which is pretty quick! (16ms crackles and distorts)

    It took awhile but I finally got a standalone copy of pcsx-rearmed (non retroarch) to compile properly and have been running FF7 what seems like perfectly. I am not getting a lot of the graphical and speed issues I was having in other PCSX versions on other releases. I even had double res textures option running full speed but then the game crashed…

    Am going to try and get as many cores/emus as possible running the best it can then try and release a SD card image for you dudes to try. I think it will be really helpful, especially to the competitive fighting game players to have something that is basically as good as anything else with minimal input lag out of the box.

    Also I figured out the overscan issue is just my TV not handling 640×480 very well. I have had much better success running 1024×768 to maintain aspect ratio!

    furntree
    Participant
    Post count: 8

    dank: I haven’t noticed any problems. There is about a 10-20% CPU overhead using the RT kernel as you are forced to use an older compatible USB driver.

    http://community.emlid.com/t/rt-kernel-unusual-dwc-otg-high-8k-s-interrupt-rate-using-quite-some-cpu/1002

    I honestly haven’t noticed a problem with it though. I have tested Genesis on Picodrive which is pretty intensive without issues.

    I tried setting display mode 2 for 480p@60hz however I am getting overscan on the top and bottom? The retroarch viewport settings do not seem to do anything when running dispmanx but the aspect ratio does.

    furntree
    Participant
    Post count: 8

    Thanks buzz! If I remember correctly I was trying to get around a compilation error so may have installed it unnecessarily! Will update my process thank you! :)

    furntree
    Participant
    Post count: 8

    Hey ngseven! I have been working on this for a few days now and have had some interesting results.

    I ended up using this realtime kernel disk image of Raspbian but am not sure if it was totally necessary. I am an old Linux audio geek so I like realtime kernels!

    http://docs.emlid.com/navio/Downloads/Real-time-Linux-RPi2/

    Then I install SDL-1.2.15-raspberrypi for dispmanx which is basically a fast way to get the rpi to render 2d graphics.

    https://github.com/vanfanel/SDL-1.2.15-raspberrypi

    Apparently you don’t need to do this part ^

    After that is installed I downloaded the latest Retroarch and configured using these arguments to enable the drivers I wanted.

    ./configure --disable-x11 --enable-floathard --enable-neon --disable-ffmpeg --enable-udev --disable-sdl --disable-pulse --disable-oss --enable-dispmanx

    After this you can run Retroarch and find we can run the following drivers:

    Input: linuxraw
    Joypad: linuxraw
    Video: dispmanx
    Audio: alsa

    I also turned vsync off etc.

    With this configuration I was able to get 2 frame input delay! Down from 6 frames with stock Retropie! This is using libretro-fba

    2 frame input delay should be about half the latency of inputs on a PS3 fighting game title which I believe is about 4 frames.

    I recorded the input vs monitor output at 60fps and played it back frame by frame for testing: https://dl.dropboxusercontent.com/u/225000/test%20%2802%29.mp4

    Let me know your findings and if any of this helps you!

    Edit: I haven’t tried Xbox360 controllers yet and ALSA gives me a little crackle here and there. Will see if I can iron out the bugs.

Viewing 8 posts - 1 through 8 (of 8 total)