Меню

Частота опроса мыши linux

[РЕШЕНО] USB и частота опроса

#1 — 27 августа 2014 в 14:39

Всем привет. Прошу помоч разобратса с игровой мышкой а точнее с подключением USB и смена частота опроса (Pilling Rate).
Производитель Китай , бренд Turbo-X греческий (я живу в греций)
копия 100% Aula Emperor Hate. Производитель пишет USB 2.0 но ОС мне пишет USB 1.1
KinfoCenter :
Производитель: BTL
Класс 0 ((Defined at Interface level))
Подкласс 0
Протокол 0
Версия USB1.01
ID производителя0x1ea7
ID продукта0x1005
Версия0.00
Скорость12 Mбит/с
Каналы0
Макс. размер пакета8
————————————-
lsusb:

Bus 002 Device 002: ID 18ec:3399 Arkmicro Technologies Inc.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 1ea7:1005
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0bb4:0c03 HTC (High Tech Computer Corp.)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
——————————————————
частота опроса — polling rate:
делаю как сдесь для смены частота опроса и ставлю 1
http://www.urbanterror.info/forums/topic/21844-howto-changing-mouse-polling-r.

потом проверяю частоту опроса :
cat /sys/module/usbhid/parameters/mousepoll
0
но оно стоит на дефолте «0» не меняетса и на пастой ошибка»:
————————————————————————————
Документ не может быть сохранён, поскольку не удалось записать в /sys/module/usbhid/parameters/mousepoll.

Проверьте права на запись в этот файл и наличие доступного места на диске.
——————————————————————————
открывал с правами СупПол не хочет сохранятса

пробывал. и через nano и sudo su и sudo su- не хочет

напостой эта хрень выскакивает
——————————————————
Документ не может быть сохранён, поскольку не удалось записать в /sys/module/usbhid/parameters/mousepoll.

Проверьте права на запись в этот файл и наличие доступного места на диске.
—————————————————————
Не могу ни удалить ни переместить /даже krusader-root не помог
при удалений в krusader — Доступ к /sys/module/usbhid/parameters/mousepoll запрещён.
при замене другим фаилом — Ошибка записи файла .Диск переполнен.

Источник

Регулировка скорости мыши

Не могу разобраться как подкрутить скорость мыши. Везде инфа об ускорении и чувствительности, а интересует именно скорость.

Везде инфа об ускорении и чувствительности, а интересует именно скорость

Ну тогда просто води помедленнее или побыстрее

Это даже на вин хп есть, а сколько времени уже прошло.

genius netscroll 110

Чувствительность — это число пикселей, которое проходит указатель на минимальной скорости перед тем, как выйти на нормальную. Для более резкой реакции это число следует уменьшать, и наоборот.

Ускорение — это во сколько раз нормальная скорость указателя выше минимальной. Для более резкой реакции это число следует увеличивать, и наоборот.

Объясняю на пальцах:

у указателя мыши есть минимальная скорость, её невозможно изменить.

Перед тем, как выйти на нормальную, курсор проходит несколько пикселей на минимальной, это сделано для пиксель-хантинга. Регулируется число этих начальных пикселей параметром Чувствительность, чем он больше, тем медленнее курсор выходит на обычную скорость и тем проще нажать на мелкий объект, и наоборот.

Параметр Ускорение определяет, во сколько раз нормальная скорость указателя выше минимальной, чем он больше, тем быстрее курсор движется в нормальном режиме.

Чувствительность — это число пикселей, которое проходит указатель на минимальной скорости перед тем, как выйти на нормальную. Для более резкой реакции это число следует уменьшать, и наоборот.

Ускорение — это во сколько раз нормальная скорость указателя выше минимальной. Для более резкой реакции это число следует увеличивать, и наоборот.

Читайте также:  C windows system32 spool prtprocs x64

Источник

Увеличьте скорость опроса USB на всех устройствах в Linux?

Я просто наткнулся на эту настройку , которая позволяет увеличить частоту опроса usb мышь до 1 кГц. Можно ли добиться такого же увеличения на других USB-устройствах (или на всех USB-устройствах)? Я исследователь в области когнитивной науки, и я провожу эксперименты с использованием клавиатур и игровых приставок (обычно это проводной игровой пульт xbox 360) для ввода человеком, где повышенная частота опроса будет означать лучшую точность измерения времени отклика.

2 ответа

Я не знаю какого-либо общего механизма. Я считаю, что нужно настроить источники ядра или соответствующий драйвер.

В Linux можно установить скорость опроса USB-мыши, и почти все мыши могут работать с опросом 500 Гц. Официальной поддержки нет увеличенная скорость опроса других HID-устройств (и я предполагаю, что I-PAC является стандартным HID-устройством), но с простой модификацией драйверы /usb /input /hid-core.c вы можете увеличить частоту опроса для них. Я опросала свою клавиатуру USB на частоте 250 Гц, и она отлично работает, но я не тестировал другие клавиатуры, и, скорее всего, он не будет работа со всеми устройствами.

Если вы хотите скомпилировать свое собственное ядро, можно изменить модификацию drivers/hid/usbhid/hid-core.c .
У меня была аналогичная проблема: Я хочу изменить частоту опроса моей клавиатуры и планшета, поэтому я уже некоторое время модифицировал свой hid-core.c.

Похоже, что в новых ядрах (4.12 и выше) уже есть параметр usbhid.jspoll, но для клавиатуры еще нет параметров.

С ядрами старше 4.12 я изменил свой hid-core.c следующим образом, заставив mousepoll воздействовать на все устройства, которые он обрабатывает:

И для версий 4.12 и выше я изменил его по-другому, так как я не хотел нарушать рабочий usbhid.jspoll:

Теперь, чтобы получить 1000 Гц (1 мс интервал) опрос на геймпадах и клавиатурах:

if builtin или unsure: add usbhid.mousepoll=1 или usbhid.jspoll=1 usbhid.elsepoll=1 для командной строки ядра и перезагрузки.

if module: write options usbhid mousepoll=1 или options usbhid jspoll=1 elsepoll=1 до /etc/modprobe.d/usbhid.conf

Если вы просто rmmod usbhid;modprobe usbhid после изменения вышеприведенного файла, вам нужно отключить и переустановить USB-устройство, чтобы фактически изменить интервал опроса хотя сообщения ядра, похоже, предлагают иначе .

После перезагрузки или перезагрузки usbhid, чтобы убедиться, что он работает, отключите и снова подключите USB-устройства и запустите dmesg |grep poll
Expect что-то вроде этого на последних нескольких строках:

Устройства здесь 04d9:2013 , 0810:0003 и 056a:030e

Источник

Тюнинг linux для игр

Несколько раз замечал жалобы новых пользователей linux на отзывчивость игр. Говорят, что после продолжительной игры в windows, в линуксе сразу заметны странные задержки системы. В пример ставится задержка между кликом по кнопке выстрела и самим выстрелом, например, это выразительно проявляется с railgun в quakelive. Конечно, время средней реакции игрока на событие (200-220мс) существенно больше выигрыша от какого-либо тюнинга системы, но если можно обратить пару десятков миллисекунд в свою пользу, то почему бы не сделать это? В общем, и сами пользователи windows, увлекшись, ищут способы тюнинговать систему для более приятной игры. Немалую роль играет и сугубо игровой тюнинг переменных, но об этом достаточно информации на специализированных форумах, и в очередной раз обсуждать это не стоит.

Ядро linux, как и ядро любой другой системы — основа основ, корень всех корней. Производительность любых приложений напрямую зависит от производительности ядра. Для того, чтобы сделать ядро наиболее отзывчивым, я сделал две нехитрых операции. Во-первых, изменил параметр CONFIG_HZ. Он отражает частоту таймера прерываний. Чем это значение выше, тем чаще происходят прерывания и тем более отзывчивыми становятся пользовательские приложения. Обычно, его значение в дистрибутивах 250 или 300Hz. Это среднячок между частотой, рекомендуемой для сервера (100Hz) и наибольшей частотой. В ванильном ядре, а значит, в большинстве дистрибутивных ядер, максимальное значение, которое может принимать этот параметр, равно 1000Hz. Разумеется, можно пропатчить ядро и получить более брутальную линейку его значений. Например, zen-патчсет содержит патч, позволяющий устанавливать этот параметр в значение 10000Hz! Честно скажу, такое значение я не пробовал, так как у меня крутится несколько серверных задач, и какая-то стабильность тоже нужна. Смело собирайте ядро с CONFIG_HZ_1000=y, это отзывчиво, это стабильно, проверено годами. Ну, или больше, просто стабильность и поведение системы прокомментировать не могу.
Второе, что касается ядра — планировщик. По умолчанию в ванильном и дистрибутивных ядрах используется CFS, это стандартный планировщик linux, он стабилен, хорош, прекрасно выполняет свою работу. Но он не единственный в своем роде, существуют патчи, позволяющие назначить другой планировщик — BFS (Brain Fuck Scheduler), написанный Коном Коливасом. О тонкостях его работы говорить не буду, нас интересует только то, что этот планировщик тоже позволяет сделать систему более отзывчивой и «десктопной». Стабильность, сразу скажу, не ахти. Лучше не использовать его с ядром из git или rc-ядрами, а дожидаться стабильного релиза. На срезах иногда может наблюдаться непродолжительный фриз некоторых клавиш или кратковременный фриз картинки при игре. Скачайте патч BFS для своего ядра и поставьте CONFIG_SCHED_BFS=y, это хорошо улучшает отзывчивость.
Кстати, планировщик BFS содержится и в zen-патчсете, а ядра zen есть во многих дистрибутивах.
Еще одна полезная опция ядра — Preemption Model. Может принимать три значения: «No Forced Preemption (Server)», «Voluntary Kernel Preemption (Desktop)» и «Preemptible Kernel (Low-Latency Desktop)». Последнее значение включает ряд оптимизаций для использования ядра в качестве отзывчивого десктопа. Она-то нам и нужна. Установите CONFIG_PREEMPT=y, это поможет повысить отзывчивость десктопных приложений, в том числе игр.
Кроме всего этого, есть замечательный rt-патчсет, нацеленный в первую очередь на выполнение задач в realtime. Ядро rt тоже есть в большинстве дистрибутивов, что большой плюс — патчить ничего не надо. Если вы привыкли к бинарным ядрам, просто перейдите на rt, это простой и хороший способ повысить отзывчивость системы.

Читайте также:  Linux jq set value

Уже много лет игроки со стажем «разгоняют мыши». На самом деле мышь как таковая разгону не поддается, зато существуют способы заставить систему почаще опрашивать состояние мыши. В windows для этого существуют специальные утилиты, в линуксе же это делается на уровне драйвера. Чтобы узнать, какой драйвер используется для вашей мыши, поищите информацию в выводе команды ‘dmesg | grep input‘. У большинства игроков проводные usb-мыши, для которых используется драйвер usbhid, а этот модуль имеет специальную опцию mousepoll, определяющую период опроса мыши. По умолчанию она имеет значение 8 (мс), т.е. частота опроса равна 125Hz. Я использую mousepoll=2 и гоняю мышь на 500Hz. Сделал бы период и меньше, но с mousepoll=1 частота мыши все равно остается 500Hz вместо ожидаемых 1000Hz. Почему — мне неизвестно, я не программист и разобраться в коде драйвера не могу. Для того, чтобы модуль usbhid автоматически подгружался с опцией mousepoll=2, необходимо явно указать это в параметрах автозагрузки модулей. Здесь вам стоит прочесть документацию для своего дистрибутива, т.к. в разных дистрибутивах могут использоваться разные системы инициализации, и правило загрузки модулей для одного дистра может просто не сработать в другом.
Но ничего сложно нет. У меня, например, в файле /etc/modules.autoload.d/kernel-2.6 просто содержится строчка ‘usbhid mousepoll=2‘. У вас это может быть файл /etc/modprobe.d/hid.conf (создается руками, если каталог существует) или /etc/modprobe.conf (устаревший вариант). Проверить частоту опроса мыши можно маленькой утилитой. Для запуска нужно ее собрать (gcc evhz.c) и запустить от рута полученный a.out. Специально даю исходный код, запускайте без опаски.

Качество сети, несомненно, имеет важное значение. Но на ее качество за пределами своей сетевой карты игрок едва ли может повлиять, если только он не пользуется услугами провайдера, где работает его друг. И, думаю, не стоит говорить о том, что лучше предпочесть провода, что так же касается и мыши. А вот управлять очередью исходящих пакетов очень даже можно. Для общения с сервером большинство игр использует порты UDP в некотором диапазоне. Следующие несколько строк позволяют повысить приоритет пакетов игры над другими жалкими пакетами:

Читайте также:  Как распаковать tar архив linux

#Сброс правил
tc qdisc del dev ppp0 root 2> /dev/null > /dev/null
tc qdisc del dev ppp0 ingress 2> /dev/null > /dev/null

#Указание к использованию дисциплины очереди HTB на интерфейсе, класс 15 — класс по умолчанию
tc qdisc add dev ppp0 root handle 1: htb default 15 r2q 10

#Описание очередей
#Указание ширины гарантированной полосы (rate) и максимально возможной (ceil)
tc class add dev ppp0 parent 1: classid 1:1 htb rate 15mbit ceil 15mbit

#Указание rate и ceil для очереди 1:10, имеющего наивысший приоритет (0)
tc class add dev ppp0 parent 1:1 classid 1:10 htb rate 10mbit ceil 15mbit prio 0

#Указание rate и ceil для очереди 1:15, используемого по умолчанию и имеющего меньший приоритет (5)
tc class add dev ppp0 parent 1:1 classid 1:15 htb rate 5mbit ceil 15mbit prio 5

#И, наконец, определение пакетов, которые должны попадать в очередь 1:10
tc filter add dev ppp0 parent 1:0 protocol ip prio 0 u32 match ip protocol 17 0xff flowid 1:10

У меня в наибольший приоритет попадает весь udp, уточнять порты для конкретных игр я не стал, так как это полезно и для других протоколов, таких как dns. Надеюсь, вы не используете uTP и не гоняете по udp торренты. А если используете, срочно отключите и никогда не включайте. Геймеры просят.
Значения rate и ceil поправьте под свой тариф. Rate — ширина гарантированной пропускной полосы для очереди, ceil — ширина максимальной, то есть, когда пакетов в других очередях нет, данной очереди предоставляется канал шириной больше rate, но никогда не больше ceil. Рекомендуется аккуратно выбирать значения rate для очередей 1:10 и 1:15, их сумма должна быть равна rate родительского класса 1:1. Интерфейс ppp0 можно оставить без изменений, если для подключения к интернету вы используется pppd, то есть, если ваш провайдер раздает интернет через PPPoE или PPTP. Если же Вы счастливый обладатель неинкапсулированного интернета по ethernet, подставьте в правила интерфейс сетевой карты, скорее всего, eth0.
Более подробно эти и другие аспекты настройки сети в линукс описаны в шикарном документе Linux Advanced Routing & Traffic Control HOWTO.

Надеюсь, это руководство поможет даже самым увлеченным игрокам по-настоящему полюбить linux. Удачи в играх!

Источник

Adblock
detector