Quando a Sony anunciou pela primeira vez que a PlayStation 3 poderia executar Linux originalmente, seguiu-se muita agitação. Inicialmente, era um certo desafio obter Linux instalado originalmente. O instalador suportado executava um script customizado que alterava manualmente um DVD de instalação do Fedora Core 5 ou 6 em um sistema executável com um kernel do PS3 especial. As pessoas colocavam horas e horas de esforço para conseguir que outros sistemas, como Ubuntu, funcionassem. O Yellow Dog Linux da Terrasoft, com um instalador gráfico que era executado no PS3, era o rei do pedaço.
O tempo passou e muita coisa mudou. O Fedora 7 é instalado na instalação padrão do PS3, com as peças mais desafiantes sendo a seleção do driver de armazenamento do PS3, de forma que ele possa localizar o DVD de instalação e lembrar de especificar um modo de vídeo na linha de comando de instalação inicial de forma que seja possível ver o instalador.
Portanto, é possível executar Linux no PS3. É fácil. O problema é que ele não é necessariamente executado bem. Se você selecionou o PS3 como um sistema de desenvolvimento do Cell barato, é um pouco frustrante descobrir que, tendo seguido o procedimento de instalação padrão, possui um sistema que é fornecido com uma centena de megas ou mais de troca em uso no momento em que obtém um prompt de shell.
Obtenha o Fedora 7. (O Fedora 8 provavelmente funciona também, mas eu tinha o Fedora 7 ao meu alcance quando comecei a digitar.) Obviamente, é possível obter melhores resultados de algum modo a partir de uma das distribuições mais sintonizadas de forma natural ou uma das distribuições construídas por perto que são pequenas e eficientes, mas o Fedora 7 tem uma enorme vantagem: ele é suportado pelo SDK de Cell/B.E. (Assim é o RHEL 5.1, mas o Fedora 7 é melhor.)
Eu sou um grande fã de utilizar o Bittorrent para downloads, porque ele ajuda a propagar o carregamento. Isso significa que deve-se deixar seu cliente em execução até ter transferido por upload pelo menos o que transferiu por download; o software livre consiste em cooperação e cooperar com custos de largura da banda é um grande ponto de partida. Levará um tempo para transferir por download a imagem do DVD inteira (consulte Recursos); portanto, enquanto estiver aguardando, aqui está algum plano de fundo sobre o PS3 Linux.
O PlayStation 2 executava Linux também, mas era um pouco difícil. A Sony liberou um kit especial para isso, o que foi executado apenas nos PS2s mais antigos e pesados e foi necessária uma unidade de disco rígido opcional. Não havia nenhum suporte para as últimas unidades (mais comum) "enxutas" de PS2 e o kit rapidamente desapareceu. Mas, fundamentalmente, ele desapareceu porque era na maior parte uma prova de conceito; o sistema não tinha tanta memória e sem ferramentas de compilador especiais, a CPU era apenas um núcleo de MIPS bastante padrão. As unidades de vetor não eram amplamente suportadas ou documentadas fora das ferramentas de proprietário.
Em contrapartida, o PS3 teve suporte para executar Linux desde antes de ser liberado e a Sony disponibilizou amplamente o código e os pacotes de suporte. O CD de "Complementos do Cell" liberado aproximadamente na ativação do sistema incluiu suporte direto para o Fedora 5 e 6, mas também forneceu todos os arquivos necessários para outras distribuições a fim de desenvolver portas do PS3. Como resultado, o Fedora 7 simplesmente funciona no PS3 sem a necessidade de um CD separado, embora ainda seja necessário utilizar os downloads da Sony para instalar o carregador de boot. O CD de software de complemento (consulte Recursos) continua a obter atualizações com as novas versões do kernel.
As especificações de base do PS3 são 256 MB de memória principal, um processador Cell/B.E., com fio ethernet (e 802,11 b/g wireless, em alguns modelos), uma unidade gráfica chamada RSX (com 256 MB de sua própria memória) e uma unidade de disco SATA. Existem também algumas conexões periféricas disponíveis, incluindo portas USB, um leitor de placa em alguns modelos e Bluetooth. No entanto, essa não é a máquina na qual o PS3 Linux é executado.
No PS3, o Linux é executado sob um hypervisor—em essência, o PS3 Linux está sendo executado em uma máquina virtualizada, semelhante a uma máquina virtualizada Xen. O hypervisor fornece acesso controlado e filtrado ao hardware do PS3. Por exemplo, o código Linux não possui nenhum acesso direto ao processador gráfico RSX. Antes, um dispositivo especial é fornecido que permite acesso limitado a ele, possibilitando um buffer de quadro de 2D razoavelmente eficiente.
O hypervisor fornece uma série de traduções. Por exemplo, conforme mencionado, o hypervisor fornece ao Linux um dispositivo de buffer de quadro virtual, o qual o hypervisor então implementa utilizando o núcleo de gráfico RSX. De forma semelhante, o Linux não possui nenhum acesso à unidade de disco rígido SATA. Em vez disso, ele tem acesso a uma unidade SCSI, a qual mapeia somente a região da unidade interna que foi alocada para a partição "Other OS". É simplesmente fisicamente impossível acessar a parte do disco que está sendo utilizada pelo software de jogo PS3.
O hardware de rede é talvez o mais interessante. O PS3 Linux pode acessar a ethernet com fio de gigabit ou 802,11g wireless, mas não ambas ao mesmo tempo. Quando você configura a interface de rede, se especificá-la como uma interface wireless com um SSID. O hypervisor utiliza a wireless; caso contrário, ele utiliza a interface com fio.
Portanto, vamos discutir as especificações aditadas. O PS3 Linux é executado em uma máquina virtual que possui um processador Cell/B.E. com 6 SPEs, cerca de 212 MB de memória principal, uma única interface de rede, um disco SCSI (mais diversos outros discos SCSI se você tiver um leitor de placa), um dispositivo SCSI que pode ser um DVD-ROM, CD-ROM ou possivelmente um leitor Blu-ray e portas USB e Bluetooth funcionais. Gráficos são fornecidos por um dispositivo de buffer de quadro especial, que suporta uma ampla matriz de modos de vídeo (consulte Entendendo os Modos de Vídeo Eletroeletrônico do Consumidor).
Planeje seu Ambiente de Desenvolvimento
Para fazer bom uso de um PS3 para desenvolvimento, primeiro decida o que é preciso como resultado do ambiente de desenvolvimento. Se você estiver confortável abandonando o X inteiramente, isso economizará uma imensa quantidade de memória (o padrão Fedora de executar Gnome não é, talvez, uma das estratégias mais conservadoras de memória). Grande parte dos utilitários de configuração são mais acessíveis através do X, mas podem levar um longo tempo de execução. Eu executei o atualizador de pacotes gráficos sob Gnome e ele levou várias horas. Isso provavelmente ocorre porque o processo tinha uma área de cobertura de memória total de 375 MB, substancialmente mais que a memória física disponível. Ele gastou a maior parte do seu tempo aguardando o disco de troca, trabalhando como o Emacs em um VAX.
A lição aqui é que a memória disponível será nossa maior fraqueza no PS3. Desligue os serviços dos quais não precisa o mais depressa possível. Execute xterm ao invés do gnome-terminal. Se forem necessárias múltiplas janelas, considere executar screen ao invés de múltiplos xterms.
Se você for executar descentralizado, não se preocupe demais com isso. Mas se você deseja executar com um vídeo no qual irá olhar, precisa considerar as opções de exibição. A melhor qualidade se origina da saída HDMI do PS3. Se você tiver um monitor de computador, cabos HDMI a DVI podem ser bem baratos, mas assegure-se de que o seu monitor suporta High-bandwidth Digital Content Protection (HDCP). Caso não suporte, aparecerá uma tela preta ou possivelmente estática em cor chamativa. Se você estiver utilizando um comutador KVM, observe que o comutador também, não apenas o vídeo, deve suportar HDCP! Infelizmente, parece não haver nenhuma maneira de desligar esse "recurso"; simplesmente não é possível obter um sinal não criptografado. Embora isso tenha algum sentido econômico para um dispositivo que reproduz filmes de alta definição, pode ser um pouco frustrante precisar de permissão especial para visualizar seu desktop do X. HDMI/DVI suporta muito bem cada modo de vídeo que o PS3 tem a oferecer, ambos os modos eletroeletrônicos do consumidor, como 720p e os modos do PC, como WXGA.
Se não for possível executar HDCP ou não possui um monitor apto para DVI, sua melhor opção é o vídeo componente. O vídeo componente, mais aceito pelas TVs, mas também por alguns monitores de computador, é muito semelhante ao antigo VGA simples, apenas sai como três conectores RCA, um vermelho, um verde e um azul. O cabo do vídeo componente é um complemento de preço adicional—mas é o mesmo que o cabo do vídeo componente para o PS2, se você tiver um daqueles. O vídeo componente pode suportar, com segurança, vídeos de 720p e 1080i, mas não pode funcionar para 1080p (consulte Entendendo os Modos de Vídeo Eletroeletrônico do Consumidor se você não tiver certeza do que é isso). O vídeo componente oferece a resolução mais alta e melhor claridade que as próximas duas opções.
Se não for possível executar o componente, é possível ter um dispositivo que suporta S-video. S-video suporta 480i, mas divide o sinal em dois canais separados, luminosidade e chroma (isso é "brilho" e "cor"), fornecendo melhor nitidez do que sua opção final, vídeo composto. O vídeo composto é a antiga tomada RCA simples, geralmente de cor amarela, que é compatível com quase tudo. Se for possível evitar o composto, faça isso.
Observe que o instalador Fedora 7 é basicamente inutilizável com qualquer coisa sob 720p, a não ser que você o force no modo de texto. Realmente, se você planeja utilizar o PS3 como um sistema de desenvolvimento, torna-se necessário favorecer modos de resolução mais altos. Sistemas Linux desenvolveram uma afinidade para vídeos maiores e o ambiente de janela do Fedora é simplesmente horrível em um vídeo de baixa resolução. Além disso, os vídeos de resolução mais baixa, especialmente sobre cabos compostos, são muito difíceis de ler, com desfoque horrível.
Meu sistema foi configurado para WXGA (1280x768) sobre DVI e esse é bem aproveitável. São propriedades de desktop suficientes para duas janelas sem sobreposição.
A esta altura o seu DVD do Fedora deve ter sido transferido por download; portanto, a
próxima etapa é instalá-lo. Siga as instruções usuais do PS3 para ter seu disco particionado
(você perde todos os seus dados se fizer isso, portanto, faça backups!) e o loader de boot Other OS
carregado. Quando chegar a hora de introduzir o DVD do Fedora e efetuar boot a partir dele, digite
linux64 text ou linux64 video=720p no prompt
kboot . 720p é o tamanho mínimo do vídeo de instalação
utilizável; se você não tiver o componente ou a saída de DVI funcionando, utilize texto. Inicializar
com as opções padrão resultou no instalador aparentemente congelado com um
logotipo Fedora na tela; de fato, a janela do instalador era maior que a área de
exibição padrão, deixando-me sem nenhuma opção a não ser desligar a máquina e tentar
novamente.
Após isso, vá em frente e obtenha todas as atualizações atuais a partir dos servidores de atualização do Fedora e as instale. Isso levará um bom tempo, assim como a instalação inicial levará. Em ambos os casos, logo que ele é iniciado, vá fazer alguma outra coisa por umas duas horas.
Próximo: Instalando Complementos do PS3
Parte 2 dessa série discute a obtenção dos complementos do PS3 mais recentes instalados e atualizados em seu sistema e algumas das alterações na configuração que é possível fazer para reduzir a área de cobertura da memória básica até você ter um pouco de espaço para respirar.
Aprender
-
Consulte todas
as partes na série Desenvolvimento de Linux no PlayStation 3.
-
"Programando Aplicativos de Alto Desempenho no Processador Cell
BE, Parte 1: Uma Introdução ao Linux no PLAYSTATION 3"
(developerWorks, janeiro de 2007) e "PS3 fab-para-lab, Parte 1: Construção do Equipamento de Laboratório Linux a partir de
um Sony PLAYSTATION 3" (developerWorks, maio de 2007) são os primeiros artigos em outra série do
developerWorks sobre a execução do Linux no PS3.
-
Leia
Guia da Sony para
o Recurso OtherOS,
incluindo o download do instalador.
-
A página da Terra
Soft listando modos de vídeo
é muito útil.
-
O
Linux para
PlayStation 3 da wikipedia é um bom local de início para aprender mais.
-
Na zona Linux do developerWorks,
encontre mais recursos para desenvolvedores Linux e varra nossos
artigos e tutoriais mais
conhecidos.
-
Consulte todas as
dicas de Linux e
tutoriais de Linux no developerWorks.
-
Fique atualizado com eventos técnicos e Webcasts do developerWorks.
Obter produtos e tecnologias
-
O programa Projeto Fedora torna muito
fácil obter DVDs.
-
Obtenha o Kit distro
do PS3 linux (também conhecido como o "CD de complementos") a partir dessa maravilhosa
coleta de coisas interessantes relacionadas ao Cell.
-
No
Cell Broadband Engine
Resource Center no developerWorks, é possível obter a infobomb
Instalando
FC7 no PS3 (SDK 3.0) (Atualizado em 15/01/08)
.
-
Solicite o SEK para Linux, um conjunto de dois DVDs que contém o software de período experimental IBM mais recente para Linux a partir do DB2®, Lotus®, Rational®, Tivoli®e WebSphere®.
-
Com o Software de período experimental IBM, disponível para download diretamente do developerWorks, construa seu próximo projeto de desenvolvimento em Linux.
Discutir
-
Envolva-se com a
comunidade do developerWorks através de blogs, fóruns, podcasts e tópicos da comunidade em nossos
novos espaços do developerWorks.
