Configurações do touchpad, no Linux

Quando um touchpad não possui botões físicos, representando o botão direito e esquerdo do mouse, ele é comumente chamado de clickpad.
É sobre este tipo de dispositivo que este post trata.
Muitos fabricantes não usam o termo “ClickPad” por que é uma marca registrada da Synaptics Inc.
Os testes, no decorrer do artigo, foram feitos em uma máquina Dell, com o Debian 9 “Stretch” (ainda, testing), rodando o GNOME/Wayland.
dell touchpad and backlit keyboard
Diferente do touchpad, um clickpad se comporta como um “grande botão”.
Contudo, vamos nos referir a touchpad ou clickpad, neste texto, como se fossem a mesma coisa.
A documentação do Wayland irá se referir a ele como a propriedade INPUT_PROP_BUTTONPAD.
No texto O que fazer após instalar o GNOME explicamos como configurar o dispositivo e os métodos de entrada que ele aceita.
Segue a explicação sobre o método button areas e o clickfinger, para obter um clique secundário (com o botão direito).
Tenha em mente que o termo “clique” se refere ao pressionamento de um botão físico e/ou soltar o touchpad.
O termo “button event” se refere aos eventos gerados pelo libinput e passados a quem o chamou (caller), em resposta a um clique.

As áreas de toque controladas por software

areas de toque no touchpad
Como você pode ver, na imagem acima, cada área (com altura de 10mm, comumente) da parte inferior do clickpad corresponde a um tipo de evento, equivalente ao de um touchpad ou mouse tradicional.
A área do botão do meio é sempre posicionada no canto inferior central e tem uma área menor do que a dos outros botões.

Se você ativou a opção middle button emulation ou emulação do botão do meio (ou terceiro botão), esta área central será desabilitada. Você precisa tocar simultaneamente as duas áreas da extremidade para obter seu efeito.

Se você tiver algum dedo tocando a área do dispositivo, tocar os outros dedos na área inferior esquerda/direita será ignorado.
Movimentar um dedo pode alterar o comportamento da área do botão:

  • se um dedo toca a área central do dispositivo e move na direção de uma das áreas de botões, eles não serão ativados por aquele dedo
  • se um dedo começa tocando a área de botões, ele não moverá o ponteiro
  • a partir do momento em que um dedo se move para fora da área de botões, ele passa a mover o ponteiro
  • depois de se movimentar para fora da área de botões, o dedo não pode voltar e disparar um evento ou um clique de botão, a menos que você levante o dedo para tocar novamente na área do botão desejado

Há relatos de que a área inferior do touchpad do Lenovo X1 Carbon 3rd series se encontra fora do alcance do sensor. Ainda assim, é possível disparar um clique físico dali.

Método de múltiplos toques ou clickfinger behavior

método de toque de dedos no touchpad
Tal como nos dispositivos da Apple, os eventos de botão esquerdo, direito e do meio são gerados pelo toque (respectivamente) de um, dois ou três dedos sobre a superfície do touchpad.
A área tocada é irrelevante. Não há áreas de botões definidas por software, quando este método estiver sendo utilizado.
Este método implica que ao tocar a área do touchpad com:

  • um dedo, produzirá o efeito equivalente ao de um clique simples com o botão direito do mouse
  • dois dedos, produzirá o efeito equivalente ao de um clique com o botão esquerdo (auxiliar) do mouse
  • três dedos, produzirá o efeito equivalente ao de um clique no botão central.

Referências

Mais textos sobre a configuração do touchpad no Linux.
https://wayland.freedesktop.org/libinput/doc/latest/clickpad_softbuttons.html.

O touchpad parou de funcionar após atualização do Debian.

Há várias situações que podem desaguar em que um touchpad multitoque deixe de funcionar no seu sistema operacional, do nada.
No caso descrito neste post, isto ocorreu após uma atualização no GNOME 3.20.x, no Debian 9 Stretch (ainda em “Testing“, nesta data).
A gente sabe que o Testing é uma distro GNU/Linux razoavelmente bem estável, apesar do nome. Mas, enfim, estas situações sempre podem ocorrer.
O cenário é o de um notebook Dell Inspiron 5448 com teclado multitoque.
De acordo com o desenvolvedor Michael Biebl, muitos laptops recentes não possuem mais botões de mouse/touchpad.
Em vez disto, parte da superfície de toque corresponde a estes botões ou você pode configurar gestos (toques com 1 ou mais dedos, por exemplo).
Esta é uma tendência, em parte, imposta pelos smartphones.

O problema

O que aconteceu, no caso em questão, foi que o GNOME 3.20 deixou de dar suporte às configurações non-libinput dentro do aplicativo gnome-control-center.
gnome control center touchpad settings
Mas você ainda pode configurar o synaptics manualmente.

libinput é uma biblioteca que manipula dispositivos de entrada para servidores de display e outras aplicações que necessitam lidar diretamente com esta categoria de dispositivos.

A biblioteca libinput provê detecção de hardware, manipulação de dispositivos, processamento de eventos e abstrações
Para poder ter acesso às configurações do mouse/touchpad no GNOME Control Center, é necessário ter o xserver-xorg-input-libinput instalado.
Ele provavelmente está instalado, mas o pacote do xserver-xorg-input-synaptics ganhou prioridade sobre ele — o que vai impedir que você faça a configuração pelo painel de controle no momento presente.
Os desenvolvedores estão a par da situação e isto pode mudar futuramente.

A Solução

Se você não quer configurar o synaptics “na mão” e prefere ter de volta o método do painel de controle, remova o pacote do synaptics, assim:

sudo apt remove xserver-xorg-input-synaptics

Em seguida, reinicie o X ou o sistema.
A solução foi a descrita nesta thread da lista de discussão do Debian https://lists.debian.org/debian-user/2016/06/msg00061.html.

Referências

https://packages.debian.org/testing/main/libinput-bin.

Linux no Notebook Dell Inspiron 14 5448

As máquinas Dell são conhecidas por serem razoavelmente amigáveis com quem prefere usar uma das várias distribuições Linux.
Este post tem como objeto de análise um laptop Dell Inspiron 14 série 5000 Special Edition ou apenas Dell Inspiron 5448.
Conforme é possível observar no site oficial da Canonical, a máquina tem compatibilidade com o sistema operacional Ubuntu 14.04 LTS “Trusty Tahr”, condicionada a você manter a versão que vem pré-instalada no sistema.
Isto quer dizer que você pode ter dificuldades para configurar alguns detalhes do hardware (como o sistema híbrido de GPUs).
Se você não estiver disposto a se dar ao trabalho de configurar manualmente parte do sistema de hardware do seu laptop Dell, não remova a versão do sistema operacional que já vem instalada nele.

Faça backup do Ubuntu presente no seu laptop

Quando você liga um laptop Dell, pela primeira vez, ele dá início ao processo de pré-instalação e personalização do seu sistema.
Veja a animação no vídeo abaixo:

Durante o procedimento, ele irá pedir para você inserir um pendrive em branco para fazer o backup do sistema. Isto permite que você possa reinstalar sempre que precisar a distro Ubuntu certificada para o seu modelo.
Dell Inspiron 14 5000 series modelo 5448

Como funciona o Dell com outras versões do Linux

O Ubuntu 14.04 LTS, padrão que pode ser baixado do site da Canonical, funciona bem e já vem com uma série de drivers proprietários prontos para uso.
Mas, o openSUSE Leap 42.2 foi o que funcionou melhor, de acordo com os meus testes — sempre desconsiderando a GPU híbrida, que só é adequadamente reconhecida com a versão pré-instalada do Ubuntu.
No Ubuntu 16.04 LTS “Xenial Xerus”, os drivers proprietários da AMD foram removidos, o que te obriga a baixá-los do site da companhia, neste link: http://support.amd.com/pt-br/download/linux — este e outros links para downloads estão organizados ao final do texto, na seção “Referências”.
Você também pode usar o driver proprietário amdgpu, disponível nos repositórios mais atuais.
Instalar o Debian pode ser uma tarefa um pouco mais difícil, contudo.
Será necessário instalar a partir de uma imagem non-free, com os firmwares proprietários.
Se você tiver interesse na leitura, o post O que fazer após instalar o Debian foi baseado nesta máquina — e este texto é uma ramificação daquele.
O que resta fazer, depois da configuração básica do Debian 8.4, neste notebook, é configurar estes 3 itens:

  1. Touchpad — para que sejam aceitos todos os gestos de toques.
  2. Placa de rede Intel 7265 — para ter uma conexão melhor.
  3. Processamento gráfico híbrido Intel Broadwell/Radeon R7 M260/M265 — ou você usa o driver opensource ou baixa e instala o proprietário.

Este texto se baseia na distribuição GNU/Linux Debian 8.4 “Jessie” (com kernel 3.16). Mas devo avisar que o Debian 9 “Stretch” (com kernel 4.5), que está (na data deste post) em modo de desenvolvimento testing apresentou melhor desempenho, mais estabilidade e menos trabalho para instalar.
Em contraste com o kernel presente no Jessie, a versão presente no Stretch, traz drivers mais atuais e melhor suporte para os componentes do Dell Inspiron 5448.

Uma breve análise do notebook Dell Inspiron 14 série 5000

Este Inspiron, vem com 8 GiB de memória, processador Intel i7-5500U 2.40G
Trata-se de uma máquina com 2 aspectos muito interessantes e que chamam a atenção imediata no site de vendas da Dell:

  • Armazenamento híbrido — O SSHD de 1 TiB vem acompanhado de uma unidade SSD de 8 GiB, que funciona automaticamente como um cache.
    A depender do tipo de atividades que você for exercer nesta máquina, levando em conta que o sistema de cache tem seu ápice em atividades repetitivas ou previsíveis, vai ter a impressão de que a unidade inteira é um SSD de um 1 TiB.
    Programas pesados, que abrem arquivos grandes, como o Audacity, o Gimp, o Openshot etc. são muito rápidos nesta configuração de hardware.
    O recurso de hibernação (no Debian 9) funcionou de primeira, o que permite que ela volte instantaneamente deste estado.
  • Processamento gráfico híbrido — O objetivo de se ter 2 unidades de processamento gráfico, nesta máquina é a economia de energia e não, exatamente, o desempenho superior.
    Vários fabricantes de laptops desenvolveram tecnologias de uso de 2 placas gráficas em um único computador.
    Uma, básica, voltada para o uso trivial, do dia a dia, sem estar conectado à tomada e com baixíssimo consumo de energia.
    A outra é voltada para atividades que exijam maior performance.
    Esta tecnologia é bem suportada no Windows, mas ainda é experimental no Linux.

    Chamamos de processamento gráfico híbrido uma configuração de 2 placas gráficas, com diferentes habilidades e consumo de energia.

    Na configuração deste laptop a concepção é usar a GPU integrada Intel Broadwell-U como a principal unidade, para realizar as tarefas mais básicas.
    A unidade secundária, chamada discrete unit é voltada para renderização 3D e outras tarefas mais pesadas.

O comando lshw pode ser invocado, com a opção ‘-short’ para obter um resumo do hardware integrado:

sudo lshw -short

(Em destaque, os itens que vão ter nossa atenção na configuração pós-instalação.

H/W path        Device     Class          Description
=====================================================
                           system         Computer
/0                         bus            Motherboard
/0/0                       memory         7923MiB System memory
/0/1                       processor      Intel(R) Core(TM) i7-5500U CPU @ 2.40G
/0/100                     bridge         Broadwell-U Host Bridge -OPI
/0/100/2                   display        Broadwell-U Integrated Graphics
/0/100/3                   multimedia     Broadwell-U Audio Controller
/0/100/14                  bus            Wildcat Point-LP USB xHCI Controller
/0/100/14/0     usb2       bus            xHCI Host Controller
/0/100/14/1     usb1       bus            xHCI Host Controller
/0/100/14/1/5              communication  Bluetooth wireless interface
/0/100/14/1/7              generic        USB2.0-CRW
/0/100/14/1/8              multimedia     Integrated_Webcam_HD
/0/100/16                  communication  Wildcat Point-LP MEI Controller #1
/0/100/1b                  multimedia     Wildcat Point-LP High Definition Audio
/0/100/1c                  bridge         Wildcat Point-LP PCI Express Root Port
/0/100/1c.2                bridge         Wildcat Point-LP PCI Express Root Port
/0/100/1c.2/0   eth0       network        RTL8101E/RTL8102E PCI Express Fast Eth
/0/100/1c.3                bridge         Wildcat Point-LP PCI Express Root Port
/0/100/1c.3/0   wlan0      network        Wireless 7265
/0/100/1c.4                bridge         Wildcat Point-LP PCI Express Root Port
/0/100/1c.4/0              display        Topaz XT [Radeon R7 M260/M265]
/0/100/1d                  bus            Wildcat Point-LP USB EHCI Controller
/0/100/1d/1     usb3       bus            EHCI Host Controller
/0/100/1d/1/1              bus            USB hub
/0/100/1f                  bridge         Wildcat Point-LP LPC Controller
/0/100/1f.2                storage        Wildcat Point-LP SATA Controller [AHCI
/0/100/1f.3                bus            Wildcat Point-LP SMBus Controller
/0/2            scsi0      storage        
/0/2/0.0.0      /dev/sda   disk           1TB ST1000LM014-1EJ1

A configuração deste notebook é boa para uso comum e até para a maioria dos jogos nativos Linux, mas não é satisfatória para rodar jogos mais exigentes.
Laptops da Dell, para gamers tem preços iniciais 50% mais caros que este — e podem chegar a 5 vezes o seu valor .
Mais informações sobre a configuração gráfica, serão abordadas mais pra frente, ainda neste post.

O touchpad do Dell Inspiron

O touchpad, no Debian 8.4 GNOME, já “nasce” funcionando. Basta ativar o “clique com um toque” no painel de configuração.
gnome - touchpad - toque para clicar
Depois disto, ele entenderá os gestos no touchpad, da seguinte forma:

  • 1 toque = 1 clique com o botão principal (esquerdo) do mouse
  • 1 toque com 2 dedos simultâneos = 1 clique com o botão secundário (direito) do mouse
  • 1 toque com 3 dedos simultâneos = 1 clique com o botão do meio do mouse. Usualmente serve para colar o texto que se encontra na área de transferência

Se você ainda tiver problemas com o touchpad no GNOME ou no XFCE, instalar o pacote kde-config-touchpad, pode resolver:

sudo aptitude update
aptitude install kde-config-touchpad

Configuração da placa de rede

Sem a instalação de um pacote de firmwares proprietários, este equipamento fica com uma configuração de rede muito instável — além de lenta, cai o tempo inteiro.
Intel wireless adapter
O chip de rede sem fio Intel Dual Band Wireless-AC 7265 oferece suporte ao padrão 802.11ac, a 2 x 2 Wi-Fi e contém um adaptador Bluetooth 4.0.
Você pode encontrar os drivers específicos para a sua placa de rede Intel na sessão de links ao final do texto ou nos repositórios da sua distro.
Para fazer a instalação via aptitude, informe o nome do pacote:

sudo aptitude install firmware-iwlwifi

O pacote traz suporte a dezenas de outros firmwares e hardware de rede wireless da Intel. Use o comando show, para ver a relação completa:

aptitude show firmware-iwlwifi

Você terá um desempenho melhor da placa de rede, se usar um kernel mais atual. Portanto, este passo não é necessário no Debian 9.

Como configurar o processamento gráfico híbrido no seu notebook

Na configuração padrão, do Jessie, o sistema reconhece, mas não habilita adequadamente a segunda GPU — AMD Radeon R7 M260/265 com processador Topaz XT.
Quando a carga de trabalho da GPU se torna muito elevada, o X11 “apaga” e volta para a tela de autenticação do GNOME.
Para começar a abordar o problema, é preciso instalar o pacote de suporte open source.
Uma busca pelo driver proprietário da AMD, para as suas GPUs, mostra que eu já o tenho instalado no sistema (veja o destaque):

aptitude search fglrx
p   boinc-client-fglrx                                                 - metapackage for AMD/ATI fglrx-savvy BOINC client and manager                 
i A fglrx-atieventsd                                                   - events daemon for the non-free ATI/AMD RadeonHD display driver               
v   fglrx-atieventsd-virtual	-                                                                              
i   fglrx-control                                                      - control panel for the non-free ATI/AMD RadeonHD display driver               
v   fglrx-control-virtual                                              -                                                                              
i   fglrx-driver                                                       - non-free ATI/AMD RadeonHD display driver
v   fglrx-kernel-15.12                                                 -                                                                              
v   fglrx-kernel-15.9                                                  -                                                                              
v   fglrx-kernel-dkms                                                  -                                                                              
i   fglrx-modules-dkms                                                 - dkms module source for the non-free ATI/AMD RadeonHD display driver          
p   fglrx-source                                                       - kernel module source for the non-free ATI/AMD RadeonHD display driver        
i A glx-alternative-fglrx                                              - allows the selection of FGLRX as GLX provider                                
i A libfglrx                                                           - non-free ATI/AMD RadeonHD display driver (runtime libraries)                 
i A libfglrx-amdxvba1                                                  - AMD XvBA (X-Video Bitstream Acceleration) backend for VA API                 
v   libfglrx-virtual                                                   -                                                                              
i A libgl1-fglrx-glx                                                   - proprietary libGL for the non-free ATI/AMD RadeonHD display driver           
v   libgl1-fglrx-glx-virtual                                           -                                                                              
v   xserver-xorg-video-fglrx                                           -                                                                              

Desempenho da placa gráfica Intel Broadwell U

A avaliação do desempenho (ou benchmarking) foi feita com o glmark2.
Contudo, no Debian 8.4 Jessie, a performance da placa foi insatisfatória — obtive um ridículo score 68.
Em contraste, logo após a instalação do Debian 9 Stretch – também sem qualquer configuração adicional – obtive um score 540 — um índice 7,9 vezes superior!
Não há dúvida. O Debian certo para este laptop, é o Stretch.
Note que ambos os scores se referem ao desempenho da placa Intel (integrada). É necessária alguma configuração extra (que não será abordado aqui) para pôr a segunda GPU para funcionar.
A Intel Broadwell U, com apenas 256 MiB de memória RAM, foi capaz de rodar um benchmark completo da Unigine, em modo Extreme.
No que toca a GPU discrete, da AMD, com os aplicativos proprietários, disponíveis no site, há várias possibilidades interessantes. Entre estas, cito:

  1. optar por uma ou outra GPU para trabalhar
  2. permitir que o sistema selecione automaticamente a GPU a ser usada, em função da carga de trabalho ou da necessidade de economizar energia, quando o notebook estiver fora da tomada

E a ventoinha que não pára?

Outra reclamação recorrente, no site da comunidade de usuários Dell, é a ventoinha interna que, alegadamente (entre usuários Windows principalmente), funciona sem necessidade e em excesso.
Preliminarmente, tenho 2 coisas a falar sobre isto:

  1. Vejo problema maior em ventoinhas que não funcionam. Aí, sim! Você tem um perigo real pela frente.
    O barulho não é tão alto e, quem mora em lugar quente, deveria usar uma base com cooler, para não sobrecarregar o fan e proteger seu sistema.
  2. Há usuários cuidadosos e perdulários …
    Sabemos que há pessoas que usam o notebook sobre o colo e/ou sobre a cama, tampando o sistema de exaustão e fazendo-o trabalhar dobrado.

Na minha humilde opinião, o equipamento não tem problemas relacionados ao sistema de refrigeração e achei justificadas todas as vezes em que o fan era ligado no máximo.

Conclusão

O Dell Inspiron 14 serie 5000, modelo 5448, é satisfatoriamente compatível com Linux.
O melhor cenário, atualmente, é na instalação do openSUSE Leap 42.2 ou mantendo o Ubuntu 14.04 LTS que já vem instalado.
O Debian 8.4 pode dar algum trabalho para ser configurado e o Ubuntu 16.04 LTS pode ter um excelente desempenho, com a instalação dos drivers proprietários disponíveis na página da empresa — o que você precisa, não tem nos repositórios da Canonical.
Não experimentei o equipamento com o Fedora, mas vejo esta possibilidade com otimismo.
Em ordem de preferência, se fosse escolher hoje, as melhores distros Linux para esta máquina são, as já citadas, Leap, Trusty Tahr e Stretch.
Ao dar uma olhada no fórum oficial da comunidade de usuários DELL, é perceptível que os usuários Windows também têm alguns problemas de compatibilidade com os equipamentos da empresa.
Nada é perfeito para ninguém. Não há por que ter inveja (nem pena) — eles pagam mais caro e recebem menos tratamento respeitoso de volta da parte das empresas.


Leia mais artigos sobre produtos Dell, no site.

Referências

Como ligar o touchpad no Debian 8.

Recentemente instalei o Debian GNU/Linux 8.2 (ou simplesmente Jessie) em um dos meus laptops de trabalho, um Samsung Series 5 Ultra.
Fiquei surpreso com o fato de que o touchpad, assim que o sistema ficou pronto para ser usado, não tinha função de toque habilitada — o dispositivo só servia para conduzir o cursor na tela.
Antes de reiniciar a máquina e ir conferir se não havia desligado o touchpad no BIOS (existe esta função lá), fui ao painel de configurações do Debian (XFCE).
Selecione o painel de configuração Mouse e Touchpad e, em seguida, ative a opção Cutucar o touchpad para clicar.
Configurações do mouse e do touchpad no Debian 8 com o XFCE

Como resolver no GNOME

Para a minha surpresa, o touchpad veio com a função de toque também desligada no GNOME (no KDE também!).
Não há novidade aqui.
A solução é a mesma, já descrita pro XFCE — ative o toque no painel de configuração do touchpad.
Veja a imagem, abaixo:
Configurações do touchpad no GNOME 3
A opção que você precisa ligar no painel de configurações do touchpad do GNOME é Toque para clicar.
Se você tiver interesse em ler mais sobre o assunto, ele foi abordado no artigo Como configurar o touchpad no Ubuntu 14.04, onde algumas dicas a mais são dadas sobre o tema.

Como configurar o touchpad no Ubuntu 14.04

Ao atualizar pro Ubuntu 14.04, alguns usuários perceberam que o touchpad não funciona do jeito que funcionava antes.
Não se trata de um defeito.
Os desenvolvedores da Canonical mudaram algumas coisas e isto afetou o seu touchpad…
Touchpad scroll
Se você não gostou da nova configuração padrão, vou mostrar como é fácil reverter isto.

Rolagem de tela com 2 dedos no Ubuntu

A nova configuração padrão do touchpad no Ubuntu permite a rolagem de tela com 2 dedos (two fingers scrolling) — em oposição ao tradicional edge scrolling.
Com a nova configuração, você pode fazer a rolagem da tela, em toda a superfície do touchpad e não apenas no “cantinho”.
Para fazer isto, experimente movimentar 2 dedos simultaneamente sobre a superfície do touchpad, para cima e para baixo.
Você também pode fazer uma rolagem mais “controlada”, mantendo um dedo fixo no touchpad, enquanto o outro se move, rolando a tela.
Não é tão difícil, não é? — a sua opinião sobre isso é bem vinda na seção de comentários. 😉

Como configurar o touchpad no Ubuntu

Vou mostrar como configurar o seu touchpad para voltar ao que era antes e, se você quiser mais tarde, reativar a rolagem com 2 dedos.

  • Abra o Dash, com a tecla Win e digite “configurações”;
  • Selecione o ícone Configurações do sistema;
  • No painel de configurações, clique em Mouse & Touchpad;
  • Agora, desabilite a opção Rolagem com dois dedos.

Não precisa reiniciar nada.
O recurso já foi desativado e, se você quiser dar uma nova chance para ele, basta voltar lá e reativá-lo.

ubuntu configuração touchpad mouse
Clique para ver mais detalhes.

Rolagem natural

Logo abaixo da opção Rolagem com dois dedos há a opção de rolagem natural. Notou isso?
Este recurso foi introduzido pela Apple, nos seus smartphones — o natural para ver a parte de baixo de uma página é arrastá-la para cima.
Ative esta opção e experimente-a no Facebook.