You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Configuração da dock Dell WD19S com dois monitores 4K via MST. Inclui troubleshooting (X11 vs Wayland), limitações de banda, layout xrandr, firmware, portas USB-C/Thunderbolt e diagnóstico.
Guia de instalação e configuração do sistema: programas essenciais, Git, SSH, Docker, Dropbox, Sublime Text, uv (Python), Bash-it, aliases e atalhos do KDE.
Configuração do painel do KDE Plasma: relógio centralizado, wallpaper 4K (FillMode), painel replicado em múltiplos monitores, bandeja do sistema e taxa de repetição do teclado.
Data: 2026-02-14
Equipamento: Dell XPS (Intel Iris Plus G7, Ice Lake) + Dock Dell WD19 (USB-C/Thunderbolt)
OS: Arch Linux (EndeavourOS), systemd-boot com UKI (dracut), ESP em /efi/
1. Hardware
Componente
Modelo
Notebook
Dell XPS (Intel Iris Plus Graphics G7, Ice Lake)
Dock
Dell WD19 (USB-C, nao Thunderbolt)
Monitor 1
Samsung LU28R55 28" 4K
Monitor 2
Samsung LU28R55 28" 4K
GPU
Intel Iris Plus Graphics G7
Conexao
USB-C com DisplayPort MST
2. O problema original
O notebook Dell XPS com Arch Linux (EndeavourOS) conectado a uma dock Dell WD19 via USB-C não reconhecia os monitores externos. Periféricos USB (ethernet, hub, teclado) funcionavam, mas a saída de vídeo não. Ao conectar a dock, o sistema travava completamente.
O sistema estava rodando Wayland (KDE Plasma / KWin) com kernel mainline 6.18.9-arch1-2.
3. O que tentamos e NÃO funcionou
3.1 Recarregar módulos typec (sem reiniciar)
Suspeitou-se de bug no módulo typec_ucsi / typec_displayport (reference count -1, WARNING no kernel em drivers/usb/typec/class.c:311).
Resultado: sistema travou. Os módulos typec ficaram em estado inconsistente.
3.2 Kernel LTS (ainda no Wayland)
Instalamos o kernel LTS para testar se era regressão do kernel mainline:
sudo pacman -S linux-lts linux-lts-headers
Reiniciamos e selecionamos o kernel LTS 6.12.71-1-lts no boot.
Resultado: dock ainda travava o sistema. O kernel LTS não resolveu porque o problema não era do kernel.
3.3 Parâmetro i915.enable_dp_mst=1
Adicionamos ao cmdline do kernel para garantir suporte a MST (Multi-Stream Transport, usado pela dock para múltiplos monitores):
i915.enable_dp_mst=1
Resultado: já estava ativo, não fez diferença. O problema não era do driver i915.
3.4 Descarregar módulos typec antes de conectar a dock
Tentamos descarregar os módulos typec antes de plugar a dock para evitar o bug:
sudo modprobe -r typec_displayport typec_ucsi ucsi_acpi
# Então conectar a dock
Resultado: travou igual. O problema era mais baixo nível que os módulos typec.
3.5 Blacklist parcial (só typec_displayport)
Criamos blacklist em /etc/modprobe.d/:
echo"blacklist typec_displayport"| sudo tee /etc/modprobe.d/blacklist-typec.conf
Resultado: dock era reconhecida mas sistema ainda travava.
3.6 Blacklist total (typec_displayport + typec_ucsi + ucsi_acpi)
Blacklist completo de todos os módulos typec:
cat <<EOF | sudo tee /etc/modprobe.d/blacklist-typec.confblacklist typec_displayportblacklist typec_ucsiblacklist ucsi_acpiEOF
Confirmamos que nenhum módulo typec estava carregado com lsmod | grep typec.
Resultado: dock AINDA travava o sistema mesmo sem nenhum módulo typec. Isso descartou definitivamente typec como causa raiz.
Lição: Arquivos em /etc/modprobe.d/ NÃO podem ter espaços antes de #. O parser do kmod rejeita silenciosamente linhas com indentação antes do #. Sempre colocar # no início da linha.
4. O que funcionou
4.1 Sessão X11 em vez de Wayland
Após descartar kernel, i915, thunderbolt e typec, testamos trocar o compositor. No SDDM, selecionamos a sessão Plasma (X11) em vez de Plasma (Wayland).
Resultado: FUNCIONOU. No X11 a dock reconheceu os monitores imediatamente.
Causa raiz confirmada: deadlock no KWin (Wayland) ao receber hotplug de conector DP via Thunderbolt. O problema é exclusivo do compositor Wayland do KDE, não do kernel nem de qualquer módulo.
4.2 Resolver tela preta no monitor externo
Ao trocar para X11, o monitor externo inicialmente ficava com tela preta. Isso porque tentava usar 60Hz, que a dock/monitor não suportava via MST.
Fix - forçar 4K@30Hz:
xrandr --output DP-1-1 --mode 3840x2160 --rate 30
4.3 Layout final com 3 telas
Configuramos o layout com dois monitores 4K externos e o notebook embaixo:
O KDE não preenchia a tela toda no monitor 4K (só metade direita). Fix:
Editar ~/.config/plasma-org.kde.plasma.desktop-appletsrc e adicionar FillMode=2 na seção do Containment do monitor externo. Depois reiniciar o plasmashell:
plasmashell --replace &
4.5 Kernel LTS como padrão
Decidimos ficar com o kernel LTS (6.12.71-1-lts) como padrão por estabilidade. O kernel mainline (6.18.9) foi mantido instalado mas não é o default.
Instalação:
sudo pacman -S linux-lts linux-lts-headers
4.6 Boot rápido (timeout 1 segundo)
Reduzimos o timeout do systemd-boot de 5 para 1 segundo:
sudo sed -i 's/^timeout 5$/timeout 1/' /efi/loader/loader.conf
Conteúdo final de /efi/loader/loader.conf:
default c2ec44b30fc1444d82001e25c0a1dbe9*
timeout 1
console-mode auto
reboot-for-bitlocker 1
4.7 Autologin no SDDM (X11 sem senha)
Habilitamos autologin para entrar direto na sessão X11 sem pedir senha:
sudo sed -i 's/^#User=rg3915$/User=rg3915/' /etc/sddm.conf
sudo sed -i 's/^#Session=plasma$/Session=plasmax11/' /etc/sddm.conf
Testar kernel mainline 6.18.9 com X11 + dock para confirmar se funciona no X11 (se não funcionar, remover linux e linux-headers)
Atualizar firmware da dock via fwupd: fwupdmgr get-devices && fwupdmgr update
Remover blacklist de typec se ainda existir: sudo rm /etc/modprobe.d/blacklist-typec.conf
8. Portas USB-C / Thunderbolt do Notebook
O notebook possui 2 portas USB-C com Thunderbolt 3 (controlador Intel Ice Lake).
Controladores PCI
00:0d.0 - Intel Ice Lake Thunderbolt 3 USB Controller
→ Bus 1 (USB 2.0, 480 Mbps) + Bus 2 (USB 3.1 Gen 2, 10 Gbps)
→ Thunderbolt domain0 — DOCK CONECTADA AQUI
00:14.0 - Intel Ice Lake-LP USB 3.1 xHCI Host Controller
→ Bus 3 (USB 2.0, 480 Mbps) + Bus 4 (USB 3.1 Gen 2, 10 Gbps)
→ Thunderbolt domain1 — PORTA LIVRE
00:0d.2 - Thunderbolt 3 NHI #0 (domain0)
00:0d.3 - Thunderbolt 3 NHI #1 (domain1)
Capacidades de cada porta USB-C
Recurso
Suporte
Thunderbolt 3
Sim (40 Gbps)
USB 3.1 Gen 2
Sim (10 Gbps)
DisplayPort Alt Mode
Sim
Power Delivery
Sim
Geração TB
3
Segurança TB
none
Dispositivos conectados via dock (Bus 2)
Bus 002 (10 Gbps USB 3.1)
└── Dell dock (Realtek RTL0487, hub USB 3.1, 10 Gbps)
├── Dell dock (Realtek RTL0413, hub interno, 5 Gbps)
└── RTL8153 Gigabit Ethernet (5 Gbps)
Bus 003 (480 Mbps USB 2.0 — via xHCI, mas dock tem perna USB 2.0 também)
├── Dell dock (RTL5487, hub USB 2.0)
│ └── Dell dock (RTL5413, hub interno)
│ ├── Teclado/Mouse 2.4G Wireless (Xenta)
│ └── Dell dock HID devices
├── Goodix FingerPrint
├── Integrated Webcam HD
└── Intel AX201 Bluetooth
Comandos para diagnóstico USB
# Ver árvore USB com velocidades
lsusb -t
# Monitorar conexões em tempo real
watch -n 1 'lsusb -t'# Velocidades: 480M = USB 2.0, 5000M = USB 3.0, 10000M = USB 3.1 Gen 2# Ver geração Thunderbolt
cat /sys/bus/thunderbolt/devices/*/generation
# Ver domínios TB
ls /sys/bus/thunderbolt/devices/
9. Por que 4K@30Hz e NÃO 60Hz pela Dock (MST)
O gargalo: banda do DisplayPort via MST
A dock WD19 usa MST (Multi-Stream Transport) para dividir uma única conexão DisplayPort em duas saídas. O Thunderbolt 3 fornece tipicamente 2 lanes DP ao dock (as outras ficam para dados USB/TB).
Cálculo de banda:
Item
Valor
Lanes DP disponíveis para dock
2
Velocidade por lane (HBR2)
5.4 Gbps
Banda DP total (bruta)
~17.28 Gbps
Banda DP efetiva (8b/10b)
~13.8 Gbps
4K@60Hz por monitor (com overhead)
~12-15 Gbps
4K@30Hz por monitor (com overhead)
~6-7.5 Gbps
Resultado:
Configuração
Banda necessária
Banda disponível
Funciona?
2× 4K@30Hz
~13-15 Gbps
~17 Gbps
Sim
1× 4K@60Hz + 1× 4K@30Hz
~20-22 Gbps
~17 Gbps
Não
2× 4K@60Hz
~25-30 Gbps
~17 Gbps
Não
2× 2560x1440@60Hz
~12-14 Gbps
~17 Gbps
Sim
Dados do xrandr confirmando
Ambos os monitores listam 60Hz como modo disponível (inclusive +preferred), mas o modo ativo é 30Hz (*current):
10. Solução: 2× 4K@60Hz (um monitor por porta TB3)
O plano
Em vez de passar os dois monitores pelo dock (MST compartilhado), conectar cada monitor a uma porta Thunderbolt separada:
Porta TB3 #1 (domain0): Dock WD19 → 1 monitor via DP da dock + USB/ethernet
Porta TB3 #2 (domain1): Adaptador USB-C → DisplayPort → segundo monitor
Cada monitor terá seu próprio link DP dedicado com banda suficiente para 4K@60Hz.
O que muda
Antes (tudo pela dock)
Depois (split)
Dock → Monitor 1 + Monitor 2 (MST)
Dock → Monitor 1
Porta 2 livre
Porta 2 → Adaptador USB-C/DP → Monitor 2
2× 4K@30Hz
2× 4K@60Hz
O que precisa comprar
1 adaptador USB-C para DisplayPort (ou cabo USB-C para DP direto)
Deve suportar DP 1.2+ e 4K@60Hz
Exemplo: adaptador USB-C to DP 1.4 (qualquer marca razoável serve)
Ajustes no kernel cmdline
Remover o forçamento de 30Hz:
# Remover 'video=DP-5:3840x2160@30' do cmdline do kernel# Editar o arquivo de config do UKI/dracut conforme seu setup
Novo comando xrandr
# Os nomes das saídas podem mudar — verificar com xrandr primeiro
xrandr --output DP-1-1 --mode 3840x2160 --rate 60 --pos 0x0 \
--output DP-X-X --mode 3840x2160 --rate 60 --pos 3840x0 \
--output eDP-1 --mode 1920x1200 --pos 960x2160 --primary
(Substituir DP-X-X pelo nome real da saída do segundo monitor — verificar com xrandr após conectar.)
11. Energia e Carregamento via Dock
Data: 2026-02-19
Status atual
Item
Valor
Fonte de energia
AC online via dock (USB-C PD)
Status bateria
Fully charged (99%)
Energy rate
0 W (não carregando/descarregando)
Voltage atual
8.036 V
Voltage mínimo design
7.6 V
Temperatura bateria
35.3°C
Saúde da bateria
Item
Valor
Capacidade atual (energy-full)
31.5 Wh
Capacidade de fábrica (energy-full-design)
51.0 Wh
Saúde
61.8% (perdeu ~38% da capacidade original)
Fabricante
LGC (LG Chem)
Modelo
DELL 2XXFW08
Tecnologia
Lithium-polymer
Threshold de carga
Inicia em 75%, para em 80%
A bateria está com degradação significativa (~38% de perda). Isso é esperado para uma bateria com alguns anos de uso. O carregamento via dock está funcionando normalmente — o notebook mantém a carga e opera sem problemas conectado à dock.
Nota: Os thresholds de carga (75-80%) estão configurados para preservar a vida útil restante da bateria. Isso é uma boa prática.
12. Desempenho do Notebook
Data: 2026-02-19
CPU
Item
Valor
Driver
intel_pstate
Governor
powersave
Energy performance preference
balance_performance
Turbo boost
Habilitado
Frequência máxima
3.9 GHz
Frequência atual (idle)
~1.2-1.4 GHz
Cores/threads
8
Temperaturas
Sensor
Temperatura
CPU Package (x86_pkg_temp)
64°C
TMEM (memória)
52°C
TSKN (chassis)
53°C
TVR (VR)
53°C
TAMB (ambiente)
46°C
WiFi (iwlwifi)
44°C
B0D4
62°C
Memória
Item
Valor
Total
16 GB
Usada
8.5 GB
Disponível
6.7 GB
Carga do sistema
Item
Valor
Load average (1/5/15 min)
2.34 / 2.64 / 2.35
Uptime
44 min
Veredito de desempenho
O desempenho está bom e saudável:
Governor powersave + balance_performance é a configuração recomendada para intel_pstate. Apesar do nome "powersave", o intel_pstate ainda permite que a CPU suba para frequência máxima quando necessário — a diferença para "performance" é mínima e desperdiça energia.
Turbo boost habilitado — a CPU pode chegar a 3.9 GHz quando necessário.
Temperaturas normais — 64°C no pacote é saudável (throttling começa em ~100°C).
RAM com folga — 6.7 GB disponível de 16 GB total.
Load average ~2.3 em 8 threads = ~29% de uso médio, muito confortável.
Nenhum sinal de throttling térmico ou power throttling.
13. Comandos úteis para diagnóstico
# Ver monitores conectados
xrandr
# Ver conectores DRMforfin /sys/class/drm/card1-*/status;doecho"$f: $(cat $f)";done# Ver módulos thunderbolt/i915/typec
lsmod | grep -iE "i915|typec|thunderbolt"# Logs do kernel
journalctl -b --no-pager | grep -iE "thunderbolt|typec|displayport|dp_alt|alt.mode"# Rebuild kernel (EndeavourOS com dracut)
reinstall-kernels
# Ver config do bootloader
sudo cat /efi/loader/loader.conf
# Ver config do SDDM
cat /etc/sddm.conf
# Ver árvore USB com velocidades
lsusb -t
# Monitorar conexões USB em tempo real
watch -n 1 'lsusb -t'# Ver informações de energia
upower -i /org/freedesktop/UPower/devices/battery_BAT0
# Ver governor e frequência da CPU
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor | sort -u
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq
# Ver temperaturasfortzin /sys/class/thermal/thermal_zone*/;doecho"$(cat $tz/type): $(cat $tz/temp)";done
Histórico: Pop!_OS (setup anterior)
Antes de migrar para Arch Linux, o mesmo hardware foi usado no Pop!_OS 24.04 com COSMIC/Wayland. Nesse ambiente, os monitores eram nomeados DP-5/DP-6 (em vez de DP-1-1/DP-1-2) e a ferramenta usada era cosmic-randr em vez de xrandr.
Dropbox - Ícone na bandeja do KDE Plasma (Wayland)
Problema
No KDE Plasma com Wayland, o Dropbox inicia via systemd mas o ícone não aparece na bandeja do sistema. O serviço roda normalmente e sincroniza arquivos, porém sem interface visual.
Causa raiz
O serviço dropbox.service inicia antes das variáveis de ambiente gráficas (DISPLAY, WAYLAND_DISPLAY, XDG_CURRENT_DESKTOP) serem importadas para o systemd. Sem essas variáveis, o Dropbox não consegue se registrar no StatusNotifierWatcher do KDE.
Solução
Editar o override do serviço para esperar o plasma-core.target, que garante que o plasmashell (e a bandeja) estejam prontos.
# Verificar se o serviço está rodando
systemctl --user status dropbox.service
# Verificar se o ícone está na bandeja (deve listar "dropbox_client_*")
dbus-send --session \
--dest=org.kde.StatusNotifierWatcher \
--type=method_call --print-reply \
/StatusNotifierWatcher \
org.freedesktop.DBus.Properties.Get \
string:'org.kde.StatusNotifierWatcher' \
string:'RegisteredStatusNotifierItems'# Verificar se o processo tem as variáveis de ambiente corretas
cat /proc/$(pgrep -x dropbox)/environ | tr '\0''\n'| grep -E '(DISPLAY|WAYLAND)'
Autostart duplicado (XDG)
O pacote dropbox instala ~/.config/autostart/dropbox.desktop. O systemd converte esse arquivo automaticamente no serviço transiente app-dropbox@autostart.service via systemd-xdg-autostart-generator. Isso causa duas instâncias competindo:
app-dropbox@autostart.service inicia primeiro, sem variáveis gráficas (sem ícone)
dropbox.service (com override) inicia depois, detecta a instância existente e sai
Fix
Remover o arquivo autostart para que apenas o dropbox.service gerencie o Dropbox:
rm ~/.config/autostart/dropbox.desktop
Atenção: atualizações do pacote dropbox podem recriar este arquivo. Se o ícone sumir após um pacman -Syu, verificar se o arquivo reapareceu.
Diagnóstico rápido
Se o ícone sumir novamente, verificar nesta ordem:
Autostart duplicado?ls ~/.config/autostart/dropbox.desktop — se existir, remover
Serviço rodando?systemctl --user status dropbox.service
Outra instância rodando?pgrep -a dropbox — se houver processo fora do serviço, matar e reiniciar
Nota: Os IDs dos applets (3, 4, 5, 21, 25, etc.) podem variar entre instalacoes. Verifique o campo plugin= de cada [Containments][X][Applets][Y] para identificar qual e qual.
Relogio digital: org.kde.plasma.digitalclock
Espacador: org.kde.plasma.panelspacer
Reiniciar o Plasma
kquitapp6 plasmashell && kstart plasmashell
Formato do relogio
Para exibir: sab., 14 de fev., 02:32:45 (tudo em uma linha)
Nota: Apos criar via qdbus, verificar se dateDisplayFormat=BesideTime e showDate=true foram escritos corretamente na secao [Configuration][Appearance] do arquivo de config. A API pode omitir esses campos, sendo necessario adiciona-los manualmente e reiniciar o plasmashell:
Por padrao, o icone da bateria fica escondido dentro do menu da bandeja. Para deixa-lo sempre visivel, adicionar shownItems na secao [General] do system tray de cada monitor:
Ambos aparecerao no menu de aplicativos do KDE apos a instalacao.
8. VLC
sudo pacman -S vlc
9. xclip e batcat
xclip
Utilitario de clipboard via terminal.
sudo pacman -S xclip
Uso:
# Copiar conteudo de um arquivo para o clipboard
xclip -sel clip < arquivo.txt
# Copiar saida de um comandoecho"texto"| xclip -sel clip
# Colar do clipboard
xclip -sel clip -o
bat (batcat)
Substituto do cat com syntax highlighting e paginacao.
sudo pacman -S bat
No Arch o comando ja e bat (nao batcat como no Debian/Ubuntu).
Uso:
bat arquivo.py
bat --theme=TwoDark arquivo.js
Alias configurado em ~/.bash_aliases:
alias cat=bat
10. uv (gerenciador Python)
uv e um gerenciador de pacotes e ambientes Python extremamente rapido (escrito em Rust).
bash-it enablealias git
bash-it enable plugin history
bash-it enable completion docker
bash-it disable alias git
bash-it show aliases
bash-it show plugins
bash-it show completions
Tema customizado: rg3915
Localizado em ~/.bash_it/custom/themes/rg3915/rg3915.theme.bash
Funcionalidades:
Mostra versao do Python em laranja (py-3.12.x)
Mostra nome do virtualenv em laranja ((.venv))
Indicador de status do Git: ✓ (limpo, verde) / ✗ (alterado, vermelho)