Mini tela da Positivo no Linux

Também fiz algumas tentativas de desativar manualmente; o problema é que ela não é reconhecida pelo lsusb e xrandr. Por ela possivelmente ser um display auxiliar controlado pelo Embedded Controller, acredito que não exista nenhuma interface acessível para controle direto (serial ou similar), o que inviabiliza o uso como monitor independente.

Agradeço mais uma vez pela atenção, não precisa fazer o teste, creio que só irá consumir seu tempo. Quando a garantia chegar próxima ao fim, vou abrir para fazer uma limpeza preventiva e desconectar o cabo flat da mini-tela.

sudo apt install ddcutil # No Ubuntu/Debian
sudo ddcutil setvcp 10 50 --display 1 # Define brilho para 50% no display 1

Travamento

Solution: Use ddcutil detect --verbose to find the valid bus and specify it (e.g., ddcutil -d 1 ...) or ignore phantom entries

1 curtida

Fiz o teste dessa vez usando ddcutil, e o resultado foi o seguinte:

Invalid display
I2C bus: /dev/i2c-7
I2C address 0x50 (EDID) responsive: true
Is eDP device: true
Is LVDS device: false
/sys/bus/i2c/devices/i2c-7/name: AMDGPU DM aux hw bus 0
EDID synopsis:
Mfg id: ZTR
Model: 156XX5419T02
Manufacture year: 2024
EDID version: 1.4
DDC communication failed
This is an eDP laptop display. Laptop displays do not support DDC/CI.

A mini-tela não aparece no ddcutil, no xrandr nem no lsusb. Ou seja, ela não é um monitor independente e não está ligada à GPU.

Pelo comportamento, tudo indica que a mini-tela é controlada diretamente pelo Embedded Controller (EC), fora do subsistema gráfico do Linux, o que explica por que não é possível controlá-la ou desligá-la via software.

É uma luta perdida…

1 curtida

Se o app da positivo consegue mudar o brilho, então é possível mudar por software…
Peguei um usb com uma live iso do mint e instalei o aplicativo.

Ao instalar, essa é uma das mensagens:
Instalando regra udev 99-ttyacm.rules…

Então provavelmente o aplicativo da minitela busca alguma porta serial pelo caminho /dev/tty…

Quando inicio o aplicativo pelo terminal isso aparece:

/usr/share/minitela/minitela 
Primeira execução, resetando GSettings...
Nenhuma porta serial encontrada.
open: No such file or directory
Porta serial inicializada com sucesso!
Sending brightness data: 0x41 0x48 0x80 0x9 0x0 0x90 0x80 0x0 0x7 0x0 0x0 0x0 0x64 0xe2 0xcb 0x4d 0x49 
Serial port is not open!
Serial port not available for writing.
/usr/bin/dbus-monitor
Failed to find AT Translated Set 2 keyboard
Final resulting byte array:
41 48 0 12 0 90 D0 7 D6 0 B 31 30 2F 30 31 20 30 30 3A 34 34 E2 CB 4D 49 
Serial port not available for writing.
Não foi possível ler a capacidade da bateria.
NOVA BATERIA: 0
Final resulting byte array:
41 48 0 9 0 90 D0 4 3A 0 2 30 25 E2 CB 4D 49 
NOVO BLUETOOTH: Desconectado
Final resulting byte array:
41 48 0 13 0 90 D0 4 3D 0 C 44 65 73 63 6F 6E 65 63 74 61 64 6F E2 CB 4D 49 
NOVO WIFI: Desconectado
Final resulting byte array:
41 48 0 13 0 90 D0 4 3B 0 C 44 65 73 63 6F 6E 65 63 74 61 64 6F E2 CB 4D 49 
Erro enviando multiplos buffers: Serial port not initialized.
Final resulting byte array:
41 48 0 8 0 90 D0 4 74 0 1 20 E2 CB 4D 49 
Final resulting byte array:
41 48 0 8 0 90 D0 4 75 0 1 20 E2 CB 4D 49 
Final resulting byte array:
41 48 0 8 0 90 D0 4 76 0 1 20 E2 CB 4D 49 
Final resulting byte array:
41 48 0 8 0 90 D0 4 77 0 1 20 E2 CB 4D 49 
Erro enviando multiplos buffers: Serial port not initialized.
Nenhuma porta serial encontrada.
Não foi possível ler a capacidade da bateria.
Nenhuma porta serial encontrada.
Não foi possível ler a capacidade da bateria.

Obviamente ele não vai conseguir se comunicar com a minitela (porque eu não tenho esse notebook ainda) mas ele tenta e mostra alguams mensagens durante a comunicação.

Ao tentar colocar o brilho em 100% essa é a mensagem:

Sending brightness data: 0x41 0x48 0x80 0x9 0x0 0x90 0x80 0x0 0x7 0x0 0x0 0x0 0x64 0xE2 0xCB 0x4D 0x49 

Ao tentar colocar em 0% essa é a mensagem:

Sending brightness data: 0x41 0x48 0x80 0x9 0x0 0x90 0x80 0x0 0x7 0x0 0x0 0x0 0x0 0xE2 0xCB 0x4D 0x49 

Tem um byte em específico que controla o brilho que muda de 0x0 pra 0x64… então pra desligar a tela é só enviar “0x41 0x48 0x80 0x9 0x0 0x90 0x80 0x0 0x7 0x0 0x0 0x0 0x0 0xE2 0xCB 0x4D 0x49“ pra porta serial da tela localizada no ttyACM dela, existem tutoriais disso por aí, se tu tiver muita paciência de testar, boa sorte :,)

1 curtida

Como eu havia comentado, sou um usuário iniciante em Linux e também em hardware no geral. Sozinho, eu jamais teria conseguido desligar a mini-tela.

Com a sua ajuda, deu certo — e sou muito grato por isso. Obrigado de verdade! Não tenho nem vocabulário o suficiente para expressar minha gratidão, odiava essa mini-tela.

Caso alguém também queira desligar, vou deixar os códigos. Só irá precisar copiar e colar no terminal:

1Verificar se a mini-tela é detectada:

No terminal:

ls /dev/ttyACM*

Resultado esperado:

/dev/ttyACM0

2Confirmar via kernel (opcional, mas é recomendado):

No terminal:

sudo dmesg | grep -i acm

Resultado esperado (ou semelhante):

cdc_acm … ttyACM0: USB ACM device

Isso confirma que o dispositivo é USB serial.

3 – Verificar permissões do dispositivo:

ls -l /dev/ttyACM0

Resultado esperado:

crw-rw---- 1 root dialout …

O importante é o grupo dialout.

4 – Verificar se o usuário pertence ao grupo dialout:

Por padrão, o usuário não pertence.

groups

Se o dialout não aparecer, execute:

sudo usermod -aG dialout $USER

:warning: IMPORTANTE: Após fazer isso, faça logout e login novamente. Ou reinicie, para ativar a permissão.

Depois confirme:

groups

5 – Configurar a porta serial:

Configure a porta ANTES de enviar qualquer comando:

stty -F /dev/ttyACM0 raw 115200 -echo

Se não aparecer nenhuma mensagem, está correto.

6 – Desligar a mini-tela (brilho 0%):

Execute:

echo -ne ‘\x41\x48\x80\x09\x00\x90\x80\x00\x07\x00\x00\x00\x00\xE2\xCB\x4D\x49’ > /dev/ttyACM0

A mini-tela irá apagar imediatamente.

(Opcional) Ligar novamente a min-tela (brilho 100%):

echo -ne ‘\x41\x48\x80\x09\x00\x90\x80\x00\x07\x00\x00\x00\x64\xE2\xCB\x4D\x49’ > /dev/ttyACM0

@Ayanami Obrigado mais uma vez!

1 curtida

PERA FUNCIONOU MESMO??? o.O FOI PRATICAMENTE UM CHUTE NO ESCURO SKSKSKKAKAKAKSKS

Quando meu note chegar eu já sei que pelo menos isso funciona! Valeu por testar :smiley:

Finalmente, estou em paz!

1 curtida

Boa, ainda bem que deu tudo certo. Tem que fazer alguma coisa adicional pra iniciar junto ao pc quando ele liga e volta de suspensão?

Nice : ) menos um problema.
Pelo menos tem um jeito deu desligar a tela pelo Manjaro, não tava afim de voltar pro Debian.

Acho que dá pra juntar tudo isso num script.
No xfce tem a opção de colocar scripts em sh para serem executados ao iniciar o notebook.
Daria pra até colocar o script pra rodar toda vez que você apertar o botão da minitela (eu acho).

ULTRAPASSADO — VEJA MEU PRÓXIMO POST!

Havia me esquecido completamente disso. Porém, é bem simples.


1 – Criar um script:

a. Crie o arquivo pelo terminal:

nano ~/desligar-minitela.sh

b. Cole exatamente isso:

#!/bin/bash

# Aguarda o sistema reconhecer a mini-tela:
sleep 2

# Configura a porta serial:
stty -F /dev/ttyACM0 raw 115200 -echo

# Envia o comando para desligar a mini-tela: 
echo -ne '\x41\x48\x80\x09\x00\x90\x80\x00\x07\x00\x00\x00\x00\xE2\xCB\x4D\x49' > /dev/ttyACM0

c. Torne o script executável:

chmod +x ~/desligar-minitela.sh


2 ­– Testar o script manualmente:

~/desligar-minitela.sh


3 – Criar o serviço systemd:

a. Crie o arquivo de serviço:

sudo nano /etc/systemd/system/desligar-minitela.service

b. Cole isso e altere o nome do usuário:

[Unit]
Description=Desligar mini-tela do Vision R15M
After=multi-user.target

[Service]
Type=oneshot
ExecStart=/home/USUÁRIO/desligar-minitela.sh
RemainAfterExit=true

[Install]
WantedBy=multi-user.target

:warning: Não esqueça de substituir o “USUÁRIO” pelo seu nome de usuário!


4 – Ativar o serviço:

sudo systemctl daemon-reexec

sudo systemctl daemon-reload

sudo systemctl enable desligar-minitela.service

5 - Testar o serviço sem reiniciar:

sudo systemctl start desligar-minitela.service

A mini-tela irá apagar, porém, pode ser que não apague e isso não será um problema.


6 – Teste final:

Apenas reiniciar o sistema:

sudo reboot


Extras (manutenção):

:page_facing_up: Ver status:

systemctl status desligar-minitela.service

:cross_mark: Desativar:

sudo systemctl disable desligar-minitela.service

:memo: Editar:

sudo nano /etc/systemd/system/desligar-minitela.service


Peço desculpas se a formatação ficou difícil de entender, nunca havia usado um fórum antes.

:warning: ALERTA: Atenção ao copiar e colar os comandos no terminal:
Copie exatamente como está no post, respeitando quebras de linha, aspas e espaços.
Se algum comando for colado de forma diferente, pode não funcionar corretamente.

1 curtida

Estão ficando famosos.A IA do google está pegando este tópico paravresolver problema de mini tela no Linux.

2 curtidas

Apareceu pra mim também kkk
Quem tem tempo e vontade consegue dar jeito em qualquer coisa, pelo menos da pra ligar/desligar a tela em qualquer distro (não só baseadas em debian).

COMO DESATIVAR A MINI-TELA — udev + systemd

:warning: IMPORTANTE: após seguir estes passos, ainda será necessário criar um hook do systemd-sleep para evitar que a mini-tela ligue novamente após suspensão ou ociosidade.

:right_arrow: Tutorial complementar (systemd-sleep):
Mini tela da Positivo no Linux - #142 de WesleyNextage

No meu post anterior havia deixado o script que desligava a mini-tela no boot do sistema, mas havia um pequeno problema. A mini-tela voltava a ligar após o sistema ficar ocioso ou retornar da suspensão em todos os casos.

Esse é meu tutorial de como ativar a regra no udev + systemd para desligar a tela automaticamente e impedir que ligue novamente.


1 ­– Criar o script:

(Caso tenha feito o tutorial do post anterior, não precisa criar o script novamente.)

a. Crie o arquivo para o script:

nano ~/desligar-minitela.sh

b. Cole exatamente o conteúdo abaixo:

#!/bin/bash 

# Aguarda o sistema reconhecer a mini-tela:
sleep 2

# Configura a porta serial:
stty -F /dev/ttyACM0 raw 115200 -echo

# Envia o comando para desligar a mini-tela:
echo -ne '\x41\x48\x80\x09\x00\x90\x80\x00\x07\x00\x00\x00\x00\xE2\xCB\x4D\x49' > /dev/ttyACM0

c. Torne o script executável:

chmod +x ~/desligar-minitela.sh


2 – Criar o serviço systemd (acionado pelo udev):

a. Crie o arquivo do serviço:

sudo nano /etc/systemd/system/desligar-minitela-udev.service

b. Cole:

[Unit]
Description=Desligar mini-tela ao reconectar
After=dev-ttyACM0.device
BindsTo=dev-ttyACM0.device

[Service]
Type=oneshot
ExecStart=/home/USUÁRIO/desligar-minitela.sh

[Install]
WantedBy=multi-user.target

:warning: ATENÇÃO: Substitua o USUÁRIO pelo seu nome de usuário.


3 – Criar a regra udev:

a. Crie a regra:

sudo nano /etc/udev/rules.d/99-desligar-minitela.rules

b. Cole:

ACTION=="add", KERNEL=="ttyACM0", TAG+="systemd", ENV{SYSTEMD_WANTS}+="desligar-minitela-udev.service"


4 – Recarregar tudo:

sudo systemctl daemon-reload


sudo udevadm control --reload-rules


sudo udevadm trigger

Enfim, isso é basicamente tudo que precisará fazer para conseguir desligar a mini-tela e evitar que ela acabe ligando novamente. A partir desse ponto, não é mais necessário manter um serviço separado apenas para o boot, que havia feito em meu post anterior.

Caso tenha criado um serviço separado apenas para o boot, ele pode ser removido com os comandos abaixo:

sudo systemctl disable desligar-minitela.service


sudo rm /etc/systemd/system/desligar-minitela.service


sudo systemctl daemon-reload

:warning: ATENÇÃO: Não apague o script! Ele será necessário para desligar a mini-tela!

Espero que tenha sido didático e o mais simples possível.


1 curtida

Apenas para acrescentar um ponto importante: acredito que muitas pessoas irão migrar do sistema nativo do notebook para distribuições como Zorin, Mint, etc. Durante esse processo, é possível que algumas não consigam ativar a mini-tela devido a limitações do sistema — ao menos por enquanto, ainda não temos uma solução definitiva para isso. Como o @Ayanami comentou: “Quem tem tempo e vontade consegue dar jeito em qualquer coisa”. Ainda assim, é importante lembrar que muitos usuários podem ser realmente iniciantes.

Sobre a configuração do script: você pode escolher livremente onde ele ficará no sistema. No meu caso, deixei o script em uma pasta no Dropbox:

/home/wesley/Dropbox/Config/Script/desligar-minitela.sh

Será necessário apenas ajustar os caminhos dos comandos conforme o local escolhido. Optei por mantê-los dentro da home por acreditar que seja a opção mais simples e intuitiva para novos usuários. No entanto, entendo que isso pode incomodar quem é mais criterioso com organização (ou TOC). A mudança não é obrigatória — faça apenas se realmente fizer sentido para você.

Teve algum problema de desempenho com programas, jogos, etc com o notebook até agora?

Estou utilizando o notebook há cerca de um mês e meio e, na minha rotina diária, faço uso de programas relativamente leves. Nesse cenário, não tive nenhum problema de desempenho até o momento.

No que diz respeito a jogos, consegui explorar um pouco mais o limite do hardware. Em jogos 3D, ele sofre em alguns casos, mas ainda assim é perfeitamente possível jogar títulos mais antigos. Testei jogos como Tomb Raider, Bioshock 1 e 2 e Fallout 3 / New Vegas apenas como referência, e todos rodaram de forma estável, mantendo-se próximos dos 60 FPS sem grandes dificuldades.

Existem vídeos no YouTube mostrando o notebook rodando jogos mais pesados, como GTA V. No entanto, apesar de ser tecnicamente possível, a experiência é bastante comprometida, com desempenho e estabilidade ruins — algo que, na prática, considero frustrante.

Passei bastante tempo jogando Project Zomboid. Apesar de ser um jogo relativamente leve, o uso de muitos mods o torna significativamente mais pesado, somado ao fato de ele não ser bem otimizado e utilizar uma versão antiga do Java. Ainda assim, foi possível jogar de forma confortável, com o FPS travado em 60, apresentando quedas perceptíveis apenas durante a direção de veículos. Fora isso, o desempenho se manteve estável.

De forma geral, para jogos leves o notebook dá conta sem problemas. Já para edição de vídeo e softwares mais pesados, ele ainda consegue entregar resultados satisfatórios, dentro das limitações da proposta do equipamento.

Vale destacar que o meu modelo conta com 24 GB de RAM, o que contribui bastante para essa experiência em jogos. Estou tendo uma ótima experiência, sendo bem sincero, meu único problema estava sendo a mini-tela incomodando.

ATUALIZAÇÃO IMPORTANTE — mini-tela continua ligando após suspensão / ociosidade

Após alguns testes, percebi que em alguns casos a mini-tela não dispara eventos udev ao retornar do modo ocioso ou da suspensão.
Ou seja: mesmo usando udev + systemd, o comando não é reexecutado, e a mini-tela acaba ligando novamente.

Isso não é erro do script, nem da regra udev — é o comportamento do hardware/driver.

A solução correta para esse cenário é usar um hook do systemd-sleep, que é executado sempre que o sistema acorda da suspensão.

Abaixo está o passo a passo complementar.


SOLUÇÃO: Desligar a mini-tela após suspensão (systemd-sleep)

Esse método garante que a mini-tela seja desligada sempre que o notebook acordar, independentemente de udev ou USB.


1 – Criar o hook de suspensão

Crie o arquivo:

sudo nano /usr/lib/systemd/system-sleep/desligar-minitela

Cole exatamente o conteúdo abaixo:

#!/bin/bash

case "$1" in
  post)
    # Aguarda o sistema estabilizar após acordar
    sleep 2

    # Desliga a mini-tela novamente
    /home/USUÁRIO/desligar-minitela.sh
    ;;
esac

:warning: AVISO: Troque novamente USUÁRIO, pelo seu usuário!


2 – Tornar o hook executável

sudo chmod +x /usr/lib/systemd/system-sleep/desligar-minitela

3 – Testar

Suspenda o sistema:

systemctl suspend

Espere alguns segundos e acorde o notebook.


Acredito que agora essa seja a solução definitiva — finalmente a vitória contra a bendita mini-tela. Se precisarem de ajuda, é só me marcar.

Caso alguém queira lapidar o código ou melhorar a solução, fique à vontade para complementar. Não sou especialista, apenas compartilhei o que funcionou para mim e o que tentei fazer funcionar.

1 curtida

Boas!

Cheguei nesse tópico porque fiquei curioso com esse note, e usar ele com Linux rs.

Pra quem comprou e usa ele no dia-a-dia, como está o uso da bateria? O hardware dele é bem atraente (Ryzen 7, 32gb de RAM, tela FHD) e o preço muito competitivo também. Isso chamou bastante minha atenção, mas queria saber como está o consumo de bateria dele. O meu atual, um Lenovo Gaming 3i, a bateria mal chega em 2h de uso leve, com tudo que dá pra desligar, desligado (iluminação do teclado, bluetooth, brilho da tela em 50%).

Não espero que esse Positivo seja igual os MacBooks ou os novos notebooks com Intel Core Ultra, que chegam a 20+ horas de bateria. Mas se chegasse em, pelo menos, umas 8h de bateria seria sensacional.

Muito obrigado!