After posting in the RSX access thread, I had some thoughts that I decided to collect.
I really should open this with the disclaimer that I haven't coded for the Cell BE or the PS3. Instead of apologizing for this personal deficiency on the Cell programming board, I'd like to explain why it's so.
Like everyone else here, I was excited about the potential for Linux on the PS3. There was quite a lot of sound and fury about an astoundingly powerful open platform-within-a-platform that would foster a homebrew revolution under Sony's latent laissez-faire stewardship.
There's laissez-faire and then there's simply NOT CARING. Sony actually managed to go beyond even abandonment and only seems to step in when it looks like Linux programmers are starting to make progress in getting around their limitations, and then only in order to topple them down again. I have never seen a company so outrightly hostile toward its own users, especially for a touted feature. Every rare Sony-branded action of note since launch on this front has been to treat its PS3 Linux coders as the enemy; with this kind of Sisyphean relationship to look forward to, is it really any wonder that the platform is stagnant?
Contrasting with this anti-support, there was the significant initial push for Cell development from IBM (whose contributions here were incredible) et al., but even that has dried up now. All that's left behind is a monotonous trickle of H.264 decoders and academic-interest-only physics simulations or number crunchers. Headline-worthy achievements have been undertaken with clusters of PS3s (pictures of which always churn my stomach at the sheer amount of superfluous, totally wasted hardware in each racked box), but these have absolutely zero practical impact on the home user with a scant single console. The unvaried, unsurprising, and frankly nigh-uninteresting nature of these reports has only cemented the perception of Cell as an accelerator of mundanities and a poor performer at everything else.
Consider this: PS2 programming seems to me, even all these years later, attractively arcane. Using the Linux kit, you could drill down to the metal and play with a unique architecture at a level few others ever see. I don't have any clearly explainable rational basis at this moment for the following statement, but it is my honest gut reaction: the idea of porting a piece of software to run well on the PS2 seems like a CHALLENGE. Doing the same for the PS3 seems like a CHORE. It's almost like a variation on the uncanny valley theory (which is personally ironic): the further a platform gets from a highly specialized widget and the closer it approaches a generalized PC in terms of capabilities, the more frustratingly blatant the arbitrary limitations become. For instance, I have my own windowshopped issues with the XNA platform, but you have to give them this: at least Microsoft granted you access to the DAMNED GRAPHICS.
It's like the Amiga never existed, and the lessons gleaned from it and its community never learned. VISUALS MATTER. Visuals matter, and for fuck's sake they matter a hell of a lot more on a device whose raison d'être IS visuals. I've expressed before how utterly unappealing it is to me to either write or use an SPU-based renderer when an infinitely more capable processor is actually present, but locked away. It's ridiculous. It's like watching a recent episode of the Simpsons: an activity that leaves you feeling robbed of a portion of your life with absolutely nothing gained in return. Without an immediately viscerally appealing aspect to programming, the platform is simply poisoned to a large number of talented hobbyist coders who have better and more interesting things to do with their time. Without this central kernel to grow around, the platform never gathers enough mass to draw in many of those who could contribute to other aspects of the experience. Sony has now left the PS3 in the homebrew doldrums for so long that I can't imagine it ever escaping.
This is probably a predictable point to bring up these days, but just look at the meteoric success of the iPhone SDK and App Store. Granted, the comparison isn't perfect in the details of each program; the iPhone SDK is probably more closely analogous to XNA than full-blown OS support, but the broad goal of all of these endeavors is the exact same: to draw upon the strength of the community to provide value to the package. Both the iPhone and Cell have free, high-quality SDKs available for OSX and Fedora respectively. The devices even launched at the same price point. So why is PS3 Linux languishing more than two years later while the App Store is celebrating 500 million downloaded applications six months after launch? Why, when I decided to code recreationally, did I buy an iPod touch with a developer membership and not even consider the PS3 until this very post? Maybe these are fallacious questions. I certainly haven't pondered the details much yet, and it can be said that the aims of the companies are different from each other and orthogonal to my answers. But I will say that the fact that the iPhone exposes its GPU, even one as underpowered as its own, factored into my interest. A Cell-based software renderer would run circles around this MBX Lite, and yet I feel infinitely more satisfied programming this weaker device to its full potential than I would using someone's SPU rasterizer workaround.
I suppose I should have a concluding paragraph, but I've run out of steam.
I really should open this with the disclaimer that I haven't coded for the Cell BE or the PS3. Instead of apologizing for this personal deficiency on the Cell programming board, I'd like to explain why it's so.
Like everyone else here, I was excited about the potential for Linux on the PS3. There was quite a lot of sound and fury about an astoundingly powerful open platform-within-a-platform that would foster a homebrew revolution under Sony's latent laissez-faire stewardship.
There's laissez-faire and then there's simply NOT CARING. Sony actually managed to go beyond even abandonment and only seems to step in when it looks like Linux programmers are starting to make progress in getting around their limitations, and then only in order to topple them down again. I have never seen a company so outrightly hostile toward its own users, especially for a touted feature. Every rare Sony-branded action of note since launch on this front has been to treat its PS3 Linux coders as the enemy; with this kind of Sisyphean relationship to look forward to, is it really any wonder that the platform is stagnant?
Contrasting with this anti-support, there was the significant initial push for Cell development from IBM (whose contributions here were incredible) et al., but even that has dried up now. All that's left behind is a monotonous trickle of H.264 decoders and academic-interest-only physics simulations or number crunchers. Headline-worthy achievements have been undertaken with clusters of PS3s (pictures of which always churn my stomach at the sheer amount of superfluous, totally wasted hardware in each racked box), but these have absolutely zero practical impact on the home user with a scant single console. The unvaried, unsurprising, and frankly nigh-uninteresting nature of these reports has only cemented the perception of Cell as an accelerator of mundanities and a poor performer at everything else.
Consider this: PS2 programming seems to me, even all these years later, attractively arcane. Using the Linux kit, you could drill down to the metal and play with a unique architecture at a level few others ever see. I don't have any clearly explainable rational basis at this moment for the following statement, but it is my honest gut reaction: the idea of porting a piece of software to run well on the PS2 seems like a CHALLENGE. Doing the same for the PS3 seems like a CHORE. It's almost like a variation on the uncanny valley theory (which is personally ironic): the further a platform gets from a highly specialized widget and the closer it approaches a generalized PC in terms of capabilities, the more frustratingly blatant the arbitrary limitations become. For instance, I have my own windowshopped issues with the XNA platform, but you have to give them this: at least Microsoft granted you access to the DAMNED GRAPHICS.
It's like the Amiga never existed, and the lessons gleaned from it and its community never learned. VISUALS MATTER. Visuals matter, and for fuck's sake they matter a hell of a lot more on a device whose raison d'être IS visuals. I've expressed before how utterly unappealing it is to me to either write or use an SPU-based renderer when an infinitely more capable processor is actually present, but locked away. It's ridiculous. It's like watching a recent episode of the Simpsons: an activity that leaves you feeling robbed of a portion of your life with absolutely nothing gained in return. Without an immediately viscerally appealing aspect to programming, the platform is simply poisoned to a large number of talented hobbyist coders who have better and more interesting things to do with their time. Without this central kernel to grow around, the platform never gathers enough mass to draw in many of those who could contribute to other aspects of the experience. Sony has now left the PS3 in the homebrew doldrums for so long that I can't imagine it ever escaping.
This is probably a predictable point to bring up these days, but just look at the meteoric success of the iPhone SDK and App Store. Granted, the comparison isn't perfect in the details of each program; the iPhone SDK is probably more closely analogous to XNA than full-blown OS support, but the broad goal of all of these endeavors is the exact same: to draw upon the strength of the community to provide value to the package. Both the iPhone and Cell have free, high-quality SDKs available for OSX and Fedora respectively. The devices even launched at the same price point. So why is PS3 Linux languishing more than two years later while the App Store is celebrating 500 million downloaded applications six months after launch? Why, when I decided to code recreationally, did I buy an iPod touch with a developer membership and not even consider the PS3 until this very post? Maybe these are fallacious questions. I certainly haven't pondered the details much yet, and it can be said that the aims of the companies are different from each other and orthogonal to my answers. But I will say that the fact that the iPhone exposes its GPU, even one as underpowered as its own, factored into my interest. A Cell-based software renderer would run circles around this MBX Lite, and yet I feel infinitely more satisfied programming this weaker device to its full potential than I would using someone's SPU rasterizer workaround.
I suppose I should have a concluding paragraph, but I've run out of steam.