Para aplicar um patch, você precisará de um sistema de controle de versão para obter o código-fonte original e, em seguida, precisará localizar o branch com o código-fonte alterado e terá que mesclar
eles.
Você também pode mesclá-los manualmente (copiar e colar diretamente de segmentos de código em sua cópia de todo o código-fonte). Isso seria mais fácil para você fazer.
Depois disso você terá que instalar um compilador (no seu caso) e construir o x11.
Então você precisará reinstalá-lo usando o binário recém-gerado.
Como você pode ver, este é um procedimento complexo que também precisará ser refeito depois que a árvore de origem principal for atualizada (se você quiser atualizações de curso).
No geral, tente o PPA instável sugerido acima ou faça downgrade para o Ubuntu 11.10
Seu problema foi mostrado na versão do X11 do Ubuntu 12.04 (mais especificamente, XInput)
X11 é um componente muito importante para o seu sistema operacional e medling com isso não é uma boa idéia.
Você foi avisado. Se você realmente precisa fazer isso, continue lendo.
Estes são os passos (em comandos) necessários para corrigir alguma coisa.
Eles não são uma resposta direta à sua pergunta.
Digamos que o X11 usa o git VCS
Primeiro precisamos instalar o git
sudo apt-get install git git-core
Então precisamos instalar o compilador
sudo apt-get install build-essential
Em seguida, precisamos obter a árvore de fontes (supondo que git.freedesktop.x11.git exista)
git clone git.freedesktop.x11.git
Isso pode demorar um pouco, então jogue alguns jogos sem vinho até que termine
Quando terminar, vá para o diretório x11
cd x11
Executar:
./configure
Este script irá reclamar se algo estiver faltando.
Instale esse pacote / esses pacotes usando synaptic ou sudo apt-get package-name
Agora execute (numberOfCores é o número de núcleos em seu processador):
make -j(numberOfCores * 2)
Isso também pode demorar um pouco.
Quando terminar, execute:
sudo make install
Agora você tem uma versão personalizada do x11 instalada.
Agora que temos certeza de que tudo está bem, podemos consertá-lo.
Existem algumas maneiras de fazer isso:
Primeiro: git pull guyWhoFixed11 x11fixed && git merge x11fixed master && make && sudo make install
Segundo:
Encontre o arquivo que precisa ser consertado (X11Mouse.c por exemplo) e substitua o conteúdo da função grab_mouse pelo conteúdo do seu link.
Então: make && sudo make install
Como eu disse, este é apenas um procedimento geral para correção e não se aplica 100% diretamente à sua pergunta.
git am --signoff < x11fixed.patch
também pode funcionar na parte de correção.