Estado do Wayland multi-player

O suporte emergente do Wayland a múltiplos cursores independentes e “seats” está abrindo novas possibilidades, como colaboração real entre vários usuários em uma única máquina, jogos com múltiplos ponteiros e a separação de entrada por toque ou tablet do cursor principal. Comentadores contrastam isso com a extensão Multi-Pointer X mais antiga do X11, observam que toolkits e aplicativos geralmente assumem uma única janela em foco por usuário e explicam por que adicionar suporte completo a multi-seat é muito mais complexo do que apenas desenhar cursores extras. O debate também aborda lacunas e soluções alternativas relacionadas no stack moderno do desktop Linux — como compartilhamento de tela, desktop remoto e layouts de displays virtuais — argumentando que modelos mais ambiciosos de entrada e seats poderiam desbloquear recursos cotidianos melhores.

Wayland multi-cursor / multi-seat vs X11

  • Vários comentários observam que o X11 suporta múltiplos cursores via MPX desde cerca de 2009, mas isso é frágil: quebra o foco do aplicativo, arrastar e soltar, e pode derrubar toolkits.
  • A abstração de “seat” do Wayland permite agrupar dispositivos de entrada (ponteiro, teclado, touch, tablet) por seat, cada um com seu próprio cursor e foco.
  • Alguns veem o artigo mais como sobre “desktops multi-player” (várias pessoas colaborando) do que apenas vários ponteiros.

Desafios do toolkit e do modelo de foco

  • Muitos toolkits GUI e aplicativos assumem:
    • Uma única janela em foco por aplicativo.
    • Um único foco de teclado e ponteiro.
  • Isso quebra com múltiplos seats: você precisa de foco por seat e possivelmente APIs de janela ativa por seat.
  • Há quem duvide que aplicações típicas em GTK/Qt, muitas vezes com dificuldades até com multitouch, consigam lidar bem com multi-seat sem um trabalho substancial nas bibliotecas.

Casos de uso e configurações no mundo real

  • Pair programming e multiplayer local: mouses e teclados separados mapeados para seats separados, às vezes já feito com sway e compositores semelhantes.
  • Telas sensíveis ao toque: atribuir uma touchscreen ao seu próprio seat permite que usuários rolem uma janela enquanto digitam em outra sem mudar ponteiro/foco.
  • Tablets de desenho e MR/VR: é comum desejar que tablet/toque não movam o cursor “principal”; alguns se surpreendem de que o comportamento atual de múltiplos cursores em tablets pareça um bug.
  • Ergonomia e experimentação: teclados divididos com trackballs, vários mouses para alternar entre mãos, desktops com cursor duplo imaginados e “localizações” do cursor para saltar entre elas.

Compartilhamento de tela, PipeWire e complexidade

  • Há discordância sobre quão “pronto para uso” é o compartilhamento de tela no Wayland:
    • Alguns relatam que funciona bem em desktops modernos.
    • Outros destacam a infraestrutura necessária (sessão dbus, portais, PipeWire) e argumentam que a falta de qualquer peça quebra o compartilhamento, ao contrário de configurações X11 mais simples.
  • A discussão relacionada toca na ausência de um protocolo central do Wayland para compartilhamento de tela versus protocolos específicos de compositor/teste.

Desktop remoto, seats e mobilidade no estilo RDP

  • Um longo subthread discute melhorar o suporte a múltiplos seats físicos no Linux e alcançar o rápido alternar de usuários no estilo Windows com RDP.
  • O modelo atual do logind vincula sessões de forma imutável aos seats; a abordagem proposta envolve mover sessões entre sessões do logind e compositores capazes de trocar backends em tempo de execução.
  • Ambientes sem systemd são apontados como uma área em aberto, “incerta”.

Outros desvios

  • O suporte a Web PointerEvents aceita múltiplos ponteiros, mas ainda assume um único “jogador” (foco único/digitação única).
  • VNC é debatido: chamado de “antigo”, mas outros apontam captura/encodificação modernos acelerados por GPU e clientes melhores para reduzir a latência.
  • Questões menores mencionadas incluem bugs de renderização móvel no site do artigo e desejos como inércia do ponteiro em trackpads.