2012-10-03, 04:58
I am new to XBMC, but certainly not to software development or to UNIX. (I've been doing both for over 30 years.)
I've taken a stab at trying to run XBMCbuntu (and make it do something useful) on my trusty old MSI laptop (w/HDMI) and so far, I'm sorry to say, most of the stuff I have tried to make it do is failing rather badly... all for reasons I'm not at all clear on. The good news is that XBMCbuntu does boot and comes up all the way, but the fun ends right about there.
As a software engineer myself, I would like to lend a hand and see if I can contribute fixes for the various problems I've already encountered, but even the minimal guidance that it would take to get rolling on this seems to be hard to come by. So I'm asking here.
I'm not going to use this post to talk about ALL of the several problems that I've already encountered while trying to run XBMCbuntu (even though I will describe the most show-stopper problems in a P.S. attached below). I'll save the other nits that I've found and describe those on another day, and probably in a different forum. For today, I just want to talk about one very serious show-stopper, and then get some guidance on how to debug this.
In a nutshell, I managed to get XBMCbuntu installed successfully on an 8GD USB flash drive and I managed to get my laptop to boot that and bring up XBMCbuntu. So far so good. (At boot time, I already had an external USB DVD/CD drive also attached to the laptop, in addition to the USB flash drive I was booting from.)
Once XBMCbuntu had booted all the way to XBMC, I placed a (pre-decrypted) DVD into the DVD drive, and XBMCbuntu apparently did recognize it and even showed me the title of the DVD under Video->Files. It took me awhile to figure out that I needed to right click on that, rather than left click (which would have been more intuitive) but I did eventually right click on the DVD title and then selected "Run" or "Play" or "Watch"... or whatever it was, I don't remember anymore and it isn't really important to my question anyway.
The bottom line is that after I did that, NOTHING happened. I mean nothing... except for the fact that after that, the mouse cursor was frozen. I was patient, but the whole machine was basically frozen for a long long time. I could do nothing else via the GUI, but I managed to find a hint someplace online saying that ALT-F2 would get me to a command line console. So I did that, logged in, and ran top. Of course, that showed a process... xbmc.something... sucking up 99.9% of the CPU time.
I'm guessing that this is due to a bug in the XBMC application... an endless loop. (Gee. Ya think? :-)
So now, would some kind soul just get me started? What would YOU do next? Should I fish out the PID and send the errant process a SIGQUIT (kill -3) so that I'll maybe get it to coredump and then run gdb on the coredump file? Or is it the case that in the stock releases of XBMCbuntu, all of the binaries have been stripped so that running GDB on the coredump file is useless/pointless?
Sigh. I am guessing that I'm gonna need to build XBMC from sources with -g turned on and stripping disabled and then load that up and crash it before I'm gonna get anything I can debug. Correct? Assuming so, then I have two questions: (1) Which Makefile options are recommended in order to get a debuggable binary for xbmc? and (2) Once I send the thing a SIGQUIT, where is the coredump file for that going to go? What directory should I be looking for it in? (I'm more familiar with FreeBSD than Linux, and on FreeBSD the coredump file gets stashed, I think, in whatever directory the program was started from... or perhaps whichever one it happens to be cd'd into at the moment it crashes. I forget, but it is one of those two. So, what directory is the xbmc binary started from in XBMCbuntu? What directories does xbmc typically change into during its lifetime?)
Thanks in advance to anyone willing to help me to be productive and useful to this community.
Regards,
rfg
P.S. I know that I should probably save the following (which is mostly about what I consider to be missing fundamental and indispensable features) and post it in some more appropriate other place, but I did mention above that, right off the bat, several things appeared, at least to THIS new user, to be essentially non-functional, so I hope nobody will begrudge me too much if I just get a couple of these things off my chest. (These are the kinds of things that, if I am able, I would probably like to help to implement and/or fix.)
So, the issues...
In addition to not actually being able to simply play a non-encrypted DVD that's loaded into the local DVD drive, there are also a few things that XBMCbuntu is seriously not doing for me, out-of-the-box, and that I personally think are indispensable things it really ought to do, for example:
1) Somewhere in the XBMC menu system... probably underneath "System"... there really really REALLY ought to be a button that one could click to bring up an xterm+sh command line window. An experienced UNIX/Linux user shouldn't have to google around for a half an hour just to find out that you can do Alt-F2 or Alt-F3 to get to a command line prompt. It should be right there in the GUI menu system, easy to find and in an obvious place. (And anyway, I haven't seen documented anywhere how one gets _back_ to the XBMC GUI _after_ one has done Alt-F2, which is a also a serious shortcoming. In an xterm sub-shell under X, one typically just types `exit' and that makes the xterm window just disappear so that you can easily and intuitively go back to whatever you were doing before.)
Seriously boys & girls, being perpetually trapped in a maddening maze of twisty little pre-defined GUI options, all different, is most definitely NOT my idea of either a good time OR a good user experience. In fact it is distinctly and thoroughly user-UNfriendly. C'mon now. I can quickly and easily get to a command line _even_ under dd-wrt on my teeny tiny little router! Why should XBMC be _less_ sophisticated and _less_ user friendly than that?
There will ALWAYS be things that an experienced user can do (or fix) if he/she can just get under the hood. Hell! Even Bill Gates & Co. have understood this simple truth well enough to include an easy way to get to a command line prompt in _every_ version of MS Windows ever released. Does XBCM want to be judged as being _less_ sophisticated than the ____ that comes out of Redmond? I doubt it.
2) For me at least, once XBMCbuntu had booted all the way up, it appears to me that it didn't even notice the fact that I had a second USB flash drive plugged in... one with lots of my pictures, movies, and music on it... most of which I wanted to play in XMBMC. As Jerry Seinfeld used to say ``What's up with that??'' And also, there was no obvious way, via the GUI, to induce XBMCbuntu to become aware of the presence of the 2nd USB flash drive. (This is another example of a situation in which having ready access to a command line prompt might have helped enormously.)
3) So, I could not get to play stuff from the 2nd USB flash drive, but there's always the network, right? All of my content is sitting over on the computer in my den (which is exporting it all as a single Windoze share). Surely, XBMCbuntu, running on my wireless-enabled laptop in the living room, ought to be able to easily suck that content from the den to the living room, right? Well, apparently not.
Ideally on any machine that has one or more built-in or currently accessible wireless adapters... at least the ones that Linux knows how to drive anyway... when XBMC first comes up, it really should ask the user, for each one of the wireless adapters present, if he, the user, wants to connect each of those wireless adapters to anything in particular. THAT would be user-friendly.
But not only is there no apparent or obvious ``user friendly'' way to connect, wirelessly, to all of my content. That alone would be bad enough! But the really annoying part is that on boot up, XBMCbuntu never even bothered to ask me if I wanted to do so!
So, um, lemme see... I can't access the content on the 2nd USB flash drive, and try as I might, I cannot induce XBMCbuntu to list for me any of the available local wireless access points (as even my brain-damaged LG BD670 Blu-Ray player will do), let alone allowing me to connect to any of them. Swell. So now I have this terrific media player (XBMCbuntu) and essentially no way to get any actual media into it. (Yes, yes, I know that I _could_ actually install XBMCbuntu on the laptop hard drive, and THEN I might be able to get it to see just *one* USB drive with content on it, and likewise, if I futzed around long enough, e.g. telnet'ing or ssh'ing in on a hardwired line, I could maybe even eventually get the wireless to work. But that's not the point. The point is that even my dumb old LG Blu-Ray player makes all this exact same stuff... loccal USB drive access and wireless network connectivity... simple as pie, and easily accessible through its GUI. XBMC should too.)
These and other things are things I'd like to fix, if I can manage to get that far.
My sincere apologies if I have offended anyone with my comments. I actually very much like what I have seen of XBMC so far, notwithstanding the various problems I have encountered. And of course, the bad thing about my LG Blu-Ray player (which I have compared XBMC to above) is that whenever *it* has a bug (or ``non-feature'') there isn't a damn thing that *I* can do about it, except to bitch to LG and hope that someday they may fix it. But with XBMC, if there's something bothering me about it, then at least maybe I can roll up my sleeves and fix it myself (and contribute the fix back to the community). And that, of course, makes all the difference.
I've taken a stab at trying to run XBMCbuntu (and make it do something useful) on my trusty old MSI laptop (w/HDMI) and so far, I'm sorry to say, most of the stuff I have tried to make it do is failing rather badly... all for reasons I'm not at all clear on. The good news is that XBMCbuntu does boot and comes up all the way, but the fun ends right about there.
As a software engineer myself, I would like to lend a hand and see if I can contribute fixes for the various problems I've already encountered, but even the minimal guidance that it would take to get rolling on this seems to be hard to come by. So I'm asking here.
I'm not going to use this post to talk about ALL of the several problems that I've already encountered while trying to run XBMCbuntu (even though I will describe the most show-stopper problems in a P.S. attached below). I'll save the other nits that I've found and describe those on another day, and probably in a different forum. For today, I just want to talk about one very serious show-stopper, and then get some guidance on how to debug this.
In a nutshell, I managed to get XBMCbuntu installed successfully on an 8GD USB flash drive and I managed to get my laptop to boot that and bring up XBMCbuntu. So far so good. (At boot time, I already had an external USB DVD/CD drive also attached to the laptop, in addition to the USB flash drive I was booting from.)
Once XBMCbuntu had booted all the way to XBMC, I placed a (pre-decrypted) DVD into the DVD drive, and XBMCbuntu apparently did recognize it and even showed me the title of the DVD under Video->Files. It took me awhile to figure out that I needed to right click on that, rather than left click (which would have been more intuitive) but I did eventually right click on the DVD title and then selected "Run" or "Play" or "Watch"... or whatever it was, I don't remember anymore and it isn't really important to my question anyway.
The bottom line is that after I did that, NOTHING happened. I mean nothing... except for the fact that after that, the mouse cursor was frozen. I was patient, but the whole machine was basically frozen for a long long time. I could do nothing else via the GUI, but I managed to find a hint someplace online saying that ALT-F2 would get me to a command line console. So I did that, logged in, and ran top. Of course, that showed a process... xbmc.something... sucking up 99.9% of the CPU time.
I'm guessing that this is due to a bug in the XBMC application... an endless loop. (Gee. Ya think? :-)
So now, would some kind soul just get me started? What would YOU do next? Should I fish out the PID and send the errant process a SIGQUIT (kill -3) so that I'll maybe get it to coredump and then run gdb on the coredump file? Or is it the case that in the stock releases of XBMCbuntu, all of the binaries have been stripped so that running GDB on the coredump file is useless/pointless?
Sigh. I am guessing that I'm gonna need to build XBMC from sources with -g turned on and stripping disabled and then load that up and crash it before I'm gonna get anything I can debug. Correct? Assuming so, then I have two questions: (1) Which Makefile options are recommended in order to get a debuggable binary for xbmc? and (2) Once I send the thing a SIGQUIT, where is the coredump file for that going to go? What directory should I be looking for it in? (I'm more familiar with FreeBSD than Linux, and on FreeBSD the coredump file gets stashed, I think, in whatever directory the program was started from... or perhaps whichever one it happens to be cd'd into at the moment it crashes. I forget, but it is one of those two. So, what directory is the xbmc binary started from in XBMCbuntu? What directories does xbmc typically change into during its lifetime?)
Thanks in advance to anyone willing to help me to be productive and useful to this community.
Regards,
rfg
P.S. I know that I should probably save the following (which is mostly about what I consider to be missing fundamental and indispensable features) and post it in some more appropriate other place, but I did mention above that, right off the bat, several things appeared, at least to THIS new user, to be essentially non-functional, so I hope nobody will begrudge me too much if I just get a couple of these things off my chest. (These are the kinds of things that, if I am able, I would probably like to help to implement and/or fix.)
So, the issues...
In addition to not actually being able to simply play a non-encrypted DVD that's loaded into the local DVD drive, there are also a few things that XBMCbuntu is seriously not doing for me, out-of-the-box, and that I personally think are indispensable things it really ought to do, for example:
1) Somewhere in the XBMC menu system... probably underneath "System"... there really really REALLY ought to be a button that one could click to bring up an xterm+sh command line window. An experienced UNIX/Linux user shouldn't have to google around for a half an hour just to find out that you can do Alt-F2 or Alt-F3 to get to a command line prompt. It should be right there in the GUI menu system, easy to find and in an obvious place. (And anyway, I haven't seen documented anywhere how one gets _back_ to the XBMC GUI _after_ one has done Alt-F2, which is a also a serious shortcoming. In an xterm sub-shell under X, one typically just types `exit' and that makes the xterm window just disappear so that you can easily and intuitively go back to whatever you were doing before.)
Seriously boys & girls, being perpetually trapped in a maddening maze of twisty little pre-defined GUI options, all different, is most definitely NOT my idea of either a good time OR a good user experience. In fact it is distinctly and thoroughly user-UNfriendly. C'mon now. I can quickly and easily get to a command line _even_ under dd-wrt on my teeny tiny little router! Why should XBMC be _less_ sophisticated and _less_ user friendly than that?
There will ALWAYS be things that an experienced user can do (or fix) if he/she can just get under the hood. Hell! Even Bill Gates & Co. have understood this simple truth well enough to include an easy way to get to a command line prompt in _every_ version of MS Windows ever released. Does XBCM want to be judged as being _less_ sophisticated than the ____ that comes out of Redmond? I doubt it.
2) For me at least, once XBMCbuntu had booted all the way up, it appears to me that it didn't even notice the fact that I had a second USB flash drive plugged in... one with lots of my pictures, movies, and music on it... most of which I wanted to play in XMBMC. As Jerry Seinfeld used to say ``What's up with that??'' And also, there was no obvious way, via the GUI, to induce XBMCbuntu to become aware of the presence of the 2nd USB flash drive. (This is another example of a situation in which having ready access to a command line prompt might have helped enormously.)
3) So, I could not get to play stuff from the 2nd USB flash drive, but there's always the network, right? All of my content is sitting over on the computer in my den (which is exporting it all as a single Windoze share). Surely, XBMCbuntu, running on my wireless-enabled laptop in the living room, ought to be able to easily suck that content from the den to the living room, right? Well, apparently not.
Ideally on any machine that has one or more built-in or currently accessible wireless adapters... at least the ones that Linux knows how to drive anyway... when XBMC first comes up, it really should ask the user, for each one of the wireless adapters present, if he, the user, wants to connect each of those wireless adapters to anything in particular. THAT would be user-friendly.
But not only is there no apparent or obvious ``user friendly'' way to connect, wirelessly, to all of my content. That alone would be bad enough! But the really annoying part is that on boot up, XBMCbuntu never even bothered to ask me if I wanted to do so!
So, um, lemme see... I can't access the content on the 2nd USB flash drive, and try as I might, I cannot induce XBMCbuntu to list for me any of the available local wireless access points (as even my brain-damaged LG BD670 Blu-Ray player will do), let alone allowing me to connect to any of them. Swell. So now I have this terrific media player (XBMCbuntu) and essentially no way to get any actual media into it. (Yes, yes, I know that I _could_ actually install XBMCbuntu on the laptop hard drive, and THEN I might be able to get it to see just *one* USB drive with content on it, and likewise, if I futzed around long enough, e.g. telnet'ing or ssh'ing in on a hardwired line, I could maybe even eventually get the wireless to work. But that's not the point. The point is that even my dumb old LG Blu-Ray player makes all this exact same stuff... loccal USB drive access and wireless network connectivity... simple as pie, and easily accessible through its GUI. XBMC should too.)
These and other things are things I'd like to fix, if I can manage to get that far.
My sincere apologies if I have offended anyone with my comments. I actually very much like what I have seen of XBMC so far, notwithstanding the various problems I have encountered. And of course, the bad thing about my LG Blu-Ray player (which I have compared XBMC to above) is that whenever *it* has a bug (or ``non-feature'') there isn't a damn thing that *I* can do about it, except to bitch to LG and hope that someday they may fix it. But with XBMC, if there's something bothering me about it, then at least maybe I can roll up my sleeves and fix it myself (and contribute the fix back to the community). And that, of course, makes all the difference.