Настройка разрешения Xorg 1280×1024 в Ubuntu Linux с интегрированным видеоадаптером Intel (часть первая)

Статья уже не новая. Перенес ее со старой версии сайта. Хотел сначала ее удалить, но посмотрев на днях на количество просмотров, понял, что тема пока актуальна. Проверка новой версии Ubuntu показала — воз и ныне там!

Так случилось, что в своей работе я использую Linux Debian. До недавнего времени эту ОС я использовал и на Desktop’e и в качестве Сервера. Надо сказать, что операционка на редкость устойчивая, работаю с ней с 2004 года и замечаний не имею.

Проблема у меня случилась с компом, который используется в качестве рабочей станции. На нем стоял дистрибутив Linux Debian 5.0.1, который устанавливался с DVD без использования сетевого репозитария. В связи с выходом очередного обновления, было принято решение сделать Upgrade до последней стабильной версии. После перезагрузки оказалось, что максимальное разрешение, которое можно поставить — 1024×768.

Множественные пляски с бубном вокруг драйвера, ядра и параметров Xorg ничего не дали. Немного по-мучавшись, решил взять Ubuntu 9.10, настроить его и дернуть параметры в свой Debian, тем более, что по сути это один и тот же дистриб, только с разными названиями. После установки Ubuntu 9.10, ситуация оказалась еще более мрачной: максимальное разрешение 800×600, xorg.conf отсутствует в принципе, команда

dpkg -phigh xorg-xserver

не работает в принципе (на текущий момент баг, о котором разработчики знают и еще его не решили), команда

X -config /home/user/xorg.conf.etc

приводит к глухому зависанию Xorg и решается только убиванием процесса. Но это еще пол беды, основные проблемы начинаются, когда Xorg начинаешь конфигурировать вручную. Файл /etc/X11/xorg.conf подхватывает нормально, но до тех пор, пока в нем только базовые параметры. Стоит туда вписать параметры монитора, адаптера или разрешение, как при загрузке вылезает сообщение can’t parse /etc/X11/xorg.conf и xserver вообще не стартует. Прямое указание горизонтальной и вертикальной разверстки монитора вообще приводит к out of range для монитора, после чего ни в консоль ни в Xorg зайти не получится.

После всех этих ярких экспериментов попробовал alpha версию Ubuntu 10.4. С разрешением ситуация там чуть по-лучше, хотя тоже до 1280×1024 не дотягивает: предложил только 1152×864 и 1360×768. Но шквал обрушившихся глюков отбил желание на данном этапе вообще иметь дело с этой версией Linux.

Поэтому, было принято решение в пользу версии Ubuntu 9.04. На удивление, встал без проблем и ошибок. Обновил пакеты и ядро. Но разрешение предложил тоже 1152×864 и 1360×768. Но тут хоть Xorg нормально работает. Поэтому решил настраивать именно этот дистриб, тем более, что интерфейс мне вполне понравился, а работать привычно, как и в Debian.

На компе стоит материнка GIGABYTE GA-945GCMX-S2.

Последовательность действий по установке нормального разрешения:

1. Посмотрим что у нас там за видюха. Открываем терминал и пишем:

lspci | grep -i vga

Получаем в ответ модель своей видюхи. Мой вариант (у вас может отличаться):

00:02.0 VGA compatible controller: Intel Corporation 82945G/GZ Integrated Graphics Controller (rev 02)

2. Теперь нужно сгенерировать подходящий под наше оборудование xorg.conf. Для этого необходимо перейти в терминал Ctrl+Alt+F1, аторизоваться и дать команду:

sudo /etc/init.d/gdm stop

3. Генерим xorg.conf:

sudo Xorg -configure

4. Новый файл будет располагаться в вашем домашнем каталоге и называться xorg.conf.new. Его необходимо скопировать в

sudo cp /home/user/xorg.conf.new /etc/X11/xorg.conf

5. Выясняем характеристики своего монитора для разрешения 1280×1024 с частотой 60Гц:

gtf 1280 1024 60

6. Полученные строки добавляем в Секцию «Monitor» файла xorg.conf:

# 1280x1024 @ 60.00 Hz (GTF) hsync: 63.60 kHz; pclk: 108.88 MHz
 Modeline "1280x1024_60.00"  108.88  1280 1360 1496 1712  1024 1025 1028 1060  -HSync +Vsync

7. Задаем требуемое разрешение в секции «Screen»:

Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        DefaultDepth 16
        SubSection "Display"
                Depth     16
                Modes   "1280x1024"
        EndSubSection
EndSection

8. Перезагружаем gdm:

sudo /etc/init.d/gdm restart

В итоге должны получить требуемое разрешение экрана… и еще одну проблему: gdm начинает работать как на netbook’e, т.е. без заголовков окон, что ни есть гуд. Решение проблемы с заголовками окон можно найти во второй части статьи.

P.S. Ubuntu, на мой взгляд, не является заменой Debian, как серверного решения, но при установке на домашний компьютер или на ноутбук позволяет экономить массу времени на настройке всяких прибамбасов полезных и приятных для глаза.