No Ubuntu, o X é uma das partes mais críticas da pilha. Como tal, recebemos MUITAS perguntas e relatórios de erros, provavelmente cerca de 100 vezes mais do que temos mão de obra para lidar.
A Canonical está contratando engenheiros adicionais para trabalhar no X, o que ajudará, mas ainda existem muitas coisas que estão fora do escopo do que a Canonical pode fazer, então eu sinto que é realmente importante ter uma comunidade forte envolvida na melhoria do X no Ubuntu, particularmente em torno de obter todas essas quantidades maciças de relatórios de bugs respondidos, triados e (espero) resolvidos.
No entanto, é difícil encontrar pessoas para trabalhar no X ou convencer as pessoas de que vale a pena investir seu tempo nele. Como você sugeriria incentivar as pessoas a se envolverem, que de outra forma não estariam pensando em trabalhar no X?
Respostas:
Bem, como tudo isso está tornando fácil e acessível as pessoas descobrirem sobre isso. Então, pelo que me lembro originalmente da triagem de bugs, não havia muita ajuda vinda da comunidade. Então, quando algumas páginas wiki explicando os processos regulares de triagem de bugs e alguns dias de bugs envolveram muito mais membros da comunidade. Além disso, se você puder iniciar uma atividade regular para a comunidade e oferecer ajuda àqueles que a experimentarem, terá algum interesse.
Se precisar de ajuda com a atividade, envie-me um e-mail e ajudarei na organização.
Portanto, minha resposta é criar uma página wiki com perguntas e comandos para obter boas informações de triagem de bugs para envolver as pessoas nisso.
Para o desenvolvimento é um grande problema. O material Xorg e Kernel requerem habilidades de programação de baixo nível para a maioria dos recursos de correção e implementação de erros. Então você precisa direcionar um grupo específico de programadores e interessá-los. Eu não tenho nenhuma sugestão aqui, exceto perguntar um pouco e ver quem fica no # ubuntu-x e perguntar se eles podem ajudar.
fonte
O motivo pelo qual o X não recebe muito trabalho é que ele requer uma enorme quantidade de conhecimento sobre como as GPUs, a memória etc. funcionam, além de familiaridade com a base de código do X.org e, até certo ponto, com a programação do kernel. Não é algo trivial entrar e de uma perspectiva da comunidade aqueles que estão interessados em trabalhar com drivers X ou X provavelmente já o estão fazendo. Atualmente, não há motivação para um desenvolvedor trabalhar no Xorg, além do interesse pessoal.
O que a comunidade possui e que os desenvolvedores do X.org não necessariamente têm é o acesso a uma ampla variedade de hardware. Ter pessoas dispostas a dedicar tempo a escrever 'bons' relatórios de erros e testar drivers e partes da pilha do Xorg antes do lançamento provavelmente ajudará os engenheiros mais do que qualquer coisa.
Atualmente, existe um repositório de editores Xorg que eu uso para testar drivers no meu sistema estável. É muito fácil reverter um único pacote depois de concluir o teste. No entanto, a única outra maneira de testar é construir o X você mesmo ou instalar o repositório edgers que é criado a partir do upstream. Isso faz uma substituição X por atacado, tanto quanto eu posso dizer. Isso significa que é uma abordagem tudo ou nada para testar o X.
Ter uma maneira de ter duas versões do X (e escolher com facilidade) qual você deseja usar permitiria que os testadores não testassem apenas o X, mas subseqüentemente retornassem ao Xorg em funcionamento para que pudessem enviar o relatório de erro.
fonte
Falando como desenvolvedor casualmente interessado em X, eis meus problemas:
Eu só tenho acesso a um punhado de placas gráficas e suspeito que a maioria das pessoas só tenha acesso a uma. Portanto, não posso fazer muito pela grande maioria dos bugs, que sempre estarão em "alguma outra placa".
Diferentemente da maioria dos pacotes, não posso criar trivialmente um ambiente de teste para uma nova versão de driver; máquinas virtuais têm seus próprios drivers X.
Não consigo atualizar facilmente para o driver mais recente, testá-lo e depois reverter. Isso desencoraja a experimentação (porque se algo der errado, eu também poderia estar empedrada); também dificulta o teste de regressão.
Da última vez que olhei, aplicar com êxito um patch, foi difícil fazer a compilação e execução do X, pisei em todo o gerenciador de pacotes, exigi que os módulos do kernel também fossem corrigidos e era praticamente uma etapa irreversível.
Atualmente, os drivers X dividem seu código entre os drivers do kernel, Mesa, udev (para configurações e padrões) e do usuário. O que significa que os patches também são divididos ...
Portanto, acho que a resposta é tornar a aplicação e a reversão de alterações algo que é tratado pelo gerenciador de pacotes e fácil de recuperar quando ele quebra o sistema.
Além disso, um sistema como o DKMS deve ser procurado por drivers X; se eu pudesse consertar / compilar / testar / desinstalar facilmente, digamos, o driver de entrada da minha tela sensível ao toque sem precisar reconstruir toda a engenhoca monolítica (com a ameaça de tornar o X completamente inutilizável), você obteria uma contribuição mais casual e me motivaria a observe erros de triagem e teste de patches relacionados a esse pouco de hardware.
fonte
Para complementar o que jbowtie disse, eu acrescentaria que, como triager de bugs, acho X bugs muito difíceis de lidar, simplesmente porque X é uma besta muito complexa. Isso se reflete na complexidade da página wiki de solução de problemas . O que definitivamente ajudaria é um tipo de programa de orientação para os membros do BugSquad aprenderem a lidar melhor com os erros do X. Talvez um dia de abraço de inseto em torno dele? Ou uma sessão de treinamento prático na # ubuntu-classroom?
fonte
É difícil melhorar o X.org quando muitos usuários usam drivers proprietários que substituem partes da pilha de gráficos e consultam a equipe do X.org quando uma atualização do kernel / atualização do X.org interrompe a instalação do driver.
Muita conversa sobre "Não tenho todos os cartões disponíveis" também é válida.
A programação gráfica é bastante difícil se você não é um bom programador. A depuração pode ser uma verdadeira dor, especialmente se você não consegue ver o que está acontecendo.
fonte