Есть ли возможность получить сенсорный экран на моем Voyo VBOOK V3? Я не могу найти никаких драйверов или пакетов для него. В 2-дюймовый ноутбук вошли предустановленные окна 10. Я установил Ubuntu 16.04 LTS, но сенсорный экран не работает.
Отображается запуск калибратора xinput:
Ошибка: не найдено никаких калибровочных устройств.Как это исправить?
Мне это удалось, с большой работой. Возможно, вы также сможете - но, по-видимому, оборудование сильно варьируется между вариантами V3, поэтому ваш пробег может отличаться. Кроме того, я использую Linux Mint, поэтому извиняюсь, если имена файлов слегка отключены. О, и мне не удалось заставить работать мультитач. Итак, со всеми оговорками в стороне, вот что вам нужно знать:
Драйвер уже доступен для вашего ядра - silead - как root, do modprobe silead и проверяет, что он появляется в lsmod. Возможно, это не так, но может случиться, что нет прошивки. Вам понадобится прошивка. Перейдите на страницу https://github.com/onitake/gsl-firmware/issues/37 - в начале обсуждения есть файл с именем firmware.zip - извлеките файл h_firmware.fw. Затем вам нужно создать папку /lib/firmware/silead и скопировать туда этот файл с именем mssl1680.fw - перезагрузить, и все это может волшебным образом работать (хотя и плохо - см. Ниже) - используйте dmesg для отладки. Если нет прогресса, вам может потребоваться рассказать Xorg, что вы используете сенсорный экран silead - убедитесь, что папка /etc/X11/xorg.conf.d/ создана (создайте ее, если нет) и добавьте файл 99-calibration.conf следующим образом: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
Перезагрузка. Если у вас сейчас нет активности сенсорного экрана, я, возможно, забыл о шаге, или у вас может быть другое оборудование. Проверьте /var/log/Xorg.0.log, чтобы узнать, есть ли какие-либо полезные ошибки silead. Если у вас есть успех так далеко, тогда это хорошо. Но вы обнаружите, что покрыта лишь небольшая часть вашего экрана - это то, где приходит калибровка сенсорного экрана, и калибратор xinput был бы большим - если бы он работал.
Если это не так, инструмент, который работает: xcal
https://github.com/reinderien/xcal
Однако, хотя он работает, он не делает ваши изменения постоянными, и хотя это говорит вам калибровочные значения, он не говорит вам, как его использовать. Тем не менее, это простой скрипт python! В начале xcal существует метод, называемый xinput. Я изменил мою версию следующим образом:
def xinput(*args):
print('XINPUT command: ')
print(' '.join(args))
return run(args=('/usr/bin/xinput', *args),
stdout=PIPE, check=True,
universal_newlines=True).stdout
. В следующий раз, когда вы запустите xcal и скажите ему применить изменения, он выкачивает вывод, например:
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,
вам нужно будет добавить некоторые кавычки, но, по сути, это ваша команда 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
Наконец, чтобы заставить ее вставить: я помещаю эту команду в нижнюю моего файла ~/.xinputrc. Возможно, вам придется найти где-то еще, в зависимости от того, нужен ли вам сенсорный экран для экрана входа в систему.
Мне это удалось, с большой работой. Возможно, вы также сможете - но, по-видимому, оборудование сильно варьируется между вариантами V3, поэтому ваш пробег может отличаться. Кроме того, я использую Linux Mint, поэтому извиняюсь, если имена файлов слегка отключены. О, и мне не удалось заставить работать мультитач. Итак, со всеми оговорками в стороне, вот что вам нужно знать:
Драйвер уже доступен для вашего ядра - silead - как root, do modprobe silead и проверяет, что он появляется в lsmod. Возможно, это не так, но может случиться, что нет прошивки. Вам понадобится прошивка. Перейдите на страницу https://github.com/onitake/gsl-firmware/issues/37 - в начале обсуждения есть файл с именем firmware.zip - извлеките файл h_firmware.fw. Затем вам нужно создать папку /lib/firmware/silead и скопировать туда этот файл с именем mssl1680.fw - перезагрузить, и все это может волшебным образом работать (хотя и плохо - см. Ниже) - используйте dmesg для отладки. Если нет прогресса, вам может потребоваться рассказать Xorg, что вы используете сенсорный экран silead - убедитесь, что папка /etc/X11/xorg.conf.d/ создана (создайте ее, если нет) и добавьте файл 99-calibration.conf следующим образом: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
Перезагрузка. Если у вас сейчас нет активности сенсорного экрана, я, возможно, забыл о шаге, или у вас может быть другое оборудование. Проверьте /var/log/Xorg.0.log, чтобы узнать, есть ли какие-либо полезные ошибки silead. Если у вас есть успех так далеко, тогда это хорошо. Но вы обнаружите, что покрыта лишь небольшая часть вашего экрана - это то, где приходит калибровка сенсорного экрана, и калибратор xinput был бы большим - если бы он работал.
Если это не так, инструмент, который работает: xcal
https://github.com/reinderien/xcal
Однако, хотя он работает, он не делает ваши изменения постоянными, и хотя это говорит вам калибровочные значения, он не говорит вам, как его использовать. Тем не менее, это простой скрипт python! В начале xcal существует метод, называемый xinput. Я изменил мою версию следующим образом:
def xinput(*args):
print('XINPUT command: ')
print(' '.join(args))
return run(args=('/usr/bin/xinput', *args),
stdout=PIPE, check=True,
universal_newlines=True).stdout
. В следующий раз, когда вы запустите xcal и скажите ему применить изменения, он выкачивает вывод, например:
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,
вам нужно будет добавить некоторые кавычки, но, по сути, это ваша команда 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
Наконец, чтобы заставить ее вставить: я помещаю эту команду в нижнюю моего файла ~/.xinputrc. Возможно, вам придется найти где-то еще, в зависимости от того, нужен ли вам сенсорный экран для экрана входа в систему.