Aconteceu Lançamento do kmscon 10.0 – um emulador de terminal criado como substituto do console do kernel. Em vez da subsistema do kernel vt, o kmscon utiliza KMS e implementa a funcionalidade necessária no espaço do usuário.
Essa abordagem resolve o problema da baixa qualidade do código na subsistema vt e a falta de experiência dos mantenedores, tornando praticamente impossível o desenvolvimento futuro dessa subsistema.
Recursos do kmscon:
- possibilidade de configurar todas as opções através de argumentos de linha de comando ou arquivo de configuração;
- possibilidade de especificar o dispositivo de saída. São suportados dispositivos fbdev e DRM;
- possibilidade de especificar o modo de vídeo (resolução e orientação da tela);
- possibilidade de configurar um esquema de cores personalizado;
- possibilidade de habilitar a aceleração gráfica de hardware usando GLESv2;
- possibilidade de desligar automaticamente o display após um tempo de inatividade;
- suporte a sessões alternadas por hotkey (semelhantes às sessões VT), o número máximo de sessões por padrão é 50;
- renderização de fontes modernas com suporte a hinting, suavização subpixel e todas as outras funcionalidades fornecidas pelas bibliotecas freetype e pango. GNU Unifont e fontes padrão 8×16 também são suportados. Unicode está completamente implementado;
- possibilidade de especificar tamanhos de fonte, inclusive por hotkey durante a execução, resolvendo assim o problema de exibição em telas HiDPI;
- integração com libxkbcommon, incluindo a possibilidade de definir o modelo e o layout do teclado;
- suporte a mouse. Pode-se usar o cursor tanto software quanto hardware;
- suporte a rolagem de texto (buffer de scrollback), tanto por hotkeys quanto usando o botão do meio do mouse. Ao usar o mouse, a rolagem natural pode ser configurada.
Como funciona
o kmscon é iniciado na inicialização do sistema como um serviço convencional usando seu sistema de inicialização.
Se o kmscon detectar VT-dispositivos no sistema, ele encontra um livre e o ocupa. Isso permite que, em sistemas normais (com VT em uso), você possa alternar para o kmscon como um console do kernel comum usando a hotkey Ctrl+Alt+F<num>.
Se houver um serviço, como o getty, já em execução no dispositivo VT que você deseja alocar para o kmscon, esse serviço deve ser interrompido. Isso é configurável dependendo do sistema; por exemplo, no caso do Busybox, é necessário editar /etc/inittab.
Se a subsistema VT não estiver ativada (ou seja, se no arquivo de configuração do kernel estiver definido CONFIG_VT=n, que é exatamente o objetivo do desenvolvimento do kmscon), o kmscon simplesmente ocupa o dispositivo de saída especificado na configuração. Após isso, é necessário usar suas sessões internas.
Aplicativos GUI, como o servidor X, devem ser iniciados a partir da sessão kmscon usando o programa especial kmscon-launch-gui. Isso é necessário para a correta transferência de posse de recursos, em particular o dispositivo de saída.
Mudanças na versão 10.0
- foi adicionada a geração de um arquivo específico do kmscon com a base terminfo. A variável de ambiente TERM=kmscon pode ser definida tanto no shell quanto através de um argumento CLI ou opção de configuração.
- suporte a fontes com largura variável, e não apenas monoespaçadas.
- suporte para obtenção de recursos (como dispositivo DRM) através do libseat. Isso, a longo prazo, permitirá executar o kmscon em sessões de usuário, e não apenas como root, como é atualmente.
Fonte: linux.org.ru
