RE: Integrated Video Game Emulators - drivesoslow - 2013-02-21
(2013-02-21, 04:33)BLKMGK Wrote: Pulled, compiled, installed, turned on Debug. Getting something slightly different now - when I navigate to the .SMC file and click on it a dialog pops up asking me to install an emulator, I say okay, select one I know I already installed, and then... nothing. If I select one I haven't installed it prompts me to allow a download, downloads, and still won't launch anything. If I cycle XBMC no difference except now it knows not to ask to download the new emulator...
Here's the pastebin log http://pastebin.com/uhx7Feq2
Have you tried compiling the emulators yourself? https://github.com/libretro/libretro-super
Code: 21:38:34 T:140467737069504 DEBUG: RetroPlayer: Installing game client gameclient.bsnes.balanced
21:38:34 T:140467737069504 DEBUG: RetroPlayer: Game client installation canceled/failed
21:38:34 T:140467737069504 ERROR: RetroPlayer: No game client
The install seems to be failing. I'm a 32bit system so I had to compile and install myself and then also copy the .so over the ones XBMC downloaded into the addons folder.
RE: Integrated Video Game Emulators - garbear - 2013-02-21
BLKMGK, it looks like you're on 64-bit (Ubuntu 10.10, 2.6.35-32-generic x86_64). Here's the error message when loading the DLL.
Code: ERROR: Unable to load libretro-bsnes-balanced.so, reason: /lib/libc.so.6: version `GLIBC_2.14' not found
Can you post your glibc version? (I don't know how to find it, but my friend google does ) Compile emulators yourself using libretro-super. This should link them to your version of glibc. In the future it'll probably be possible to install binaries using the distro's package manager to manage things like dependencies and such. For now, use:
Code: git clone git://github.com/libretro/libretro-super.git
cd libretro-super
./libretro-fetch.sh
./libretro-build.sh
Also I'm uploading 32-bit emulators. go to Get Addons -> force refresh Libretro Emulators -> Add-on Repositories -> Libretro Emulators (32-bit) -> "Install". They'll show up alongside 64-bit ones with a "(32-bit)" in their name
RE: Integrated Video Game Emulators - philipacentaur - 2013-02-21
This is amazing. Thanks so much to Garrett and everyone else involved in making this happen.
I'm trying to compile this under the OpenELEC build environment, but the build fails with the following:
Code: make[2]: Entering directory `/home/philipacentaur/OpenELEC.tv/build.OpenELEC-ION.x86_64-devel/xbmc-03afc5d/xbmc/cores/RetroPlayer'
CPP xbmc/cores/RetroPlayer/RetroPlayer.o
RetroPlayer.cpp: In member function 'virtual bool CRetroPlayer::OpenFile(const CFileItem&, const CPlayerOptions&)':
RetroPlayer.cpp:160:27: error: no matching function for call to 'CXBMCRenderManager::PreInit()'
RetroPlayer.cpp:160:27: note: candidate is:
In file included from RetroPlayerVideo.h:25:0,
from RetroPlayer.h:24,
from RetroPlayer.cpp:23:
/home/philipacentaur/OpenELEC.tv/build.OpenELEC-ION.x86_64-devel/xbmc-03afc5d/xbmc/cores/VideoRenderers/RenderManager.h:75:16: note: unsigned int CXBMCRenderManager::PreInit(CDVDClock*)
/home/philipacentaur/OpenELEC.tv/build.OpenELEC-ION.x86_64-devel/xbmc-03afc5d/xbmc/cores/VideoRenderers/RenderManager.h:75:16: note: candidate expects 1 argument, 0 provided
RetroPlayer.cpp: In static member function 'static void CRetroPlayer::OnAudioSample(int16_t, int16_t)':
RetroPlayer.cpp:426:11: warning: unused variable 'buf' [-Wunused-variable]
In file included from /home/philipacentaur/OpenELEC.tv/build.OpenELEC-ION.x86_64-devel/xbmc-03afc5d/xbmc/guilib/GUIControl.h:30:0,
from /home/philipacentaur/OpenELEC.tv/build.OpenELEC-ION.x86_64-devel/xbmc-03afc5d/xbmc/guilib/GUIControlGroup.h:28,
from /home/philipacentaur/OpenELEC.tv/build.OpenELEC-ION.x86_64-devel/xbmc-03afc5d/xbmc/guilib/GUIWindow.h:31,
from /home/philipacentaur/OpenELEC.tv/build.OpenELEC-ION.x86_64-devel/xbmc-03afc5d/xbmc/guilib/GUIDialog.h:28,
from /home/philipacentaur/OpenELEC.tv/build.OpenELEC-ION.x86_64-devel/xbmc-03afc5d/xbmc/dialogs/GUIDialogBusy.h:23,
from RetroPlayer.cpp:28:
/home/philipacentaur/OpenELEC.tv/build.OpenELEC-ION.x86_64-devel/xbmc-03afc5d/xbmc/guilib/GraphicContext.h: At global scope:
/home/philipacentaur/OpenELEC.tv/build.OpenELEC-ION.x86_64-devel/xbmc-03afc5d/xbmc/guilib/GraphicContext.h:244:150: warning: 'g_graphicsContext' defined but not used [-Wunused-variable]
make[2]: *** [RetroPlayer.o] Error 1
make[2]: Leaving directory `/home/philipacentaur/OpenELEC.tv/build.OpenELEC-ION.x86_64-devel/xbmc-03afc5d/xbmc/cores/RetroPlayer'
make[1]: *** [xbmc/cores/RetroPlayer/retroplayer.a] Error 2
make[1]: Leaving directory `/home/philipacentaur/OpenELEC.tv/build.OpenELEC-ION.x86_64-devel/xbmc-03afc5d'
make: *** [release] Error 2
Any idea what the cause of this is?
XBMC master branch compiles fine. I'll gladly post finished OpenELEC images when I get this branch compiled properly.
RE: Integrated Video Game Emulators - BLKMGK - 2013-02-22
(2013-02-21, 07:15)garbear Wrote: BLKMGK, it looks like you're on 64-bit (Ubuntu 10.10, 2.6.35-32-generic x86_64). Here's the error message when loading the DLL.
Code: ERROR: Unable to load libretro-bsnes-balanced.so, reason: /lib/libc.so.6: version `GLIBC_2.14' not found
Can you post your glibc version? (I don't know how to find it, but my friend google does ) Compile emulators yourself using libretro-super. This should link them to your version of glibc. In the future it'll probably be possible to install binaries using the distro's package manager to manage things like dependencies and such. For now, use:
Code: git clone git://github.com/libretro/libretro-super.git
cd libretro-super
./libretro-fetch.sh
./libretro-build.sh
Also I'm uploading 32-bit emulators. go to Get Addons -> force refresh Libretro Emulators -> Add-on Repositories -> Libretro Emulators (32-bit) -> "Install". They'll show up alongside 64-bit ones with a "(32-bit)" in their name
Looks like ldd --version produces the Glibc version
Code: blkmgk@downstairs:~/xbmc$ ldd --version
ldd (Ubuntu EGLIBC 2.12.1-0ubuntu10.4) 2.12.1
Copyright (C) 2010 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
I will see about updating glibc to the later version, hopefully that will preclude having to recompile libretro. If i do need to pull source down should I pull it into the same directory as xbmc's source or create another? May want to update the Readme.Ubuntu for your branch if Glibc needs to be updated and maybe configure to flag the bad version? I will try to update and post back - I believe this is indeed 10.10 and an LTS.
Update: Oookay, 10.04 is the LTS not 10.10. The repos for 10.10 are coming back 404 so do'h it looks like I'm not supported. Updating Glibc is apparently a task, updating is likely smartest. Naturally the Update Manager isn't installed on my system hence the repo being 404 stinks! I'll be backing this puppy up and updating via an ISO it seems or via commandline (most likely). Man I really do NOT want Unity or to dork up sound on my system! Stay tuned
RE: Integrated Video Game Emulators - drivesoslow - 2013-02-22
Any ideas on the Linux input issues?
RE: Integrated Video Game Emulators - garbear - 2013-02-22
(2013-02-21, 22:03)philipacentaur Wrote: This is amazing. Thanks so much to Garrett and everyone else involved in making this happen.
I'm trying to compile this under the OpenELEC build environment, but the build fails with the following:
Code: make[2]: Entering directory `/home/philipacentaur/OpenELEC.tv/build.OpenELEC-ION.x86_64-devel/xbmc-03afc5d/xbmc/cores/RetroPlayer'
make[2]: *** [RetroPlayer.o] Error 1
make[1]: *** [xbmc/cores/RetroPlayer/retroplayer.a] Error 2
make: *** [release] Error 2
Any idea what the cause of this is?
@philipacentaur, you're just a litle too late See xbmc-811.10-xvba_rpi_fixes-0aff5cd.patch, added 11 days ago and updated/renamed to xbmc-995.10-xvba_rpi_fixes-81496e1.patch 5 days ago. These break the build, try deleting the newer one and see if it works (I'm trying that as we speak)
@BLKMGK, nothin wrong with xbmc, it's the emulators that aren't compatible, probably because I compiled them on my 12.04 laptop. I could target 10.10 if I had it installed, XBMC would even auto update to the new binaries I upload. But that would break compatibility with 12.* and 13.*... the real solution is PR2230. When this gets polished I'll cherry-pick and look into using launchpad to cover different distros. Good luck with the upgrade...
I got no launchpad experience, so if someone wants to help me out I could get the ball rolling and help finish PR2230.
@drivesoslow, I just pushed a bunch of debug statements to the SDL joystick code (starts with "SDL_EVENT:"). Can you give it a try and see what it spews out?
RE: Integrated Video Game Emulators - nicknacc - 2013-02-22
i am a huge noob. how do i download the beta? i cant find it.
RE: Integrated Video Game Emulators - drivesoslow - 2013-02-22
(2013-02-22, 06:21)garbear Wrote: @drivesoslow, I just pushed a bunch of debug statements to the SDL joystick code (starts with "SDL_EVENT:"). Can you give it a try and see what it spews out?
Here is a log of me mashing buttons. The only one that works still is #7 which is mapped to Stop.
http://www.xbmclogs.com/show.php?id=1096
Code: 13:03:22 T:3037198080 DEBUG: SDL_EVENT: Linux joystick input events are enabled
13:03:22 T:3037198080 DEBUG: Joystick 0 button 1 Down
13:03:22 T:3037198080 DEBUG: Joystick 0 button 1 Up
13:03:22 T:2881485632 DEBUG: NEWADDON PythonCallbackHandler construction with PyThreadState 0xabc05490
13:03:22 T:3037198080 DEBUG: Joystick 0 button 5 Down
13:03:22 T:3037198080 DEBUG: Joystick 0 button 5 Up
13:03:22 T:3037198080 DEBUG: Joystick 0 button 8 Down
13:03:22 T:3037198080 DEBUG: Joystick 0 button 8 Up
13:03:23 T:2881485632 DEBUG: NEWADDON PythonCallbackHandler construction with PyThreadState 0xabc05490
13:03:23 T:3037198080 DEBUG: Joystick 0 button 7 Down
13:03:23 T:3037198080 DEBUG: RetroPlayer: Closing file
13:03:23 T:2673843008 DEBUG: Thread RetroPlayerVideo 2673843008 terminating
13:03:23 T:3034856256 DEBUG: CSoftAE::Run - Sink restart flagged
13:03:23 T:3034856256 INFO: CSoftAE::InternalOpenSink - sink incompatible, re-starting
13:03:23 T:2881485632 DEBUG: NEWADDON PythonCallbackHandler construction with PyThreadState 0xabc05490
13:03:23 T:3034856256 INFO: CAESinkALSA::Initialize - Attempting to open device "default"
13:03:23 T:3034856256 INFO: CAESinkALSA::Initialize - Opened device "default"
13:03:23 T:3034856256 DEBUG: CAESinkALSA::InitializeHW - Request: periodSize 512, periods 16, bufferSize 8192
13:03:23 T:3034856256 DEBUG: CAESinkALSA::InitializeHW - Got: periodSize 512, periods 16, bufferSize 8192
13:03:23 T:3034856256 DEBUG: CAESinkALSA::InitializeHW - Setting timeout to 186 ms
13:03:23 T:3034856256 DEBUG: CSoftAE::InternalOpenSink - ALSA Initialized:
13:03:23 T:3034856256 DEBUG: Output Device : Playback/recording through the PulseAudio sound server
13:03:23 T:3034856256 DEBUG: Sample Rate : 44100
13:03:23 T:3034856256 DEBUG: Sample Format : AE_FMT_FLOAT
13:03:23 T:3034856256 DEBUG: Channel Count : 2
13:03:23 T:3034856256 DEBUG: Channel Layout: FL,FR
13:03:23 T:3034856256 DEBUG: Frames : 512
13:03:23 T:3034856256 DEBUG: Frame Samples : 1024
13:03:23 T:3034856256 DEBUG: Frame Size : 8
13:03:23 T:3034856256 DEBUG: CSoftAE::InternalOpenSink - Using speaker layout: 2.1
13:03:23 T:3034856256 DEBUG: CSoftAE::InternalOpenSink - Internal Buffer Size: 4096
13:03:23 T:2682235712 DEBUG: CSoftAEStream::~CSoftAEStream - Destructed
13:03:23 T:2682235712 DEBUG: Thread RetroPlayerAudio 2682235712 terminating
13:03:23 T:3037198080 DEBUG: LinuxRendererGL: Cleaning up GL resources
13:03:23 T:2852125504 DEBUG: Thread RetroPlayer 2852125504 terminating
13:03:23 T:3037198080 DEBUG: RetroPlayer: File closed
13:03:23 T:3037198080 DEBUG: CGUIWindowManager::PreviousWindow: Deactivate
13:03:24 T:2881485632 DEBUG: NEWADDON PythonCallbackHandler construction with PyThreadState 0xabc05490
13:03:24 T:3037198080 DEBUG: ------ Window Deinit (VideoFullScreen.xml) ------
13:03:24 T:3037198080 DEBUG: ExecuteXBMCAction : Translating Dialog.close(all,true)
13:03:24 T:3037198080 DEBUG: ExecuteXBMCAction : To Dialog.close(all,true)
13:03:24 T:3037198080 DEBUG: CGUIWindowManager::PreviousWindow: Activate new
13:03:24 T:3037198080 DEBUG: ------ Window Init (FileManager.xml) ------
13:03:24 T:3037198080 DEBUG: Window FileManager.xml was already loaded
13:03:24 T:3037198080 DEBUG: Alloc resources: 2.62m
13:03:24 T:3037198080 DEBUG: Joystick 0 button 7 Up
13:03:24 T:3037198080 DEBUG: SDL_EVENT: Linux joystick input events are enabled
(2013-02-22, 23:09)nicknacc Wrote: i am a huge noob. how do i download the beta? i cant find it.
To my knowledge the only pre-build is for Windows: http://180upload.com/k1nbf3jiznej
RE: Integrated Video Game Emulators - philipacentaur - 2013-02-22
(2013-02-22, 06:21)garbear Wrote: @philipacentaur, you're just a litle too late See xbmc-811.10-xvba_rpi_fixes-0aff5cd.patch, added 11 days ago and updated/renamed to xbmc-995.10-xvba_rpi_fixes-81496e1.patch 5 days ago. These break the build, try deleting the newer one and see if it works (I'm trying that as we speak)
Thanks for the hint. I should have suspected a patch was the problem. I deleted "xbmc-995.01-xvba_support-1ea917e.patch" from the "patches.x86" directory, and the rest of the build went off without a hitch. I build for the i386 arch, so I had to fiddle around with the addon repo to get the 32-bit addons installed, but launching NES ROMs with bNES is working. Launching .nes ROMs with FCEU-Next doesn't seem to work; if FCEU-Next is the only NES emu installed, it just keeps giving me the dialog to install an addon.
Joystick support doesn't seem to work, but I see some posts here about Linux joystick support, so I expected that. Button definitions from the <global> section are triggered while the emulator is running, and even though I have a proper <FullscreenGame> section set up, nothing defined there works in the emulator. Joystick works as expected in the XBMC GUI, during fullscreen video, etc. Strange, because definitions from the <FullscreenGame> in keyboard.xml work while I'm using the keyboard.
Let me know if you need any specific debug output.
RE: Integrated Video Game Emulators - BLKMGK - 2013-02-23
(2013-02-22, 23:09)nicknacc Wrote: i am a huge noob. how do i download the beta? i cant find it.
Do you have XBMC built from source already? What OS are you on?
If you've not built from source in Linux before it's a little bit of work but not too bad. My upgrade appears to have failed and my backup not much better so I may be rebuilding from scratch myself If you're on Windows you might be able to get a binary from someone but you'll likely want to start with a well running XBMC install anyway before moving off from the mainstream head trunk.
RE: Integrated Video Game Emulators - drivesoslow - 2013-02-23
(2013-02-22, 23:35)philipacentaur Wrote: (2013-02-22, 06:21)garbear Wrote: @philipacentaur, you're just a litle too late See xbmc-811.10-xvba_rpi_fixes-0aff5cd.patch, added 11 days ago and updated/renamed to xbmc-995.10-xvba_rpi_fixes-81496e1.patch 5 days ago. These break the build, try deleting the newer one and see if it works (I'm trying that as we speak)
Thanks for the hint. I should have suspected a patch was the problem. I deleted "xbmc-995.01-xvba_support-1ea917e.patch" from the "patches.x86" directory, and the rest of the build went off without a hitch. I build for the i386 arch, so I had to fiddle around with the addon repo to get the 32-bit addons installed, but launching NES ROMs with bNES is working. Launching .nes ROMs with FCEU-Next doesn't seem to work; if FCEU-Next is the only NES emu installed, it just keeps giving me the dialog to install an addon.
Joystick support doesn't seem to work, but I see some posts here about Linux joystick support, so I expected that. Button definitions from the <global> section are triggered while the emulator is running, and even though I have a proper <FullscreenGame> section set up, nothing defined there works in the emulator. Joystick works as expected in the XBMC GUI, during fullscreen video, etc. Strange, because definitions from the <FullscreenGame> in keyboard.xml work while I'm using the keyboard.
Let me know if you need any specific debug output.
Have you tried mapping a button to Stop on your joystick? I'd be curious if that works.
RE: Integrated Video Game Emulators - philipacentaur - 2013-02-23
Yeah, it's mapped and appears to work (emulator quits). Interesting.
Here's my <FullscreenGame> config:
Code: <FullscreenGame>
<joystick name="Logitech Logitech Dual Action">
<altname>Joystick 0</altname>
<button id="1">JoypadB</button>
<button id="2">JoypadA</button>
<button id="3">JoypadX</button>
<button id="4">JoypadY</button>
<button id="5">JoypadL</button>
<button id="6">JoypadR</button>
<button id="9">JoypadSelect</button>
<button id="10">JoypadStart</button>
<button id="11">Stop</button>
<button id="12">FullScreen</button>
<hat id="1" position="up">JoypadUp</hat>
<hat id="1" position="down">JoypadDown</hat>
<hat id="1" position="left">JoypadLeft</hat>
<hat id="1" position="right">JoypadRight</hat>
</joystick>
</FullscreenGame>
None of the "Joypad*" entries do anything in the emulator, but if I enable debugging, I see keydown/up messages in the log for whatever I'm pressing. Using current git as of Garrett's recent Feb 22 commits. This is the same behavior you're experiencing?
RE: Integrated Video Game Emulators - drivesoslow - 2013-02-23
(2013-02-23, 01:43)philipacentaur Wrote: Yeah, it's mapped and appears to work (emulator quits). Interesting.
Here's my <FullscreenGame> config:
Code: <FullscreenGame>
<joystick name="Logitech Logitech Dual Action">
<altname>Joystick 0</altname>
<button id="1">JoypadB</button>
<button id="2">JoypadA</button>
<button id="3">JoypadX</button>
<button id="4">JoypadY</button>
<button id="5">JoypadL</button>
<button id="6">JoypadR</button>
<button id="9">JoypadSelect</button>
<button id="10">JoypadStart</button>
<button id="11">Stop</button>
<button id="12">FullScreen</button>
<hat id="1" position="up">JoypadUp</hat>
<hat id="1" position="down">JoypadDown</hat>
<hat id="1" position="left">JoypadLeft</hat>
<hat id="1" position="right">JoypadRight</hat>
</joystick>
</FullscreenGame>
None of the "Joypad*" entries do anything in the emulator, but if I enable debugging, I see keydown/up messages in the log for whatever I'm pressing. Using current git as of Garrett's recent Feb 22 commits. This is the same behavior you're experiencing?
Even button 11? The only button of my Logitech that works is the Stop button which quits the emulator.
RE: Integrated Video Game Emulators - nicknacc - 2013-02-23
(2013-02-23, 00:22)BLKMGK Wrote: (2013-02-22, 23:09)nicknacc Wrote: i am a huge noob. how do i download the beta? i cant find it.
Do you have XBMC built from source already? What OS are you on?
If you've not built from source in Linux before it's a little bit of work but not too bad. My upgrade appears to have failed and my backup not much better so I may be rebuilding from scratch myself If you're on Windows you might be able to get a binary from someone but you'll likely want to start with a well running XBMC install anyway before moving off from the mainstream head trunk.
thanks for the reply. im on windows. so from your reply i am assuming youguys are editing xbmc itself or something with linux (hence the talks about trunks and stuff) sounds over my head. this isnt a typical addon i can test out?
RE: Integrated Video Game Emulators - drivesoslow - 2013-02-23
(2013-02-23, 02:27)nicknacc Wrote: (2013-02-23, 00:22)BLKMGK Wrote: (2013-02-22, 23:09)nicknacc Wrote: i am a huge noob. how do i download the beta? i cant find it.
Do you have XBMC built from source already? What OS are you on?
If you've not built from source in Linux before it's a little bit of work but not too bad. My upgrade appears to have failed and my backup not much better so I may be rebuilding from scratch myself If you're on Windows you might be able to get a binary from someone but you'll likely want to start with a well running XBMC install anyway before moving off from the mainstream head trunk.
thanks for the reply. im on windows. so from your reply i am assuming youguys are editing xbmc itself or something with linux (hence the talks about trunks and stuff) sounds over my head. this isnt a typical addon i can test out?
To my knowledge the only pre-build is for Windows: http://180upload.com/k1nbf3jiznej
|