Português/Inglês
Traduções desatualizadas: Español/Français/Deutsch
FAQ - Perguntas Frequentes
Respostas aos problemas do Nouveau estão agora em um página própria: TroubleShooting
Contents
-
Questões Gerais
- Eu quero doar para projeto de vocês...
- E aquela promessa no PledgeBank?
- Quando podemos esperar um driver funcionando ?
- Qual é o estado atual do driver?
- Eu que ajudar! O que eu posso fazer?
- Qual a maneira fácil de se tornar um desenvolvedor?
- Como eu rodo o REnouveau e submeto os resultados?
- Vocês têm algum apoio da NVidia?
- Por que vocês estão fazendo isso?
- Doações de Hardware
-
Questões técnicas
- Como vocês descobriram como as placas da NVidia funcionam, então?
- Por que vocês não desmontam o driver proprietário, simplesmente?
- Então, vá para um país onde não é ilegal e produza especificações!
- Vocês suportam sistemas dual-head / Randr 1.2?
- Quais as placas que vocês estão tentando suportar?
- Minha placa funciona com o Nouveau?
- Que versão do Xorg eu preciso?
- Que sistemas vocês suportam?
- Hibernação é suportada?
- Vocês vão suportar o PS3 linux?
- Suportarão Xv?
- Suportarão XvMC (hardware accelerated video decoding)?
- Glxgears funciona! Mas você disse que não tem 3D?
- Como eu instalo o driver 3D?
- Problemas com o Renouveau
- Questões Legais
1. Questões Gerais
1.1. Eu quero doar para projeto de vocês...
Você pode nos ajudar doando seu tempo. Documentação, página web, engenharia reversa ou codificação: todas as vagas abertas. No momento, não aceitamos dinheiro. Mas aceitamos hardware (especialmente placas NVIDIA mais recentes que são necessárias para melhorar o suporte para elas): ver abaixo.
1.2. E aquela promessa no PledgeBank?
Essa promessa foi criada sem o nosso conhecimento e não foi iniciada por nós. Quando ouvimos falar dela, nós honestamente não esperavamos que tivesse sucesso. Bem, parece que estávamos errados. Atualmente (10.01.2007) o iniciador da promessa está trabalhando nos detalhes de pagamento e nos avisará como deveremos proceder. Por favor, dê uma olhada na página dele e de seu blog pessoal para as últimas informações sobre isso.
Atualização de 6 de dezembro de 2008: Ainda não deu certo, porque não conseguimos encontrar uma empresa disposta a tomar conta da transferência de dinheiro. Devido a questões fiscais e jurídicas, não vale a pena os custos para aceitar o dinheiro sem uma organização adequada para a manipulação da papelada.
1.3. Quando podemos esperar um driver funcionando ?
Realmente não é fácil prever datas, pedras no caminho podem aparecer a qualquer momento. Muito poucos, geralmente nenhum, dos desenvolvedores são pagos para trabalhar no Nouveau, assim o progresso depende do tempo livre e interesses deles.
1.4. Qual é o estado atual do driver?
Veja a primeira página.
1.5. Eu que ajudar! O que eu posso fazer?
A coisa mais útil é tornar-se um colaborador! Precisamos de mais desenvolvedores. Praticamente nada diz "eu amo vocês, desenvolvedores" melhor do que enviar um patch legal e limpo que corrige um problema real. Caso contrário, a coisa mais fácil é provavelmente ajudar com testes e engenharia reversa. Veja a primeira página.
1.6. Qual a maneira fácil de se tornar um desenvolvedor?
Primeiro você deve ter alguns conhecimentos de programação em linguagem C. Isso é praticamente o único requisito, todo o resto você pode aprender no caminho. Saber algo sobre os elementos gráficos ou de hardware é uma grande vantagem.
Os desenvolvedores geralmente começam encontrando algo que você acha que deveria ser consertado, no driver ou nas ferramentas de engenharia reversa. Quando você encontrar essa coisa, pergunte às pessoas sobre o assunto, leia o código correspondente, e descubra as coisas. Uma boa maneira de encontrar sua própria coceira de desenvolvedor é apenas começando a usar o Nouveau, ficar no canal de IRC, e talvez inscrever-se em algumas listas de discussão. Quando você encontrar uma coceira boa, você tem que coçar — isto é o que impulsiona o desenvolvimento. E, quando você coça, geralmente a coceira se espalha
Nosso curso introdutório é uma boa leitura em primeiro lugar.
1.7. Como eu rodo o REnouveau e submeto os resultados?
Veja REnouveauDumps.
1.8. Vocês têm algum apoio da NVidia?
Não, não temos nenhum apoio da NVidia, nem especificações, documentações ou código fonte. Nós começamos nosso código a partir do driver nv do Xorg.Esse driver está sendo mantido pela NVidia e suporta todas as placas, mas apenas para 2-D e a aceleração 2-D do nv é bem devagar comparada à aceleração do Nouveau. Veja “Como vocês descobriram como as placas da NVidia funcionam, então?”.
1.9. Por que vocês estão fazendo isso?
Nós não temos A resposta, porque cada membro do projeto tem sua própria motivação. Apenas algumas respostas do nosso staff quando essa questão foi levantada:
- Não gostamos de binários blobs
- Queremos devolver para a comunidade de software livre
- Queremos aprender programação de driver
- Sim, nós podemos desenvolver nossos próprios drivers sem contar com o que o pessoal da NVidia possa pensar.
- Suporte para recursos ausentes
- Suporte para sistemas operacionais que não são suportados pela NVidia (qualquer SO baseado no PowerPC por exemplo)
- Só por diversão
- Driver binário continua travando até mesmo em 2D
- Driver "nv" do Xorg devagar (devagar em performance e devagar para conseguir suporte a placas novas)
Então, escolha as razões que você achar importantes; as chances são de que poucos membros concordarão com o que escolher
1.10. Doações de Hardware
Enquanto muitos de nós já possuem hardware suficiente para nos manter ocupados por semana, geralmente estamos interessados em doações de hardware, mesmo de placas antigas. Se você tiver uma placa para doar, por favor escreva para a lista de discussão Nouveau (ver Sobre Nouveau) e conte a placa que você tem. As pessoas envolvidas no desenvolvimento do Nouveau tentarão responder o mais breve possível.
2. Questões técnicas
2.1. Como vocês descobriram como as placas da NVidia funcionam, então?
Basicamente, podemos armazenar o estado do cartão antes e após a execução de um programa OpenGL simplista. Depois disso, nós damos um dif dos estados, a fim de descobrir o que foi enviado para a placa. Consulte a documentação REnouveau para mais informações. Analisamos também como o proprietary kernel driver acessa os registos da placa, interceptando os acessos usando o MmioTrace. Existem também outras ferramentas para vigiar a placa.
2.2. Por que vocês não desmontam o driver proprietário, simplesmente?
Em alguns países, isso seria ilegal, colocando o projeto e seus usuários em risco.
2.3. Então, vá para um país onde não é ilegal e produza especificações!
Ok, a resposta técnica: O projeto Nouveau precisa saber como conduzir o hardware. Podemos descobrir isso sem desmontar o driver proprietário (o blob). Nós não estamos tentando duplicar o desenho do blob, porque existe uma infra-estrutura de processamento existente direto que estamos usando.
O blob tem suas interfaces próprias do kernel, que não são de tal qualidade que eles provavelmente nunca serão parte do kernel mainline — eles são específicos para o blob e não se preocupam com a infra-estrutura DRI / DRM . Temos também o Mesa e o Gallium para fornecer as interfaces OpenGL; o blob tem sua própria versão de tudo. Nós realmente não queremos tentar compreender ou mesmo ver todos os kludges e hacks que possam existir no blob. Desmontar o blob seria um grande esforço e produziria uma grande quantidade de informação inútil, e ainda poderia se tornar um problema jurídico.
Em suma: a desmontagem seria muito mais um problema do que uma solução.
Muitos desenvolvedores já estão em países onde não é francamente ilegal desmontar o blob. No entanto, nenhum dos colaboradores são advogados, por isso preferimos ficar bem longe de quaisquer problemas legais em potencial.
2.4. Vocês suportam sistemas dual-head / Randr 1.2?
Sim, Randr 1.2 é suportado (e não pode ser desabilitado).
2.5. Quais as placas que vocês estão tentando suportar?
Todas começando por NV04. Placas mais antigas podem ter algum suporte quando tudo estiver funcionando e os desenvolvedores tiverem tempo para isso.
2.6. Minha placa funciona com o Nouveau?
A mais provável resposta para sua placa gráfica NVidia particular é: sim para 2D e não para 3D. Você pode achar mais detalhes em Estado Atual na página inicial.
Se você quiser a resposta definitiva, experimente.
2.7. Que versão do Xorg eu preciso?
Pelo menos a versão 1.7 do xorg-server.
2.8. Que sistemas vocês suportam?
Os desenvolvedores estão atualmente trabalhando no Linux, onde o Nouveau roda em AMD64, x86 (único ou vários processadores), e arquiteturas PowerPC; e FreeBSD (veja Nouveau Companion 43). Suporte para outros sabores do BSD devem aparecer eventualmente, mas temos muito poucos desenvolvedores no BSD.
2.9. Hibernação é suportada?
Suspenção para a RAM funciona, e deve suspender para o disco.
2.10. Vocês vão suportar o PS3 linux?
O PS3 tem um chip gráfico NVIDIA da família G70 (chamado RSX), e um projeto foi iniciado para a PS3 especificamente para tirar proveito desse chip. A maneira de usar o chip para 3D foi encontrada em algumas versões do firmware, no entanto a Sony rapidamente a fechou, e parece disposta a fechar qualquer forma de utilizar corretamente o RSX no Linux. Portanto, não aconselhamos comprar um PS3 com o propósito de usar o RSX no Linux.
2.11. Suportarão Xv?
Nós suportamos Xv sim. O Nouveau usa o código do "nv" para suportar Xv, que foi melhorado por ArthurHuillet e oferece dois adaptadores de textura que usam a engine 3D das placas NV30 e NV40. Elas oferecem filtro bicubico bilinear e de alta qualidade.
2.12. Suportarão XvMC (hardware accelerated video decoding)?
XvMC (X-Video Motion Compensation) pode ser suportada um dia, mas isso não é considerado de alta prioridade no momento.
2.13. Glxgears funciona! Mas você disse que não tem 3D?
Sim, glxgears deve funcionar bem. O Mesa consegue renderizar o glxgears e vários outros programas usando software, mas isso é lento. Não há nenhuma aceleração de hardware para usuários finais (veja a página inicial).
2.14. Como eu instalo o driver 3D?
Se você não consegue achar a resposta sozinho, você deve esperar pelo lançamento. Qualquer coisa que faça, não instale o driver 3D no sistema. Isso lhe dá um desktop bastante instável. De novo, veja a página inicial para informação sobre o estado atual.
3. Problemas com o Renouveau
3.1. renouveau não compila: não é possível achar -lXvMCNVIDIA
Isso é geralmente devido a um link simbólico faltando /usr/lib/libXvMCNVIDIA.so. Você pode criá-lo com algo assim:
ln -s /usr/lib/libXvMCNVIDIA.so.1.0.8776 /usr/lib/libXvMCNVIDIA.so
como root. Substitua o nome libXvMCNVIDIA.so.1.0.8776 pela versão que você tem.
3.2. renouveau diz "falha na detecção do dispositivo"
Geralmente isso é devido a uma instalação quebrada do driver nvidia. glxinfo deve reportar
direct rendering: Yes server glx vendor string: NVIDIA Corporation ... client glx vendor string: NVIDIA Corporation ... OpenGL vendor string: NVIDIA Corporation
Senão, tente reinstalar o driver proprietário da nvidia.
3.3. falhas de segmentação do renouveau
Deixe-me adivinhar, você tem uma placa PCI-E e versão do driver nVidia 9xxx. Se for isso, então é um recurso "conhecido". O driver mapeia as áreas de memória dentro e fora e o renouveau perde a trilha. Você pode tentar fazer downgrade para a versão do driver 8xxx. Se você não tem PCI-E e 9xxx, avise-nos.
Seria útil para os desenvolvedores Renouveau se pudesse rodar o renouveau sob gdb. Em vez de rodar renouveau, use o comando gdb ./renouveau e você deve conseguir o prompt do gdb. O comando run e ele deve começar o renouveau e falhar em algum momento, então você deve estar de frente para o prompt do gdb novamente. Use o comando da bt e salvar a saída. Você pode usar, por exemplo, http://rafb.net/paste/ e postar um link para o canal de IRC #nouveau. Finalmente, você pode matar o renouveau com o comando kill e sair do gdb com quit.
3.4. renouveau: Falha ao criar ''probe window''
Você está provavelmente utilizando uma profundidade de cor de 16-bit em seu desktop. Por favor, tente novamente com cores 24-bit. Alguns testes Renouveau requerem o stencil buffer para estarem disponíveis, e ele está somente lá no modo 24-bit de cor (24 bits de profundidade, 8 de stencil).
3.5. renouveau falha no teste do X
Cada teste deve ser independente um do outro. No entanto, existem ainda alguns testes que não restauraram o estado do OpenGL como era antes do início do teste. Por exemplo, temos relatos dizendo que o teste do nv_fragment_program2 falha às vezes se rodar para a lista toda de teste, mas não deixa de funcionar se foi o único teste rodado. A correção adequada é descobrir qual teste funcionou antes da falha, e tentar reescrevê-lo de uma forma mais adequada.
4. Questões Legais
4.1. Vocês violam o EULA da NVidia com o REnouveau?
Não. Nós não tocamos o blob binário da Nvidia, nós apenas observamos o que o driver muda na memória. Todos os dados de configuração que temos estão expostos em alguns arquivos /proc ou /dev. E OpenGL em execução é o principal motivo pelo qual você deve usar o driver. Isso não é violação.
4.2. Que licença o Nouveau usa?
O Nouveau é composto por 3 elementos: DDX (driver 2D), DRI (driver 3D) e DRM (componente do kernel). O DRI e DDX usam a licença MIT, o DRM usa um dual MIT / GPL. Renouveau está sob licença GPL.