• 1
  • 10
  • 11
  • 12(current)
  • 13
  • 14
  • 26
XBMC Linux port questions and answers...
Gamester17 Wrote:The nice thing about Apple TV is that unlike the old Xbox (which uses customized chipset and GPU) Apple simply took a standard Mobile Intel Centrino 915PM Express chipset (featuring Intel ICH7 7.1 High Definition Audio) and a standard NVIDIA GeForce Go 7300 GPU (graphic processor chip), making the Apple TV basically just a laptop computer with a proprietary operating-system and without a built-in keyboard/trackpad and display that normally is attached to laptop computer. So we can just use the normal proprietary binary device drivers that NVIDIA provides for Linux, (or we can choose to use the open source drivers if we clike, but I doubt those are as good as the closed source one NVIDIA provides, at least not yet, though I'm not sure what the license sais about distributing the proprietary binary device drivers from NVIDIA on Live CD).

The NVIDIA GeForce Go 7300 GPU also supports NVIDIA's PureVideo™ technology for H.264, WMV, and MPEG-2 Hardware Acceleration, NIVIDIA does unfortunatly not yet provide a Linux library or SDK for accessing that PureVideo API, (nor have I heard of NIVIDIA releasing any specifications or technical documentation for it, so as far as I know no one in the open source community have tried reverse engineering to gain access to it for adding support to it [...]

Hey Gamester, there's a project (like r300) to reverse engineer nVidia's proprietary drivers for all their cards (so they don't bother ppl when they, on schedule, drop support for older cards), called Nouveau. I believe they're working on Xv support and then someone is doing Xvmc support for the Google Summer of Code. Chart on functionality. I believe other distros, like Kororaa, have been forced to stop shipping w/ nVidia drivers due to kernel developers' copyrights and GPL on the kernel.

Intel's open source graphics are working on supporting Xvmc, apprently in the Xorg 7.3 git tree.

ATI's proprietary drivers, well, I'm sure you know the problems with them. Don't even support AIGLX and the reverse engineered drivers don't keep up fast enough because ATI's hardware is buggy.
*wanted to add that they're not "reverse engineering" in the technical sense nVidia's drivers, but watching what they do when renouveau runs opengl on the binary drivers, and then implementing it in Nouveau.
hello.

I just thought that I'd throw in my two cents. I've been using XBMC for a number of years now, and about two months ago, I gave up on ever being able to play 720p H.264 on my XBOX, so I broke down and bought a PC and have been masochistically using mediaportal since. I am so happy to hear that the XBMC team is working on a linux port.

Given all this, I've been thinking about what a future platform for XBMC could be. None of the current game systems are very appropriate for the job, and while I like Apple platforms, and they would probably be a good place to start, I think that running with VIA EPIA would be a better idea.

First and foremost, the EPIA platforms are all about being open source for all of their features, including video acceleration. This is limited to MPEG2 and MPEG4 at the moment, but it would surprise me if they didn't support H.264 and VC-1 at 1080i/p by this time next year.

Secondly, VIA tends to keep their platforms around for a while, new revisions come around all the time, but they tend to be incremental changes that should be easy to adapt to.

Thirdly, the EPIA line is based around the philosophy that low power quiet systems are better. This is important for anyone who is primarily using this as a HTPC solution.

Via already has a very nice HTPC board available in the Mini-ITX that's built for HTPC usage - the EPIA SP:

http://www.via.com.tw/en/products/mainbo...x/epia_sp/

I fully expect that within the year they'll have a version going at 2ghz that has H.264 acceleration on board.

As for the rest of the hardware, I've been thinking that while it's very expensive to get custom motherboards, there are plenty of manufacturers that could build a cheap plastic case with built-in power supply and IR Receiver and bundled remote that they could sell for a profit at $50 or $60. I know that we're nowhere near where we'd need to be in order to start talking to manufacturers. There are plenty in china, and interestingly enough I've got a co-worker that goes to china on a regular basis and deals with these guys.

Lastly, while having a hard drive and optical drive is very sexy, for most of my purposes, I don't need either. It seems to me that once this gets going, it could probably fit on a bootable 512 meg usb flash drive, OS included. This would likely be more than enough for those of us looking for a solution for network streaming.

I hope that this helps when you're making your final decisions on supported platforms, and as an aside, when you're get to that point, I may be able to round up a couple of boards as test platforms, any admin should be able to look up my email address.

Also, it might be worth your whiles to try and get in touch with the EPIA team about what you're doing. They may have some interest in it as well.
I wonder if some of you understand the point I was making. So I want to clarify a few things, once ported to linux this will run on ten thousand hardware configurations, no ifs and or buts. You could load it on red storm, a blade server, 4 year old dell or a brand new custom built machine.

What we are talking about is the hardware configuration that will be recommended and that this site, the developers, and forum users will try to provided -free- support for. Now what many of you are saying is that you only want to provide support for a specific mac. Think about that for a minute. Why would want to avoid supporting the vast majority of your user base? More then half the people that will use this will using it on an AMD or Intel cpu with an ATI, Nvidia, or Intel onboards graphic's and realtek, or sound blaster audio that they may well already have, but you only want to support a pair of Mac's. That just doesn't make sense.


On another note virtualization was mentioned several post back and think this is an excellent tool for this sort of thing.
Jonb2,

I see what you're saying, but I think you need to think about what a daunting task support can be. Of course users are going to be using the software on many different platforms, and I'm sure many developers will be experimenting with multiple different hardware configurations, and by default any bugs found there will probably end up being fixed. The fact remains that there is a need for there to be a core platform for support purposes.

I really don't think you need to worry about it too much. This type of project is likely to attract a lot of help over the next few months, most of whom will be planning to make sure it works on hardware that they personally like.
Exclamation 
Yes this is a long rant but I think you should all read this:

jonb2 Wrote:What we are talking about is the hardware configuration that will be recommended and that this site, the developers, and forum users will try to provided -free- support for. Now what many of you are saying is that you only want to provide support for a specific mac. Think about that for a minute. Why would want to avoid supporting the vast majority of your user base? More then half the people that will use this will using it on an AMD or Intel cpu with an ATI, Nvidia, or Intel onboards graphic's and realtek, or sound blaster audio that they may well already have, but you only want to support a pair of Mac's. That just doesn't make sense.
@jonb2, I too hear what YOU are saying but it seems to ME that YOU are only thinking about this from YOUR point-of-view and thus are really missing OUR point when WE are thinking about this from the average end-user (which includs mom, dad, girlfriend/wife and other non-technocrats); I think that once XBMC for Linux is mature enough then we will not be releasing nor supporting it as a stand-alone application which is be run on any Linux distribution you like, (as a free hobby project we simply do not have the support structure nor time to develop for and support all hardware and Linux distros there us, which is why we will need to limit what we will officially support). We will only be releasing XBMC for Linux as a bundled package together with the supported operating-system as a Live CD type distribution that you will simply be able to load onto a USB-key or CompactFlash module and boot directly on the officially supported hardware platforms without having to worrying about hardware compatibility issues or manual configurations. This way we will then be able to have control over what device-drivers, modules, etc. versions are installed by default and that is what we will develop for and support.

bmfrosty Wrote:I see what you're saying, but I think you need to think about what a daunting task support can be. Of course users are going to be using the software on many different platforms, and I'm sure many developers will be experimenting with multiple different hardware configurations, and by default any bugs found there will probably end up being fixed. The fact remains that there is a need for there to be a core platform for support purposes.
Exactly. Remember that since XBMc is open source, both developers and 'nerdy' end-users will of course still be able to extract or compile that XBMC for Linux application themselves and (try to) run on any Linux distributions they want, or add any device-drivers and modules they like to the Live CD distro and use on any hardware they like (and probably without any major), but they should then understand that Team-XBMC (and this official XBMC Community Forum) will then not help them if they run into problems. However if they discover what they think can be a bug they can get a friend to try to see if they can replicate the issue on one of the hardware platforms that is officially supported by Team-XBMC and get a debug-log from there to submit. This is also why game-consoles (and embedded devices like Apple TV) are as perfect as it gets for reference platforms, the have long life cycles (+5 years), and they are relatively cheap to buy and set-up for the end-users (compared to buying and building a regular computer from several different hardware pieces), since every end-user runs the same hardware which greatly simplifies development, troubleshooting and debugging. Mace is right, simplicity and stability is the holy-grail for 'normal' end-users, (not everyone is a 1337 geek you know, and those who are is a minority, not a majority).

All this goes together with Team-XBMC's internal moto

User-friendliness is next to godlyness
One of Team-XBMC major ongoing goal have always been to make XBMC and its user interface even more intuitive and user-friendly for its end-users, based on the KISS (Keep It Simple Stupid) philosophy. We think that usability is very important for media players like XBMC. Many user interface decisions are being made by developers who often have little experience in user interface design, in order to improve this, we try to listen to XBMC's end-users fro how XBMC is actually being used and how we can improve the user experience. We also aim to do regular overhauls, improving existing features/functions, and scrapping outdated code and features/functions (as "to much stuff" can also be a bad thing).

XBMC as a whole must...
* Be easy to install, set up, and maintain, (so that the end-users do not get fed up with it and quit).
* Have an user interface simple and intuitive enough so that less geek-savvy people are not intimidated by it.
* Make common usage easy, easy the 'Human–Computer Interaction (HCI)', from the viewpoint of an ordinary user.
* Be able to play audio and video files that have been compressed using divx, xvid, etc. directly out-of-the-box
* Be able to and organize audio and video files in an easy and user-friendly way.
* Use standards and be consistant, (the music section can for example not use complly different controls from the video section)
* Preform actions in the GUI with as few 'clicks' as possible
* Require little to none non-GUI configuration (and all such non-GUI config should be via AdvancedSettings.xml)
* There is still a little work to be done here, for example RSS-feeds settings need to moved to the GUI
* Look nice.

Again, the decisions are all still many months away before anything like this can be set in stone.
jonb2 Wrote:On another note virtualization was mentioned several post back and think this is an excellent tool for this sort of thing.
Yes that is a possible future option, however no virtualization solution does yet provide 3D hardware acceleration (OpenGL) which is a minimum requirement we have, though I sure that within a year or two there will be a solution for that as well. Both OpenLina and the Linux VM kernel looks have potential as future sandbox enviroments but none are quite there yet (at least not when it comes to 3D and GPU access).
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
I totally agree with the following.
Quote:User-friendliness is next to godlyness
One of Team-XBMC major ongoing goal have always been to make XBMC and its user interface even more intuitive and user-friendly for its end-users, based on the KISS (Keep It Simple Stupid) philosophy. We think that usability is very important for media players like XBMC. Many user interface decisions are being made by developers who often have little experience in user interface design, in order to improve this, we try to listen to XBMC's end-users fro how XBMC is actually being used and how we can improve the user experience. We also aim to do regular overhauls, improving existing features/functions, and scrapping outdated code and features/functions (as "to much stuff" can also be a bad thing).

XBMC as a whole must...
* Be easy to install, set up, and maintain, (so that the end-users do not get fed up with it and quit).
* Have an user interface simple and intuitive enough so that less geek-savvy people are not intimidated by it.
* Make common usage easy, easy the 'Human–Computer Interaction (HCI)', from the viewpoint of an ordinary user.
* Be able to play audio and video files that have been compressed using divx, xvid, etc. directly out-of-the-box
* Be able to and organize audio and video files in an easy and user-friendly way.
* Use standards and be consistant, (the music section can for example not use complly different controls from the video section)
* Preform actions in the GUI with as few 'clicks' as possible
* Require little to none non-GUI configuration (and all such non-GUI config should be via AdvancedSettings.xml)
* There is still a little work to be done here, for example RSS-feeds settings need to moved to the GUI
* Look nice.
However where we differ is: I think it should be designed do all the above on the most common hardware. You think it should be designed to do it on niche hardware, because it's easier to support 1 unchanging system. I'm not thinking about what I want (in this case, I've previously stated what I want which is unrelated to this) I'm thinking about the best way to support the largest user base with the least trouble.

To me it sounds more like you are trying to create an XBMC Linux Distro rather then port the application to linux, which is not a bad a idea at all, but even that being the case I still don't think you want to limit the support to a single niche system.

As to what I want and imagine in the future I imagine a quadcore system in a large mid-tower case with 1-2GB of ram and HD-Blue-Ray combo drive and 4 terabytes of storage, 2 Digital Tv-tuners, HDMI input and output along with numerous other input-output connections, and of course with an RF-remote and wireless keyboard+mouse. All of which will be the main media server for the gigabit network which allows all the other disk-less networked systems and standard computers can watch anything they want in any room.

Now I don't think that will happen any time soon, but by porting it to linux it is certainly possible.

At any rate I'd be interested to hear what the developers think, because it wasn't that long ago the site ops were adamantly against even talking about porting to linux and yet here we are.
jonb2 Wrote:To me it sounds more like you are trying to create an XBMC Linux Distro rather then port the application to linux, which is not a bad a idea at all, but even that being the case I still don't think you want to limit the support to a single niche system.

A-ha! I think I see where you're coming from, and what you're missing. The developers are doing both. They're porting to Linux and the common APIs available therein. By doing this, the system will work on all linux compatible hardware, at least under X86.

The problem with this, and one of the problems with linux in general, is that linux is not very user-friendly when it comes to program distribution. It's not really set up for binary distribution, and binary packages tend to break when you switch between any of the almost infinite linux distributions. That said, handing end users a tarball full of source code and expecting them to compile it themselves, isn't friendly either.

The solution? The developers develop a minimal linux install in parallel with the port. This gives end users a quick and easy way to set things up, with a standard set of hardware. Really this is a great thing. This should work really well with something like appletv too, since it should be a matter of burning(for the lack of a better term) a usb-stick, plugging it in, and booting up while holding a couple of buttons on the remote. Simple as that. If they go with supporting a specific motherboard (or line of motherboards), it still stays pretty easy for those who are familiar enough with PC hardware to mount a motherboard in a case, past that it's the same thing.

Now the other side of the argument.

There should be no worries. Even though the dev team will not be supporting other hardware configs, others will. See mythtv for examples. There are two distributions out there that I know of off the top of my head - knoppmyth and mythdora - that do this. Mythdora is fairly new, but knoppmyth has been out there for years. There is no need to worry about it working on generalized hardware.

Now a question for the developers:

From everything that I've read, it appears that the Linux port of XBMC will still be calling mplayer as a dll. Is this even necessary? Shouldn't it be possible to run a standard compile of mplayer, and just act as an interface shell? I'd think that this would be very beneficial as every time mplayer gets an update, XBMC-Linux would get the update almost for free without the need for doing a whole bunch of porting work.
bmfrosty Wrote:From everything that I've read, it appears that the Linux port of XBMC will still be calling mplayer as a dll. Is this even necessary? Shouldn't it be possible to run a standard compile of mplayer, and just act as an interface shell? I'd think that this would be very beneficial as every time mplayer gets an update, XBMC-Linux would get the update almost for free without the need for doing a whole bunch of porting work.
If mplayer is called directly, I propose an additional design change when it's converted.

Meedio had a plugin called PlayMee that allowed users to define which program they wanted to launch specific media types. The rules included file extension, library section (movies, tv, games), and a few other things. This meant that you could use mplayer to automatically launch all of your media files, but then launch any files with a .z64 extension in a N64 emulator. .rom files having a "system" tag of "Nintendo" were launched with the Nintendo emulator. Etc.

The benefit of incorporating a system like this is that it's extremely easy to incorporate non-media files (like emulator roms) into the interface. The rules could easily be set up in the AdvancedSettings.xml, just like TV scraper regex's, which means it would be even easier for end users.

An alternate method would be to just add a "LaunchPrograms" section to the AdvancedSettings.xml. A possible example:
Code:
<LaunchPrograms>
  <LaunchProgram>
    <LibrarySection>Nintendo</LibrarySection>
    <CommandLine>/usr/bin/nintendoemu -param1 -param2 </CommandLine>
    <CommandLineSuffix>-param3</CommandLineSuffix>
  </LaunchProgram>
</LaunchPrograms>
When a file is selected in the "Nintendo" library section, it would run:
Code:
/usr/bin/nintendoemu -param1 -param2 <filepath> -param3

Obviously there was no need for something like this on the Xbox, but it opens up a LOT of customization options within linux. Scripts can easily be incorporated by adding:
Code:
<LibrarySection>Scripts</LibrarySection>
  <CommandLine>/usr/bin/python </CommandLine>
</LaunchProgram>
I know it would be a decent amount of work to add this in, but I think it would be an ideal way of launching media.
bmfrosty has already said pretty much what i wanted to say about the specific hardware platforms that will be supported.

jonb2, I just wanted to add that, since this remains a totally free project, we should be really, really grateful that the developers decided to port to Linux and, for the time being, leave it at that.

I was, I believe, among the most vocal supporters of a port to a PC based solution. Now it's time to support the developers because, once more, they have given their users what they asked for. Nitpicking would just result, IMHO, in pissing people off. And now I really don't want that to happen! Smile
Supposing that one would like to buy an HTPC now, to later install Linux XBMC (and in the meantime be able to enjoy HD content), is nVidia the best way to go as far as graphic cards go? I mean, is the most decently supported brand of GPUs under Linux, right?
Thumbs Up 
bmfrosty Wrote:A-ha! I think I see where you're coming from, and what you're missing. The developers are doing both. They're porting to Linux and the common APIs available therein. By doing this, the system will work on all linux compatible hardware, at least under X86.

The problem with this, and one of the problems with linux in general, is that linux is not very user-friendly when it comes to program distribution. It's not really set up for binary distribution, and binary packages tend to break when you switch between any of the almost infinite linux distributions. That said, handing end users a tarball full of source code and expecting them to compile it themselves, isn't friendly either.

The solution? The developers develop a minimal linux install in parallel with the port. This gives end users a quick and easy way to set things up, with a standard set of hardware. Really this is a great thing. This should work really well with something like appletv too, since it should be a matter of burning(for the lack of a better term) a usb-stick, plugging it in, and booting up while holding a couple of buttons on the remote. Simple as that. If they go with supporting a specific motherboard (or line of motherboards), it still stays pretty easy for those who are familiar enough with PC hardware to mount a motherboard in a case, past that it's the same thing.
That is it exacly, spot on Big Grin
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.
go for intel

intel is the only company opening their hw - and hence they deserve all our support
jonb2 Wrote:No your missing the point. The same linux that ran on a 386 back in 1995 will run on a brand new just built last week from not yet released reference design new hardware pc..

Im sorry but you dont have a clue, do you know how many times HP 'updates' their motherboards without even changing the naming of the pc? suddenly a certain model of SFF from HP contained s-ata chipsets, making our ghost program go nuts. We have about 300 of these at work, i have sofar found 12 different models with different errors and bugs with the SAME linux ghost. Everything from GPU to HDD chip being fubar. Dell upgrades their products each 9-12 months (3 month overlaps so that companies can get used to new on). You wanna make sure that each dev has its own version of the new Dell AND Hp machine so that they can troubleshoot each new case of "this chipset was 0.99$ cheeper, lets swap to that one in the middle of the production...
spiff Wrote:go for intel

intel is the only company opening their hw - and hence they deserve all our support

Was there a press release or something?

Also - news on the apple front:

http://www.macrumors.com/2007/05/30/appl...v-for-399/

Apple seems to be releasing a 160gb AppleTV. I wonder if they'll make any other hardware changes.
  • 1
  • 10
  • 11
  • 12(current)
  • 13
  • 14
  • 26

Logout Mark Read Team Forum Stats Members Help
XBMC Linux port questions and answers...7