Como definir o modo de dimensionamento para exibições externas na GPU Intel

2

Eu posso definir o modo de dimensionamento de exibição para o painel de laptop interno com:

xrandr --output LVDS1 --set "scaling mode" "Full aspect" No entanto, isto não funciona para monitores externos (DP1, VGA1, DP1) porque a propriedade do modo de escala não é suportada:

$> xrandr --output HDMI1 --set "scaling mode" "Full aspect"
X Error of failed request:  BadName (named color or font does not exist)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  11 (RRQueryOutputProperty)
  Serial number of failed request:  47
  Current serial number in output stream:  47

Como posso preservar a proporção ao exibir um conteúdo com resolução mais baixa?

    
por BubuIIC 05.08.2015 / 19:04

1 resposta

4

A propriedade do modo Scaling ainda não está implementada no driver intel ( veja aqui ). Ele é implementado nos drivers proprietários AMD e NVIDIA e desde o recentlty no driver radeon de código aberto ( aqui ) .

No entanto, você pode contornar essa limitação executando o dimensionamento manualmente com xrandr:

Suponha que sua tela tenha uma resolução nativa de 1920x1080 e você queira exibir uma resolução não esticada de 1024x768. A proporção das proporções é de 16/9 a 4/3. então 1,333333 para 1.

xrandr --output HDMI1 --mode 1024x768 --scale 1.33333333x1 --panning 1024x768

Isso coloca a tela na resolução correta com a proporção correta. Mas não é centrado. Para conseguir isso, precisamos usar a opção de transformação para colocá-lo (aproximadamente) no centro da tela (1024 * 1.3333333 - 1024 = 342/2 = 171):

xrandr --output HDMI1 --mode 1024x768 --panning 1024x768 --transform 1.33333333,0,-171,0,1,0,0,0,1

Infelizmente, o fundo de tela não utilizado é cinza e ou truncado e não preto.

    
por 05.08.2015 / 19:04