Eu consegui, com muito trabalho. Você pode ser capaz também - mas aparentemente o hardware varia consideravelmente entre variantes da V3, então sua milhagem pode variar. Além disso, estou usando o Linux Mint, então peço desculpas se os nomes dos arquivos estiverem um pouco fora. Ah, e não consegui fazer o multitouch funcionar. Então, com todas as advertências fora do caminho, aqui está o que você precisa saber:
- O driver já está disponível para seu kernel - silead - como root, faça
modprobe silead
e verifique se ele aparece em lsmod. Pode não ser, mas pode falhar silenciosamente porque não há firmware. - Você precisará de firmware. Vá para link - há um arquivo no início dessa discussão chamado firmware.zip - extraia o arquivo% código%. Você então precisa criar uma pasta
h_firmware.fw
e copiar esse arquivo lá, com o nome/lib/firmware/silead
- reboot, e tudo pode funcionar magicamente (embora mal - veja abaixo) - usemssl1680.fw
para depurar. -
Se não houver progresso, talvez seja necessário informar ao Xorg que você está usando uma tela sensível ao toque - verifique se a pasta
dmesg
foi criada (crie-a se não) e adicione o arquivo/etc/X11/xorg.conf.d/
da seguinte forma:Section "InputClass" Identifier "calibration" MatchProduct "silead_ts" Option "Device" "/dev/input/event14" Option "MinX" "31405" Option "MaxX" "-20" Option "MinY" "23984" Option "MaxY" "76" Option "SwapXY" "0" # unless it was already set to 1 Option "InvertX" "0" # unless it was already set Option "InvertY" "0" # unless it was already set EndSection
-
Reinicie. Se você não tiver agora alguma atividade de tela sensível ao toque, talvez eu tenha esquecido uma etapa ou você tenha um hardware diferente. Verifique /var/log/Xorg.0.log para ver se há algum erro útil.
Se você tem sucesso até agora, então isso é bom. Mas você descobrirá que apenas uma pequena parte da sua tela está coberta - é aqui que entra a calibração da tela de toque, e o calibrador de entrada de x seria ótimo - se funcionasse.
Se isso não acontecer, existe uma ferramenta que funciona: xcal
No entanto, embora funcione, ele não torna suas alterações permanentes e, embora informe os valores de calibragem, ele não informa como usá-lo. No entanto, é um script simples de python! Perto do começo do xcal há um método chamado xinput - modifiquei o meu da seguinte forma:
def xinput(*args):
print('XINPUT command: ')
print(' '.join(args))
return run(args=('/usr/bin/xinput', *args),
stdout=PIPE, check=True,
universal_newlines=True).stdout
Da próxima vez que você rodar o xcal, e dizer para ele aplicar mudanças, ele irá gerar uma saída como:
XINPUT command:
--set-prop 14 libinput Calibration Matrix -2.0955599326947874, 0.006377553411765824, 1.002925809292515, -0.005228040857399382, -2.708875418324387, 1.0022455037336648, 0.0, 0.0, 1.0,
você precisará adicionar algumas citações, mas essencialmente, esse é o seu comando xinput:
xinput --set-prop 14 libinput Calibration Matrix -2.0955599326947874, 0.006377553411765824, 1.002925809292515, -0.005228040857399382, -2.708875418324387, 1.0022455037336648, 0.0, 0.0, 1.0
Por último, para fazer isso: coloco esse comando na parte inferior do meu arquivo 99-calibration.conf
. Talvez seja necessário encontrar outro lugar, dependendo se você precisa de uma tela sensível ao toque para sua tela de login.