Jak rozwiązać okresowe opóźnienie myszy w Linux Mint (MATE)?

21

Mam laptopa z zainstalowanym najnowszym Linux Mintem (wersja MATE, a nie Cinnamon). W 80–90% przypadków wszystko działa świetnie, ale okresowo mysz zaczyna „opóźniać się” (reaguje powolnie, a kursor porusza się z prędkością około 20% normalnej prędkości). Ten problem pojawia się i znika bez widocznej przyczyny. Występuje zarówno w przypadku myszy USB, jak i touchpada laptopa. Jednak nie miałem tego problemu ze starszą wersją mennicy.

Próbowałem w Google dla kogoś, kto rozwiązał ten problem, ale ze względu na ogólny charakter terminów („mysz”, „linux”, „lag” itp.) Po prostu znajduję wiele niepowiązanych stron.

Czy ktoś ma jakieś sugestie na temat tego, jak zdiagnozować, co powoduje to dziwne opóźnienie myszy (i idealnie, jak to rozwiązać)?

* EDYTOWAĆ *

Oto próbka danych topwyjściowych podczas opóźnienia:

top - 20:10:27 up 34 days, 22:31,  4 users,  load average: 2.36, 1.19, 0.65
Tasks: 192 total,   2 running, 190 sleeping,   0 stopped,   0 zombie
%Cpu(s):  5.8 us, 24.8 sy,  0.0 ni, 68.5 id,  0.4 wa,  0.0 hi,  0.5 si,  0.0 st
KiB Mem:   4032688 total,  3475752 used,   556936 free,   202180 buffers
KiB Swap:  8787516 total,   137556 used,  8649960 free,  1768748 cached

  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  COMMAND           
21961 root      20   0     0    0    0 S  20.9  0.0   0:12.82 kworker/1:0       
21762 root      20   0     0    0    0 R  11.3  0.0   0:12.05 kworker/0:2       
 5780 me        20   0  181m  26m  16m S   9.3  0.7 271:41.38 mate-system-mon   
21733 root      20   0     0    0    0 S   7.6  0.0   0:16.24 kworker/1:1       
21956 root      20   0     0    0    0 S   7.3  0.0   0:13.10 kworker/0:0       
21879 root      20   0     0    0    0 S   3.7  0.0   0:03.25 kworker/u:2       
23920 me        20   0  425m  85m  16m S   3.3  2.2 148:23.44 chrome            
20013 me        20   0  426m 198m  27m S   2.0  5.0   5:53.41 chrome            
  852 me        20   0  170m  13m  10m S   1.0  0.3   1:43.49 mate-terminal     
 2283 root      20   0  132m  26m  10m S   1.0  0.7 140:33.62 Xorg              
11361 me        20   0 1054m 212m  26m S   1.0  5.4 119:45.32 eclipse           
23766 me        20   0  644m 179m  39m S   1.0  4.6 156:13.04 chrome            
19035 couchdb   20   0 86672 5120 1484 S   0.7  0.1 314:22.75 beam.smp          
   10 root      20   0     0    0    0 S   0.3  0.0   6:08.10 ksoftirqd/1       
 2453 me        20   0 38796 1824 1680 S   0.3  0.0   2:31.55 gvfs-afc-volume   
 5776 me        20   0  105m 8376 6772 S   0.3  0.2   1:48.06 multiload-apple   
18074 me        20   0 69836  14m 3808 S   0.3  0.4   9:23.07 python            

Oto taildziała dmesg( dmesgdaje dużo danych wyjściowych, a więc tail):

[2844570.290434] type=1701 audit(1358135321.797:17): auid=4294967295 uid=1000 gid=1000 ses=4294967295 pid=6593 comm="chrome" reason="seccomp" sig=0 syscall=20 compat=0 ip=0xb3599424 code=0x50000
[2855118.278240] stereo mode not supported
[2891634.104527] stereo mode not supported
[2929390.761034] stereo mode not supported
[2930948.986039] stereo mode not supported
[2931457.828088] stereo mode not supported
[2936251.706768] stereo mode not supported
[2939573.402914] stereo mode not supported
[2940015.539524] stereo mode not supported
[2977473.595590] stereo mode not supported

Jak na odpowiedź @ grs, oto tailmoja /var/log/Xorg.0.log:

[2940015.539] (II) intel(0): Printing DDC gathered Modelines:
[2940015.539] (II) intel(0): Modeline "1366x768"x0.0   69.30  1366 1414 1446 1456  768 771 777 793 -hsync -vsync (47.6 kHz eP)
[2977473.595] (II) intel(0): EDID vendor "AUO", prod id 4140
[2977473.595] (II) intel(0): DDCModeFromDetailedTiming: Ignoring: We don't handle stereo.
[2977473.595] (II) intel(0): Printing DDC gathered Modelines:
[2977473.595] (II) intel(0): Modeline "1366x768"x0.0   69.30  1366 1414 1446 1456  768 771 777 793 -hsync -vsync (47.6 kHz eP)
[3020717.050] (II) intel(0): EDID vendor "AUO", prod id 4140
[3020717.050] (II) intel(0): DDCModeFromDetailedTiming: Ignoring: We don't handle stereo.
[3020717.050] (II) intel(0): Printing DDC gathered Modelines:
[3020717.050] (II) intel(0): Modeline "1366x768"x0.0   69.30  1366 1414 1446 1456  768 771 777 793 -hsync -vsync (47.6 kHz eP)
machineghost
źródło
Czy to tylko trudny problem do rozwiązania, czy jest coś nie tak z moim pytaniem? Wiem, że pytania dotyczące przepełnienia stosu często są ignorowane, jeśli (na przykład) nie mają próbek kodu ... czy brakuje tu informacji, które mógłbym podać?
machineghost
Mam dokładnie ten sam problem - zacznę nagrodę
sunwukung
Dziękuję Ci! Gdybym mógł tutaj wydać swoje punkty przepełnienia stosu, zrobiłbym to samo ...
machineghost
3
Po pierwsze, proszę podać, jakiego sprzętu używasz - komputer stacjonarny / laptop, typ myszy i producenta. Czy próbowałeś innej myszy? Czy podczas opóźnienia występuje zamiana (można to sprawdzić za pomocą top)? Kiedy występuje opóźnienie myszy, czy wpływa to również na klawiaturę? Zasadniczo im więcej informacji umieścisz w swoim pytaniu, tym lepiej uzyskasz odpowiedź.
grs 12.01.2013
Czy to jest laptop? Jakiego rodzaju myszy? PS1? USB? Bezprzewodowy? Czy dzieje się tak, gdy system jest obciążony? I wszystko, co powiedział @grs.
terdon

Odpowiedzi:

26

Znalazłem następujące rozwiązanie na Ask Ubuntu :

sudo -i
echo N> /sys/module/drm_kms_helper/parameters/poll
echo "options drm_kms_helper poll=N">/etc/modprobe.d/local.conf

To ostatecznie rozwiązało problem i po ponad tygodniu testów mogę potwierdzić, że zatrzymało to opóźnienie myszy.

użytkownik200554
źródło
Jąkanie doprowadzało mnie do szału! Dzięki!
doug65536,
Dziękuję bardzo, musiałem załadować drm_kms_helper przy starcie, użyłem tego: superuser.com/questions/528727/…
Shani Elharrar
2
To rozwiązało problem, ale dlaczego? Jak to działa?
Chetan Bhasin
5

Zauważ, że w nowszych jądrach moduł drm_kms_helper może nie zostać domyślnie załadowany. Dodatkowy krok to działa:

sudo su -
modprobe drm_kms_helper
echo N> /sys/module/drm_kms_helper/parameters/poll
echo "drm_kms_helper" >> /etc/modprobe.d/local.conf
echo "options drm_kms_helper poll=N" >> /etc/modprobe.d/local.conf

Mam nadzieję, że to komuś pomoże!

UberSteve
źródło
ładować moduł w czasie uruchamiania:echo 'drm_kms_helper' >> /etc/modules-load.d/local.conf
kravemir
3

Chociaż zaakceptowana odpowiedź OP mogła pomóc w ciągu dnia; to już nie działa dzisiaj.

Dzisiaj musisz dostosować mousepollszybkość usbhidmodułu.

Jeśli Twoja mysz ma 1000 Hz, musisz powiedzieć, usbhidaby odpytywać w tym przedziale; domyślnie sonduje przy 125 Hz.

W systemach Debian możesz to zrobić, dodając następujące elementy do /etc/modules:

-r usbhid
usbhid mousepoll=1

Uwaga: nigdy nie miałem echo 1 > /sys/module/usbhid/parameters/mousepollpracy; Musiałem dodać interwał odpytywania i zrestartować. Prawdopodobnie trzeba ponownie uruchomić X i / lub ponownie załadować moduły wideo, aby zastosować go bez ponownego uruchamiania.


źródło
2

Sądząc po stosunkowo wysokiej %sywartości topopartej na stwierdzeniu, że ten sam sprzęt działał poprawnie przed aktualizacją, myślę, że opóźnienie jest spowodowane przez sterownik. To niezwykłe, że zdrowy, prawie bezczynny system spędza tak dużo czasu w trybie jądra. Właśnie sprawdziłem, czy Linux Mint 14 jest oparty na Ubuntu 12.10 i używa jądra 3.5. Byłoby ciekawie sprawdzić, czy jakieś błędy są rejestrowane /var/log/Xorg.0.log.

Opcje rozwiązania tego problemu są dość ograniczone:

  1. wypróbuj inną mysz;
  2. wypróbuj LiveCD na innej dystrybucji / wersji;
  3. wypróbuj inny interfejs graficzny;
  4. na żywo z nim (korzystam z Linux Mint Debian Edition i na losowych podstawach mój lewy przycisk odmawia działania i sam się wraca. Nauczyłem się to obejść);
  5. uzyskaj starszy lub nowszy moduł myszy dla swojego jądra (pod warunkiem, że wiesz jak).

Jeśli to okropne, możesz chcieć zainstalować jądro rodziny 2.6.x. Istnieje szansa, że ​​„złamie” coś innego i prawdopodobnie będziesz musiał to skompilować.

grs
źródło
Zredagowałem swoją odpowiedź za pomocą /var/log/Xorg.0.log tail; wydaje mi się to niewinne, ale nie jestem do końca pewien.
machineghost
Nic ciekawego w dzienniku Xorg. Którą starszą wersję Linux Mint uruchomiłeś bez problemów? Jakie środowisko
grs
Hmmm ... Nie pamiętam, żeby być szczerym, ale byłem daleko w tyle. To było na długo przed tym całym GNOME => MATE ... może Mint 7 lub 8? A środowisko było po prostu GNOME.
machineghost
Możesz grać ze starszymi wersjami Linux Mint i / lub Ubuntu.
grs
1
Dzięki za sugestię, ale uruchamianie starożytnych wersji systemów operacyjnych stanowi zagrożenie dla bezpieczeństwa i ogólnie zły pomysł. Ponadto trudno mi uwierzyć, że obecne wersje systemu Linux mogą działać tylko na najnowocześniejszym sprzęcie. Chodzi mi o to, że ten laptop liczy swoją pamięć RAM w gigach, a nie w megabajtach, a mówimy o Linuksie, a nie Windowsie: powinna istnieć możliwość uruchomienia bieżącej wersji. Wydaje mi się znacznie bardziej prawdopodobne, że moje problemy wynikają z jednego konkretnego nowego komponentu (np. MATE), niż z czegoś głęboko osadzonego, takiego jak jądro; Po prostu nie wiem, jak określić składnik.
machineghost
2

Nie wiem czy to nadal stanowi problem? ... Jednak miałem ten sam problem z opóźnieniem myszy w Linux Mint 14 x64 Cinnamon. Próbowałem czegokolwiek ... różnych jąder, aktualizacji sterowników - nic nie działało.

W każdym razie zaskakująco magicznym rozwiązaniem było odznaczenie opcji „Wyłącz touchpad podczas pisania” w ustawieniach myszy. To ustawienie wydaje się powodować losowe poważne problemy.

Mam nadzieję, że może to pomóc komuś innemu!

stevetammer
źródło
Brzmi bardzo obiecująco, dzięki stevetammer; Spróbuję, kiedy wrócę dziś wieczorem do domu.
machineghost
Przepraszam, zapomniałem się zgłosić. Sprawdziłem to ustawienie i okazuje się, że już go nie zaznaczyłem :-( Próbowałem to sprawdzić, żeby zobaczyć, ale nie przyniosło to żadnego efektu. Mimo to dziękuję za sugestię (może to zrobi pomóż komuś innemu)
machineghost
2

Naprawianie opóźnienia myszy na cynamonie

Nagle doświadczyłem dużego opóźnienia myszy na cynamonie. W przypadku, gdy ktoś inny znajdzie tę stronę podczas wyszukiwania, tak jak ja, możliwej przyczyny, może to być: Powiększenie pulpitu. Upewnij się, że jest wyłączony za pomocą Alt + Super + 8, nawet gdy ekran nie jest powiększony.

Wyśledzenie go zajęło mi trochę czasu, przede wszystkim problem pojawił się po podzieleniu całego katalogu domowego (przenieś połowę katalogów do katalogu tymczasowego i zaloguj się ponownie itp.), Aż udało mi się zlokalizować, ~/.config/dconf/usera potem wreszcie poziom powiększenia współczynnik ustawiony na 1,0:

[org/cinnamon/desktop/a11y/magnifier]
mag-factor=1.0
screen-magnifier-enabled=true

Możesz sprawdzić, czy tak jest w przypadku Cynamonu

dconf dump / |grep mag
Simon A. Eugster
źródło