Imprimir
Categoria: FreeBSD
Acessos: 8837

Invariavelmente tenho de mexer no xorg e acertar as frequências do monitor.  Isso não é tão necessário no Linux, mas em FreeBSD é impossível ter uma tela gráfica usável sem o xorg.conf criado.

E testando no Dell Vostro 3500, só consigo uma tela 1024x768 justamente pela falta das frequências suportadas.  Para corrigir isso, criei um script já faz alguns anos, mas não tinha publicado ainda.  É baseado no xrandr e deve ser rodado a partir da tela gráfica, por pior que seja sua resolução.

#! /usr/bin/perl

$H_SIZE = 1280; # standard horizontal size
$V_SIZE = 800; # standard vertical size


@SIZES = qw( 1280 1152 1024 800 1200 1400 1600 1800 1900 1920 2048);

print "Section \"Modes\"\n\tIdentifier \"MyModes\"\n";
foreach $hs (@SIZES) {
$rate = $hs / $H_SIZE;
$vs = $V_SIZE * $rate;
foreach $freq qw(60 75) {
print "\t\t# $hs x $vs ($rate - $freq Hz)\n";
$output = `gtf $hs $vs $freq -x`;
foreach $line (split(/\n/, $output)) {
next if ($line !~ /[0-9a-z]/);
$line =~ s/ *//;
print "\t\t".$line."\n";
next if ($line =~ "#");
$line =~ s/\"//g;
$line =~ s/_(\d+)//g;
$line =~ s/Modeline //g;
$cmd = "xrandr --newmode ".$line ;
system($cmd."> /dev/null 2>&1");
#print $cmd."\n";
$modeline = $line;
$modeline =~ s/ .*//g;
#print "Mode: $modeline\n";
$cmd = "xrandr --addmode LVDS $modeline > /dev/null 2>&1";
system($cmd);
}
}
}
print "EndSection\n";


O resultado já sai no formato do xorg.conf:


Section "Modes"
Identifier "MyModes"
# 1280 x 800 (1 - 60 Hz)
# 1280x800 @ 60.00 Hz (GTF) hsync: 49.68 kHz; pclk: 83.46 MHz
Modeline "1280x800_60.00" 83.46 1280 1344 1480 1680 800 801 804 828 -HSync +Vsync
# 1280 x 800 (1 - 75 Hz)
# 1280x800 @ 75.00 Hz (GTF) hsync: 62.62 kHz; pclk: 107.21 MHz
Modeline "1280x800_75.00" 107.21 1280 1360 1496 1712 800 801 804 835 -HSync +Vsync
# 1152 x 720 (0.9 - 60 Hz)
# 1152x720 @ 60.00 Hz (GTF) hsync: 44.76 kHz; pclk: 67.32 MHz
Modeline "1152x720_60.00" 67.32 1152 1208 1328 1504 720 721 724 746 -HSync +Vsync
# 1152 x 720 (0.9 - 75 Hz)
# 1152x720 @ 75.00 Hz (GTF) hsync: 56.40 kHz; pclk: 86.63 MHz
Modeline "1152x720_75.00" 86.63 1152 1224 1344 1536 720 721 724 752 -HSync +Vsync
# 1024 x 640 (0.8 - 60 Hz)
# 1024x640 @ 60.00 Hz (GTF) hsync: 39.78 kHz; pclk: 52.83 MHz
Modeline "1024x640_60.00" 52.83 1024 1072 1176 1328 640 641 644 663 -HSync +Vsync
# 1024 x 640 (0.8 - 75 Hz)
# 1024x640 @ 75.00 Hz (GTF) hsync: 50.17 kHz; pclk: 67.44 MHz
Modeline "1024x640_75.00" 67.44 1024 1080 1184 1344 640 641 644 669 -HSync +Vsync
# 800 x 500 (0.625 - 60 Hz)
# 800x500 @ 60.00 Hz (GTF) hsync: 31.08 kHz; pclk: 31.33 MHz
Modeline "800x500_60.00" 31.33 800 824 904 1008 500 501 504 518 -HSync +Vsync
# 800 x 500 (0.625 - 75 Hz)
# 800x500 @ 75.00 Hz (GTF) hsync: 39.22 kHz; pclk: 40.17 MHz
Modeline "800x500_75.00" 40.17 800 832 912 1024 500 501 504 523 -HSync +Vsync
# 1200 x 750 (0.9375 - 60 Hz)
# 1200x750 @ 60.00 Hz (GTF) hsync: 46.62 kHz; pclk: 73.10 MHz
Modeline "1200x750_60.00" 73.10 1200 1256 1384 1568 750 751 754 777 -HSync +Vsync
# 1200 x 750 (0.9375 - 75 Hz)
# 1200x750 @ 75.00 Hz (GTF) hsync: 58.73 kHz; pclk: 93.96 MHz
Modeline "1200x750_75.00" 93.96 1200 1272 1400 1600 750 751 754 783 -HSync +Vsync
# 1400 x 875 (1.09375 - 60 Hz)
# 1400x875 @ 60.00 Hz (GTF) hsync: 54.36 kHz; pclk: 100.46 MHz
Modeline "1400x875_60.00" 100.46 1400 1480 1624 1848 875 876 879 906 -HSync +Vsync
# 1400 x 875 (1.09375 - 75 Hz)
# 1400x875 @ 75.00 Hz (GTF) hsync: 68.55 kHz; pclk: 128.87 MHz
Modeline "1400x875_75.00" 128.87 1400 1488 1640 1880 875 876 879 914 -HSync +Vsync
# 1600 x 1000 (1.25 - 60 Hz)
# 1600x1000 @ 60.00 Hz (GTF) hsync: 62.10 kHz; pclk: 133.14 MHz
Modeline "1600x1000_60.00" 133.14 1600 1704 1872 2144 1000 1001 1004 1035 -HSync +Vsync
# 1600 x 1000 (1.25 - 75 Hz)
# 1600x1000 @ 75.00 Hz (GTF) hsync: 78.30 kHz; pclk: 169.13 MHz
Modeline "1600x1000_75.00" 169.13 1600 1704 1880 2160 1000 1001 1004 1044 -HSync +Vsync
# 1800 x 1125 (1.40625 - 60 Hz)
# 1800x1125 @ 60.00 Hz (GTF) hsync: 69.84 kHz; pclk: 169.29 MHz
Modeline "1800x1125_60.00" 169.29 1800 1920 2112 2424 1125 1126 1129 1164 -HSync +Vsync
# 1800 x 1125 (1.40625 - 75 Hz)
# 1800x1125 @ 75.00 Hz (GTF) hsync: 88.05 kHz; pclk: 216.25 MHz
Modeline "1800x1125_75.00" 216.25 1800 1928 2128 2456 1125 1126 1129 1174 -HSync +Vsync
# 1900 x 1187.5 (1.484375 - 60 Hz)
# 1904x1187 @ 60.00 Hz (GTF) hsync: 73.74 kHz; pclk: 189.95 MHz
Modeline "1904x1187_60.00" 189.95 1904 2032 2240 2576 1187 1188 1191 1229 -HSync +Vsync
# 1900 x 1187.5 (1.484375 - 75 Hz)
# 1904x1187 @ 75.00 Hz (GTF) hsync: 92.92 kHz; pclk: 242.35 MHz
Modeline "1904x1187_75.00" 242.35 1904 2048 2256 2608 1187 1188 1191 1239 -HSync +Vsync
# 1920 x 1200 (1.5 - 60 Hz)
# 1920x1200 @ 60.00 Hz (GTF) hsync: 74.52 kHz; pclk: 193.16 MHz
Modeline "1920x1200_60.00" 193.16 1920 2048 2256 2592 1200 1201 1204 1242 -HSync +Vsync
# 1920 x 1200 (1.5 - 75 Hz)
# 1920x1200 @ 75.00 Hz (GTF) hsync: 93.97 kHz; pclk: 246.59 MHz
Modeline "1920x1200_75.00" 246.59 1920 2064 2272 2624 1200 1201 1204 1253 -HSync +Vsync
# 2048 x 1280 (1.6 - 60 Hz)
# 2048x1280 @ 60.00 Hz (GTF) hsync: 79.50 kHz; pclk: 221.33 MHz
Modeline "2048x1280_60.00" 221.33 2048 2192 2416 2784 1280 1281 1284 1325 -HSync +Vsync
# 2048 x 1280 (1.6 - 75 Hz)
# 2048x1280 @ 75.00 Hz (GTF) hsync: 100.20 kHz; pclk: 280.56 MHz
Modeline "2048x1280_75.00" 280.56 2048 2200 2424 2800 1280 1281 1284 1336 -HSync +Vsync
EndSection

Bastando somente adicionar os valores de frequência, cujo nome é "MyModes", dentro de "Monitor", como abaixo:


Section "Monitor"
DisplaySize 300 230
HorizSync 28-82
Identifier "Monitor1"
ModelName "1280X1024@60HZ"
Option "DPMS"
VendorName "--> LCD"
VertRefresh 50-60
UseModes "MyModes"
EndSection