Lançamento do Wayland-Protocols 1.35

Foi publicado o lançamento do pacote wayland-protocols 1.35, que contém um conjunto de protocolos e extensões que complementam as funcionalidades do protocolo básico Wayland e fornecem as capacidades necessárias para construir servidores de composição e ambientes de usuário.

Todos os protocolos passam por três fases: desenvolvimento, teste e estabilização. Após a conclusão da fase de desenvolvimento (categoria "unstable"), o protocolo é colocado na branch "staging" e oficialmente incluído no conjunto de wayland-protocols. Após a conclusão dos testes, ele é movido para a categoria estável. Protocolos da categoria "staging" já podem ser utilizados em servidores compostos e clientes onde a funcionalidade relacionada é necessária. Ao contrário da categoria "unstable", a "staging" proíbe alterações que quebrem a compatibilidade, mas se problemas ou pendências forem descobertos durante os testes, a substituição por uma nova versão significativa do protocolo ou outra extensão do Wayland não é descartada.

Na nova versão:

  • O protocolo tablet-v2 foi classificado como estável, oferecendo ferramentas para a organização de entrada a partir de tablets gráficos.
  • Adicionado o novo protocolo alpha-modifier à categoria 'staging', que permite aos clientes alterar o nível de transparência da superfície e delegar as operações de transparência para o lado do servidor de composição, que, por sua vez, pode redirecionar essas operações para o KMS.
  • No protocolo xdg-shell, foi adicionada a recomendação de não exibir decoração fora dos limites geométricos da janela ao utilizar um layout de janelas em mosaico.

Atualmente, o conjunto de wayland-protocols inclui os seguintes protocolos estáveis, que garantem compatibilidade retroativa:

  • "viewporter" — permite que o cliente realize ações de escala e corte das bordas da superfície no lado do servidor.
  • "presentation-time" — fornece a exibição de vídeo.
  • «xdg-shell» — uma interface para criar e interagir com superfícies como janelas, permitindo movê-las pela tela, minimizá-las, restaurá-las, redimensioná-las, etc.
  • "linux-dmabuf" — permite o compartilhamento de várias placas de vídeo através da tecnologia DMA-BUF (possibilita a criação de wl_buffer com base em DMA-BUF).
  • «tablet» — organização de entrada a partir de tablets gráficos.

Protocolos testados na ramificação «staging»:

  • drm-lease — fornece os recursos necessários para formar uma imagem estereoscópica com buffers diferentes para o olho esquerdo e o direito ao exibir em headsets de realidade virtual.
  • «ext-session-lock» — define os meios para bloquear a sessão, por exemplo, durante a execução do protetor de tela ou a exibição de um diálogo de autenticação.
  • «single-pixel-buffer» — permite criar buffers de um único pixel, incluindo quatro valores de 32 bits RGBA.
  • «xdg-activation» — permite transferir o foco entre diferentes superfícies de primeiro nível (por exemplo, através do xdg-activation, um aplicativo pode mudar o foco para outro).
  • content-type — permite que os clientes transmitam ao compositor servidor informações sobre o conteúdo exibido, que podem ser usadas para otimizar o comportamento levando em conta o conteúdo, como a definição de propriedades DRM específicas, como 'tipo de conteúdo'. O suporte foi declarado para os seguintes tipos de conteúdo: none (sem informações sobre o tipo de dado), photo (exibição de fotos digitais, exigindo mínimo processamento), video (vídeo ou animação, requerendo sincronização mais precisa para evitar engasgos) e game (execução de jogos, requerendo saída com mínima latência).
  • ext-idle-notify — permite que os servidores de composição enviem notificações de inatividade do usuário aos clientes, o que pode ser utilizado para ativar modos adicionais de economia de energia após um determinado tempo de inatividade.
  • tearing-control — permite desativar a sincronização vertical (VSync) com um pulso de inibição de quadros em aplicativos em tela cheia, que é aplicado para prevenir o aparecimento de rasgos na exibição (tearing). Em aplicativos multimídia, o aparecimento de artefatos devido a rasgos é um efeito indesejado, mas em programas de jogos artefatos podem ser tolerados se a luta contra eles resultar em atrasos adicionais.
  • ext-foreign-toplevel-list — obtenção de informações sobre superfícies localizadas no nível superior (toplevel), que permitem a fixação de janelas sobre outro conteúdo, por exemplo, para conectar painéis e alternadores de janelas personalizados.
  • security-context — permite identificar clientes que utilizam isolamento sandbox. O cliente pode registrar uma nova conexão ao servidor compositor baseado em Wayland e anexar a ela um contexto de segurança, após o qual, de acordo com o contexto de segurança especificado, o gerenciador de composição limitará as capacidades disponíveis para a conexão estabelecida.
  • cursor-shape — um método alternativo de configuração da aparência do cursor, baseado na transmissão de uma série de imagens do cursor em vez de vincular a uma superfície (wl_surface).
  • «ext-transient-seat» é destinado à criação de sessões temporárias independentes (seat), projetadas para uso com dispositivos de entrada virtuais. Por exemplo, ao implementar a capacidade de se conectar a desktop remoto o protocolo permite criar uma sessão separada com teclado e mouse virtuais para cada usuário.
  • «xdg-toplevel-drag» expande o mecanismo de «drag & drop» com a capacidade de anexar janelas de topo à operação de movimentação, o que pode ser usado, por exemplo, para organizar o arraste de barras de ferramentas ou guias de navegador. O novo protocolo permite criar partes destacáveis da janela, que ao serem arrastadas para fora dessa janela tornam-se novas janelas e podem se mover sobre janelas existentes antes de serem reconectadas.
  • «xdg-dialog» permite atribuir a superfícies de topo características específicas para janelas de diálogo, por exemplo, é possível criar diálogos modais que bloqueiam a interação do usuário com o restante da interface.
  • «linux-drm-syncobj» fornece ferramentas para sincronização explícita e buffers usando objetos de sincronização DRM (Direct Rendering Manager). Supõe-se que no contexto de sincronização ao renderizar em buffer, o protocolo proposto melhorará o trabalho com drivers baseados nas APIs gráficas Vulkan e OpenGL (a implementação é baseada em manipuladores nos drivers). O novo protocolo permite garantir que a operação de renderização no buffer esteja concluída antes que o gerenciador de composição exiba esse buffer.

Protocolos em desenvolvimento na ramificação «unstable»:

  • «fullscreen-shell» — gerenciamento de operação em modo de tela cheia.
  • «input-method» — processamento de métodos de entrada.
  • «idle-inhibit» — bloqueio do início do protetor de tela.
  • «input-timestamps» — carimbos de tempo para eventos de entrada.
  • «keyboard-shortcuts-inhibit» — gerenciamento de combinações de teclas e atalhos.
  • «linux-explicit-synchronization» — mecanismo de sincronização de buffers específico para Linux atrelado à superfície.
  • «pointer-gestures» — controle a partir de telas sensíveis ao toque.
  • «pointer constraints» — restrições de ponteiro (bloqueio).
  • «primary-selection» — semelhante ao X11, fornece o funcionamento do buffer de troca primário (primary selection), cuja inserção de informação geralmente é feita pelo botão do meio do mouse.
  • «relative pointer events» — eventos de ponteiro relativos.
  • «text-input» — organização da entrada de texto.
  • «xdg-foreign» — interface de interação com superfícies de clientes «vizinhos».
  • «xdg-decoration» — renderização de decorações de janelas do lado do servidor.
  • «xdg-output» — informações adicionais sobre a saída de vídeo (usada para escalonamento fracionário).
  • «xwayland-keyboard-grab» — captura de entrada em aplicativos XWayland.
  • Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster