terça-feira, 17 de janeiro de 2017

SUSE dentro do Windows 10

Make Windows green again – Part 1 (SUSE Blog) (via Thurrott.com)

É possível trocar o espaço de usuário básico do Ubuntu usado pelo Windows Subsystem for Linux (WSL) do Windows 10 pelo do (open)SUSE. Confesso que me sinto mais confortável no ambiente verde do camaleão.

E tem isto (não testei): https://github.com/RoliSoft/WSL-Distribution-Switcher.

quinta-feira, 29 de dezembro de 2016

Maldito Bluebirds dos drives ópticos LG

A LG andou colocando em alguns de seus drives ópticos um software inútil para Windows chamado Bluebirds. Depois, ao constatarem a burrada, disponibilizaram atualizações de firmware removendo-o.

Este aqui é um GH22NS50 com firmware TN00:



A porcaria aparece como um disco (CDFS) enquanto uma mídia de verdade não for inserida.

segunda-feira, 26 de dezembro de 2016

sexta-feira, 16 de dezembro de 2016

Novidades do XFS

EXT4 é legado

Upcoming XFS Work in Linux v4.8 v4.9 and v4.10+ (Oracle Mainline Linux Kernel Development)

Darrick J. Wong, da Oracle, juntou-se ao time de desenvolvimento do sistema de arquivos XFS e tem feito contribuições significativas.

No kernel 4.8, foi adicionada mais uma árvore B+, que mapeia, dentro dos metadados, cada bloco a seu dono[1]. Na versão 4.9, foi introduzido suporte ao compartilhamento de extents, cujo pilar é outra outra árvore B+[2]. Assim, copy-on-write[3], um dos diferenciais do Btrfs, chega ao XFS[4].

Ambos recursos dependem do formato V5 e são experimentais.

A árvore B+ adicionada no kernel 4.8 (rmapbt) será aproveitada a partir do kernel 4.11, que, confirmado o cronograma, trará capacidade de autoconsertar alguns problemas na estrutura do sistema de arquivos sem precisar desmontá-lo. Dependerá, no espaço de usuário, da ferramenta xfs_scrub da suíte xfsprogs[5], que interagirá com o kernel através de uma nova requisição da chamada de sistema ioctl()[6].

Levando em conta como o formato V5 foi desenvolvido, suponho que demore cerca de um ano para tais novidades maturarem.

Durante a instalação, o Red Hat Enterprise Linux 7.3 cria XFSv5 (sem finobt/spinodes). Do 7.0 ao 7.2, era criado XFSv4. Aos poucos, o novo formato e seus recursos são adotados em ambientes de produção.


[1] xfsprogs 4.8.0+: mkfs.xfs -m rmapbt=0|1.
[2] xfsprogs 4.9.0+: mkfs.xfs -m reflink=0|1.
[3] User notes on dedupe (Btrfs wiki); XFS has gained super CoW powers!.
[4] XFS não suporta subvolumes como o Btrfs; portanto, apenas arquivos individuais podem ser reflinkados; como exemplo de implementação, ver este commit do systemd.
[5] xfsprogs 4.11.0+ provavelmente.
[6] XFS_IOC_SCRUB_METADATA, que dependerá da opção CONFIG_XFS_ONLINE_REPAIR, desabilitada por padrão enquanto for experimental.

sexta-feira, 9 de dezembro de 2016

ReCore


Armação K-9 (cão) com núcleo azul de personalidade "Mack"; Joule Adams, a heroína

ReCore (Xbox One): https://www.recoregame.com

Mesmo não tendo a mesma qualidade de Rise of the Tomb Raider, gostei do jogo. Pena ReCore ser bem bugado. Numa das masmorras, entre uma sala e outra, o motor do jogo simplesmente falhou em renderizar o cenário inteiro, que ficou 100% branco. Arrisquei fazer Joule "entrar" ali: "caiu" por vários segundos no branco total até morrer. Bug bizarro. Além de vários outros glitches menores, como objetos que podem ser parcialmente atravessados e regiões nas beiradas dos cenários em que Joule não tem mais como subir e, se cair e morrer, o último ponto de salvamento retorna ao local sem saída. Depois que terminei-o, saiu uma atualização. Tomara que comecem a diminuir a quantidade de bugs.

quinta-feira, 8 de dezembro de 2016

Windows 10 rodará sobre ARM

Thinking About x86 Emulation on ARM (Thurrott.com)
ARM-Based Windows 10 Portable PCs!? Hell Yes! (Thurrott.com)

Não. Não trata-se de um novo Windows RT. É o Windows 10 de verdade. Mais: será capaz de rodar programas Win32 (x86) graças a um emulador que a empresa está desenvolvendo. Virá após a atualização Redstone 2 ("Creators Update"), lá pelo final de 2017.

Haverá certo impacto no desempenho ao rodar programas Win32. No entanto, com os avanços dos SoCs ARM, será suficiente para códigos não tão exigentes. Aqueles que precisarem de máximo desempenho, poderão requerer hardware x86 ou disponibilizar uma versão ARM nativa (algo que deverá envolver alguns ajustes e uma recompilação). Acredito que o atual esforço de padronizar a plataforma ARM com UEFI+ACPI está dentre os pilares técnicos da decisão.

Grande notícia! Ninguém mais aguenta o monopólio (ou oligopólio caso a AMD consiga sair das cordas com o Zen) do mercado de processadores x86. O anúncio trata exclusivamente de SoCs da Qualcomm. Não é de duvidar, porém, que, caso faça sucesso, chips de outros fabricantes sejam certificados para rodar o sistema. É do interesse da Microsoft estancar a sangria de usuários. O Windows está entrincheirado em vários mercados, mas, para o mero consumidor de conteúdo, a tendência nos próximos anos é o sistema operacional gradualmente ir perdendo relevância. Ter o Windows 10 rodando em, digamos, SoCs baratos da MediaTek é uma forma de combater isso. Ademais, como especula Paul Thurrott, a mesma tecnologia pode ser levada ao Windows 10 Mobile.

quarta-feira, 7 de dezembro de 2016

sexta-feira, 18 de novembro de 2016

segunda-feira, 31 de outubro de 2016

Windows Update do 7 finalmente consertado

Já circula pelos fóruns a notícia. A lentidão insuportável do Windows Update do 7 é consertada pela atualização KB3172605, como descrito neste artigo da Microsoft.

Atualizei o post sobre o assunto: Windows Update do 7 é uma lesma (II)

quarta-feira, 19 de outubro de 2016

NCQ TRIM

A opção de montagem discard em geral prejudica o desempenho, pois os comandos TRIM esvaziam a fila NCQ, aumentando a latência. A especificação SATA 3.1 (julho de 2011) traz NCQ TRIM, async TRIM, que não drena a fila e, em teoria™, não prejudica o desempenho[1].

Foi adicionado ao kernel 3.12:

libata: Add support for SEND/RECEIVE FPDMA QUEUED
libata: Add support for queued DSM TRIM

O dispositivo precisa dizer ao sistema operacional que suporta o recurso. De alguns anos para cá, estão disponíveis SSDs com a tecnologia no mercado. Infelizmente, com uma tonelada de bugs. Muitos firmwares simplesmente corrompem dados ao receberem comandos NCQ TRIM. Foi necessário criar uma lista negra de modelos e versões de firmware com suporte quebrado (ver arquivo drivers/ata/libata-core.c no código fonte do kernel).

Na versão 4.2, ficou mais fácil ver o estado do suporte via sysfs, bem como habilitar ou não através de opções de boot:

libata: Expose TRIM capability in sysfs
libata: Allow NCQ TRIM to be enabled or disabled with a module parameter

Até o momento, a recomendação continua sendo não usar a opção discard e rodar o fstrim de vez em quando. Inclusive a suíte util-linux distribui fstrim.service e fstrim.timer com essa finalidade.

Quem tiver um SSD moderno, com firmware atualizado, e /sys/class/ata_device/devX.Y/trim contiver queued, pode arriscar adicionando discard no fstab e desabilitando TRIM periódico (batched discard) com systemctl disable fstrim.timer (Ubuntu usa um script em /etc/cron.weekly/fstrim; comentá-lo deve servir). Não me responsabilizo se você perder todos seus dados.


[1] Sempre há otimizações a serem feitas nos sistemas de arquivos, como estas propostas para o XFS por Christoph Hellwig.

quarta-feira, 12 de outubro de 2016

Fontes de PCs Dell

Fontes de PCs compactos (Small Form Factor — SFF) da Dell usam geralmente dois formatos de uns tempos para cá:

SFX low-profile (5 cm x 10 cm) ou TFX (6,5 cm x 8,5 cm).

Enquanto modelos antigos usavam LFX (6,2 cm x 7,2 cm).

Neste artigo do Clube do Hardware há mais informações sobre os padrões.

O problema é achar para vender algo de boa qualidade nesses formatos. TFX é um pouco menos difícil de encontrar sem recorrer à Dell (mas, é claro, no Brasil o grau de dificuldade é sempre maior). Temos os modelos, dentre as marcas nobres, FSP FSP300-60GHT, SeaSonic SS-300TFX e SS-350TGM.

Infelizmente, parece que a empresa tem usado formatos proprietários nos seus PCs SFF recentes. E nem todas as séries, nas versões minitorre (MT), trazem fontes ATX convencionais; gambiarras estão descartadas, porque o gabinete é estreito demais.

Pelo jeito, garantia de poder trocar de fonte à vontade só nos XPS, que usam o padrão ATX convencional. Nos Precision minitorre mais simples (série 3000)[1], até é possível trocar por outra não original, visto que o tamanho é compatível, porém é necessário um adaptador, pois a Dell fez o favor de substituir o tradicional conector ATX de 24 pinos por uma estrovenga de 8 pinos[2].


[1] A série 5000 usa outra jabuticaba. Ok, sendo justo com a Dell, o objetivo daquela plaquinha é tornar a fonte destacável. Substituível sem necessidade de mexer nos cabos internos. Supõe-se que quem compra uma máquina cara assim possa arcar com peças originais mais tarde.
[2] Os OptiPlex MT antigos eram assim também.

domingo, 25 de setembro de 2016

Soquete AM4 dá as caras

AMD 7th Gen Bristol Ridge and AM4 Analysis: Up to A12-9800, B350/A320 Chipset, OEMs first, PIBs Later (AnandTech)

Aí está o futuro da AMD. Soquete unificado, que servirá para todas as famílias de processadores da empresa.

Vejam o provável roadmap da AMD aqui (segunda página do artigo). Infelizmente, a microarquitetura Zen de início será usada apenas no segmento high-end. APUs continuarão com uma derivada da Bulldozer (Excavator v2), um tapa buraco. Espero que consigam colocar em pouco tempo os núcleos Zen em toda sua linha de processadores.

Estamos a poucos meses de termos processadores decentes da AMD. Há anos não vemos um...

quinta-feira, 25 de agosto de 2016

APNG será suportado no Chrome

The GIF Is Dead. Long Live the GIF. (Popular Mechanics) (via OSNews)

GIF, uma antiguidade que resiste ao caixão. Em grande parte pela falta de consenso entre os navegadores — principalmente depois que o reinado do Internet Explorer começou a acabar. Sem amplo suporte, os concorrentes modernos do GIF não ganharam tração.

APNG (Animated PNG) é suportado faz tempo no motor Gecko (Firefox) e no Presto (Opera antigo). No ano passado, foi adicionado ao WebKit (Safari). A grande notícia é que será implementado também no Blink (Chrome, Opera novo):

Animated PNG - Chrome Platform Status

As discussões haviam parado, mas nos últimos meses recomeçaram e a previsão é de até o fim do ano estar pronto.

Uma vez no Chrome, seu uso tende a aumentar e o GIF poderá ser aposentado ao poucos.

quarta-feira, 24 de agosto de 2016

ACLs e XATTRs nos principais sistemas de arquivos Linux

EXT4 XFS
POSIX_ACL CONFIG_EXT4_FS_POSIX_ACL CONFIG_XFS_POSIX_ACL
XATTR CONFIG_EXT4_FS_XATTR[1] sempre habilitado
SECURITY CONFIG_EXT4_FS_SECURITY CONFIG_XFS_SECURITY[2]
OP. MOUNT desnecessárias[3] desnecessárias

Btrfs JFS
POSIX_ACL CONFIG_BTRFS_FS_POSIX_ACL CONFIG_JFS_POSIX_ACL
XATTR sempre habilitado sempre habilitado
SECURITY sempre habilitado CONFIG_JFS_SECURITY
OP. MOUNT desnecessárias desnecessárias

ReiserFS
POSIX_ACL CONFIG_REISERFS_FS_POSIX_ACL
XATTR CONFIG_REISERFS_FS_XATTR
SECURITY CONFIG_REISERFS_FS_SECURITY
OP. MOUNT acl,user_xattr

Legenda:

- POSIX_ACL: configuração requerida para habilitar ACLs.
- XATTR: configuração requerida para habilitar atributos extendidos (XATTRs).
- SECURITY: configuração requerida para permitir o uso de XATTRs por módulos LSM (SELinux, Smack, etc.).
- OP. MOUNT: opções de montagem requeridas para habilitar ACLs e XATTRs.

As configurações dos três primeiros itens são definidas na hora da compilação e são controladas pelos empacotadores das distribuições. São recursos básicos, habilitados em praticamente todo lugar.

Caso complicado: EXT2/3/4

Desde o kernel 2.6.33 é possível usar o driver ext4 para montar volumes EXT2 e EXT3 (CONFIG_EXT4_USE_FOR_EXT23). No 4.3, o driver ext3 foi removido; portanto, o ext4 é sempre usado em volumes EXT3 a partir dessa versão. O driver ext2 continua disponível e a configuração para usar o ext4 em volumes EXT2 foi renomeada para CONFIG_EXT4_USE_FOR_EXT2. Levando em conta que desde o 2.6.38 o driver ext4 aplica as opções acl,user_xattr por padrão, caso sua distribuição tenha um kernel minimamente recente e habilite CONFIG_EXT4_USE_FOR_EXT23 ou CONFIG_EXT4_USE_FOR_EXT2 (a maioria habilita[4]), sistemas EXT2 e EXT3 também sempre terão suporte a ACLs e XATTRs sem precisar mexer nas opções de montagem.

Desde muito tempo atrás (lá na pré-história do kernel 2.4), sistemas EXT permitem que algumas opções de montagem pré-definidas sejam salvas em seus superblocos, o que possibilita, na hora da criação do sistema de arquivos, ao mke2fs (e seus atalhos de conveniência mkfs.ext2, mkfs.ext3 e mkfs.ext4) as definir. O mesmo pode ser feito posteriormente através da opção -o da ferramenta tune2fs. São respeitadas pelos três drivers, ext2, ext3 e ext4. A partir da versão 1.42, o mke2fs cria sistemas de arquivos EXT2/3/4 com as opções acl,user_xattr salvas no superbloco por padrão (redundante[5] com o driver ext4 desde o kernel 2.6.38). Note que as opções noacl,nouser_xattr, usadas para desabilitar os recursos, não podem ser armazenadas no superbloco[6]. Precisam ser passadas ao mount (via -o) ou postas no fstab.

Considerando volumes EXT2/3/4 com defaults em fs_mntops (fstab):

ACLs e XATTRs
Kernel ≥ 2.6.38 com
CONFIG_EXT4_USE_FOR_EXT23 ou
CONFIG_EXT4_USE_FOR_EXT2
habilitados
Kernel ≥ 2.6.38 sem
CONFIG_EXT4_USE_FOR_EXT23 ou
CONFIG_EXT4_USE_FOR_EXT2
EXT4: habilitados
EXT3 (kernel ≥ 4.3): habilitados
EXT3 (kernel < 4.3) e EXT2: dependem
das opções salvas no superbloco[7]
Kernel < 2.6.38 dependem das opções salvas
no superbloco

Ou seja, com exceção do ReiserFS, que ainda requer opções de montagem, os principais sistemas de arquivos vêm de fábrica com ACLs e XATTRs habilitados por padrão em distribuições modernas.


[1] A partir do kernel 3.8, a opção não existe mais e o suporte é sempre habilitado.
[2] A partir do kernel 2.6.26, a opção não existe mais e o suporte é sempre habilitado.
[3] Desde o kernel 2.6.38.
[4] CentOS 7+, Debian 8+, Ubuntu 14.04+, Fedora, openSUSE, Arch.
[5] Mesmo depois de remover as opções do superbloco com tune2fs -o ^acl,^user_xattr <dispositivo> e remontá-lo, o sistema de arquivos continuará suportando ACLs e XATTRs.
[6] Desde o kernel 2.6.35 e e2fsprogs 1.41.13, opções de montagem arbitrárias podem ser armazenadas no superbloco com tune2fs -E mount_opts="opção1 opção2 ..." <dispositivo>. No entanto, são interpretadas apenas pelo driver ext4 e não servem para noacl,nouser_xattr.
[7] Ver com tune2fs -l <dispositivo>.