Xorg настройка разрешения экрана
Общее управление графическими режимами современных версиях Astra Linux осуществляется с помощью графического сервера Xorg. По умолчанию этот сервер автоматически определяет актуальную конфигурацию оборудования, и настраивается самостоятельно. Ниже описаны основные способы ручной настройки этого сервера.
По умолчанию в современных версиях Astra Linux файл конфигурации графического сервера Xorg не создаётся и не используется. Автоматическая настройка параметров Xorg производится при каждом запуске системы, при этом каждый раз производится проверка оборудования, и подбираются параметры под актуальную аппаратную конфигурацию.
Описанные ниже действия по созданию и редактированию конфигурации в виде файла нужны для специальных настроек или при возникновении проблем с автоматически определёнными параметрами.
Более подробная информация по конфигурационным файлам Xorg доступна в документации по xorg.conf.
Конфигурационный файл с текущими настройками может быть создан самим сервером Xorg.
Для этого первым шагом нужно остановить текущую сессию менеджера дисплеев (в Astra Linux это служба fly-dm).
При остановке текущей сессии менеджера дисплеев текущая графическая сессия будет прекращена.
Останавливая текущую сессию менеджера дисплеев нужно быть готовым войти в консольную сессию (знать логин и пароль).
Для повторного запуска графической сессии нужно будет перезагрузить компьютер.
Из консольной сессии из командной строки перезагрузить компьютер можно командой
Остановить текущую сессию менеджера дисплеев можно командой:
sudo systemctl stop fly-dm
В консольной сессии перейти в каталог /etc/X11/ и ввести команду для генерации файла настроек:
При выполнении команды будет создан файл /root/xorg.conf.new с примерно таким содержанием (очень сильно зависит от текущей аппаратной конфигурации):
Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection
Section "Files"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/msttcorefonts"
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "built-ins"
EndSection
Section "Module"
Load "glx"
EndSection
Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5 6 7"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
SubSection "Display"
Viewport 0 0
Depth 1
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection
Конфигурационный файл, для того, чтобы он использовался графическим сервером, необходимо переместить (или скопировать, сохранив оригинал) в каталог /etc/X11/ и переименовать в xorg.conf:
За отрисовку всех графических элементов в Linux отвечает графический сервер. Он реализует интерфейс прослойки между драйверами видеокарты и различными программами, которые работают с графикой.
В самых современных дистрибутивах на замену Xorg серверу пришел новый дисплейный сервер Wayland. Но он все еще находится в активной разработке и не совсем готов к постоянному использованию. Поэтому Xorg все еще применяется в большинстве дистрибутивов.
После установки видеокарта работает достаточно хорошо и настроек по умолчанию в большинстве случаев хватает, но иногда нужно изменить некоторые параметры. Мы не будем рассматривать установку драйверов. В этой статье мы сосредоточимся на том, как выполняется настройка видеокарты linux через xorg.conf.
Выводы
В этой статье мы рассмотрели несколько способов настроить разрешение экрана Linux с помощью графического интерфейса или через терминал. Как видите, это не так сложно, как может показаться на первый взгляд.
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.
Настройка видеокарты в xorg.conf
У драйверов видеокарт ест множество различных полезных опций, которые вы можете настроить с помощью xorg.conf. Большинство из них специфичны для конкретного производителя видеокарт. Например, есть множество настроек для видеокарт NVIDIA, но с другой стороны карты от ATI не настраиваются через этот файл. Драйвера с открытым исходным кодом от Intel имеют только несколько настроек. Дальше будет рассмотрена настройка видеокарты linux для различных производителей.
Как изменить разрешение экрана через терминал
Для управления настройками экрана из терминала можно использовать утилиту xrandr. Синтаксис утилиты очень прост:
xrandr опции параметры
Разберём основные опции утилиты, которые будем использовать:
- --verbose - включить более подробный вывод;
- --version - версия программы;
- --query - когда установлена эта опция или не указанно никаких опций, выводится текущая конфигурация;
- -d, --display - позволяет указать какой X экран использовать по имени;
- -s, --screen - устанавливает дисплей для настройки по ID;
- --output - устанавливает дисплей для настройки по имени или ID;
- --primary - выбрать основной экран;
- --size - позволяет указать размер экрана;
- --rate - устанавливает частоту обновления;
- --dpi - устанавливает DPI, количество точек на дюйм, которое позволяет вычислить правильный размер для окон;
- --newmode - создаёт новый режим отображения по размеру и частоте;
- --rmmode - удаляет режим отображения;
- --addmode - добавляет созданный режим к списку доступных для использования;
- --delmode - удалить режим из списка доступных;
- --mode - активирует указанный режим;
- --off - отключает экран;
- --gamma - позволяет установить коррекцию гаммы, в формате красный:зеленый:синий;
Чтобы посмотреть текущие параметры системы, запустите утилиту без параметров:
Как видите, к моей системе подключено два экрана:
- LVDS-1 - встроенный экран ноутбука;
- HDMI-1 - внешний экран;
Для каждого экрана доступно несколько разрешений, текущее разрешение отмечено звёздочкой. Чтобы изменить разрешение экрана Linux на одно из доступных, используйте опцию --mode вместе с --output:
xrandr --output HDMI-1 --mode 1680x1050
Теперь звёздочка выводится около разрешения 1680х1050.
Хорошо, мы разобрались с тем, как добавить одно из существующих разрешений. По сути, то же самое, что и в графическом интерфейсе. Но если нужного разрешения в списке нет, то его можно добавить. Для этого сначала нужно конвертировать обычную запись в формат VESA. Для этого используйте утилиту cvt. Например, создадим режим с разрешением 2000х1100 и частотой обновления 60:
cvt 2000 1100 60
Дальше надо скопировать из вывода утилиты всё, что написано после "Modeline". Осталось использовать скопированный текст в xrandr:
xrandr --newmode "2000x1100_60.00" 183.75 2000 2136 2344 2688 1100 1103 1113 1141 -hsync +vsync
Добавляем только что созданное разрешение к списку доступных для нужного нам экрана:
xrandr --addmode HDMI-1 2000x1100_60.00
А затем активируем, как описывалось выше:
xrandr --output HDMI-1 --mode 2000x1100_60.00
Но будьте аккуратны с новыми разрешениями. Если вы устанавливаете разрешение выше, чем поддерживает ваш монитор, то он просто не будет показывать. Но такая штука может быть полезна с VirtualBox, или если компьютер не определяет, что ваш монитор поддерживает более высокое разрешение.
Чтобы сохранить настройки после перезагрузки, добавьте команду активации разрешения в конфигурационный файл ~/.xprofile:
Синтаксис файла очень похож на ~/.xinitrc. Все команды из него автоматически выполняются при старте сессии. Или же вы можете использовать любой другой метод автозагрузки, который работает после запуска X.
Настройка Nvidia
У видеокарт NVIDIA есть множество настроек, которые можно указать в xorg.conf. Каждая строка состоит из ключа и значения, ее можно разместить в секции Screen или Device:
- Option "NoLogo" "true" - во время инициализации драйвера показывается логотип NVIDIA. Это занимает некоторое время, поэтому с помощью такой строки можно отключить логотип;
- Option "LogoPath" "адрес_файла" - вы можете заменить логотип NVIDIA на свое изображение, для этого просто укажите его адрес в этой строке;
- Option "CursorShadow" "true" - если вы хотите видеть тень вокруг курсора, включите эту опцию. Тут есть два дополнительных параметра CursorShadowXOffset и CursorShadowYOffset, которые позволяют установить положение тени;
- Option "Coolbits" "true" - эта опция позволяет включить возможность разгона частоты процессора и скорости памяти вашей видеокарты. Но вам нужно быть аккуратным с этим параметром, поскольку так вы можете повредить сове оборудование. Параметры разгона будут отображаться в утилите nvidia-config;
- Option "DPI" "75 x 85" - если значение DPI (количество точек на дюйм) установлено неверно, то это может повлиять на правильность отображения шрифтов. Обычно, Xorg вычисляет этот параметр на основе EDID, но вы можете установить его вручную. Например, для монитора с разрешением ,440x900 и физическим размером 16x10 дюймов, значение DPI будет составлять (1,440/16)x(900/10) = 90x90.
Синтаксис конфигурационного файла
Перед тем как переходить к настройке xorg.conf нужно разобраться в его синтаксисе, чтобы вы могли немного ориентироваться в самом файле. X сервер отвечает за все интерактивные связи во время сессии. Поэтому конфигурационный файл разбит на секции, несколько из них отвечают за работу с дисплеем, другие за мышь и клавиатуру. Рассмотрим основные секции файла:
- Module - в этом разделе описываются подключение модулей, расширяющих функциональность видео драйвера. Например, GLX модуль добавляет 3D ускорение, а модули Type1 и Freetype используются для рендеринга шрифтов;
- ServerLayout - в этой секции указаны имена трех самых необходимых устройств для каждой рабочей сессии Xorg - имена мыши, клавиатуры и экрана, которые могут использоваться в других местах файла;
- InputDevice - в xorg.conf обычно есть две секции InputDevice, первая для мыши и вторая для клавиатуры. Большинство мышей работают отлично по умолчанию, здесь понадобиться что-то менять только если вы захотите добавить дополнительные возможности;
- Monitor - в этой секции перечислены все настройки вашего экрана, один из наиболее важных параметров, частота горизонтальной развертки HorizSync и вертикального обновления VertRefresh, именно на основе них рассчитывается разрешение экрана. Также можно жестко задать разрешение с помощью строки ModeLine;
- Device - тут перечислено все ваше графическое оборудование вместе с драйверами, которые используются. Чаще всего, это nv с открытым исходным кодом для NVIDIA, или fglrx для карт от AMD. Имя драйвера Intel будет зависеть от версии вашей карты, например, i810.
- Screen - здесь расположены все настройки вашего монитора и других графических устройств. Вы можете использовать эту секцию, например, для настройки нескольких экранов.
Настройка видеокарты Linux c помощью xorg.conf
Конфигурационный файл xorg.conf - это обычный текстовый файл, в котором хранятся параметры работы Xorg сервера. Сюда входят настройки дисплея, мыши, видеокарты и клавиатуры. В былые времена этот файл был очень большим и сложным, но со временем его функции были перенесены в другие компоненты системы. Поэтому в последнее время он был видоизменен, и упрощен. Во многих дистрибутивах вообще такого файла нет, а вся конфигурация хранится в бинарном формате.
Но настройка xorg linux может все еще понадобиться, если вы хотите сделать нестандартные настройки, повысить частоту обновления экрана, изменить расширение экрана, увеличить производительность и многое другое.
Оцените статью:
Об авторе
26 комментариев
может кому и пригодится, если больше не о чем
У меня реально проблема до конца не решена с подключением 4к телевизора LG 49 inches к ПК по hdmi кабелю .Испробовал все самые известные дистрибутивы остановился на ubuntu 18.04 хотя заметил не столько в дистре проблемы сколько в DE .GTK еще как то более адекватно работают на отрытых драйверах с 49 inches дисплеем а QT сколько намучился что то свыше 32 inches все никак не получается настроить . На нуво драйвере хотя бы разрешение можно установить приемлемое,но есть тиринг проблема с маштабированием и прочие огрехи .Сразу поставил проприетарный nvidia драйвер так телевизор с ПК отказываются дать желаемый результат .То изображение не тот маштаб экрана то картинка рябит не качественная ,на этом же компе 2 система винда 10 определяет отлично автоматом . А в Linux нуво еще как то можно ручками настроить , nvidia драйвер вообще жесть .Больше всего бесит если используешь приемлемое разрешение например 1920x1080 то картинка не влезает в экран или стоит косо или шрифты смазываются .Вообщем пока мес открый драйвер ну более менее .Но это факт кто подключает более большие мониторы или телевизоры .
Очень рекомендую автору:
1) Создать список тем по софту и железу;
2) Провести опрос среди посетителей сайта;
3) На основании этого опроса строить свою дальнейшую политику! )))
Пишите - и мы напишем Вам нужные статьи )))
На самом деле - все очень просто)))
Да можно было бы сделать из контента а контент у этого автора мне нравится много интересного прочитал почерпнул можно было сделать более активный и полезный если не форум ,но комментарии для помощи ,тем более линуксоподобные системы у нас в руках .
I've gone through the wiki and have followed all of the steps, yet my default screen resolution simply won't stick.
Okay, so I've read that in order to configure Xorg you have to edit/add .conf files in /etc/X11/xorg.conf.d/ so I added 10-monitor.conf and edited it so that the external monitor that I'm using for my laptop gets displayed at 1280X1024:
But everytime I startx it still displays the default resolution at 1024X768.
Can anyone help me get my default resolution for the monitor HDMI1 to 1280X1024?
Last edited by Clarence.e.a (2012-04-27 22:02:45)
The way I had my comp set up for awhile was to just run xrandr when starting X (add it in .xinitrc).
Something like this should do it:
"man xrandr" will give you more info.
You haven't defined "1280x1024_60.00" anywhere, so your config effectively does nothing.
And anyway, not getting the right resolution points to a problem. Remove that config and post /var/log/Xorg.0.log
Here is my /var/log/Xorg.0.log:
Last edited by Clarence.e.a (2012-04-27 16:26:19)
I fixed it! But there seems to be a major flaw in the Xorg Wiki, and here's why. I did exactly what Pres told me to do, except instead of adding "xrandr --output HDMI1 --mode 1280x1024" I put "xrandr --output HDMI1 --mode 1280x1024_60.00" like my 10-monitor.conf had, so the refresh rate was correct, and the default resolution was still 1024x768. So I just erased the "_60.00" off of the "1280x1024_60.00" and it worked fine! So then I erased the xrandr section out of my ~/.xinitrc and re-created my 10-monitor.conf and just took out the section defining the refresh rate and it worked fine.
So here is why I think the Xorg wiki is flawed, instead of having the 10-monitor.conf file look like:
With the refresh rate taken out, where it actually does it's job.
Now my question is this: Is this a special occurrence for me, or will every user experience this when following the Wiki and using the default 10-monitor.conf file provided and should it be edited?
По просьбе уважаемого юзера giner выкладываю на обсуждение и дополнение его заметочки по сабжу. Все примеры даны с лёгким уклоном в сторону Убунту и NVidia, так что пользователей других дистрибутивов и ATI-юзеров просьба дополнять информацией по своим дистрибутивам. Но основное содержание едино для всех дистрибутивов Линукса.
Разрешение экрана и частота монитора в Xorg
Q: Почему нужное разрешение экрана может отсутствовать в списке доступных?
A: Потому, что операционная система не знает о том, что монитор поддерживает нужный нам режим.
Q: Откуда система может об этому узнать?
A: Она может узнать об этом из EDID или же мы можем сами ей об этом рассказать
Q: Что такое EDID ?
A: EDID (Extended display identification data - расширенные данные идентификации монитора) - блок информации, получаемый от монитора по каналу DDC (Display_Data_Channel) через видеокарту, позволяющий корректно определить допустимые видеорежимы. В некоторых случаях эта информация считывается драйвером неправильно или не считывается вовсе, в этом случае система будет использовать режимы, которые она считает безопасными для данного монитора.
Q: Как посмотреть информацию EDID получаемую от монитора?
A: Для Ubuntu
* Из пакета read-edid:
Q: И как всё же решить проблему с разрешением и частотой экрана?
A: Для этого нужно рассказать X-Window что умеет ваш монитор на самом деле (какие видеорежимы поддерживает) выполняя следующие настройки в xorg.conf (/etc/X11/xorg.conf). После каждой добавленной строки перезапускайте X-Window (для Ubuntu
) пока не добьётесь нужного результата:
* Для начала проверяем присутствие разрешение в списке Modes, если его там нет - дописываем, перезапускаем X-Window и проверяем, это выглядит примерно так:
* Если результата нет, вписываем в секцию Monitor параметры HorizSync и VertRefresh и перезапускаем X-Window. Эти параметры для вашего монитора можно узнать с помощью вышеописанных утилит или найти в интернет, например:
* Если это не помогло, оставляем эти строки и дописываем новую - Modeline. Получаем строку Modeline воспользовавшись утилитой gtf и паспортными данными монитора. После этого помещаем её в секцию Monitor и ссылку этот новый режим в секцию Screen, например:
* Если вы подключаете монитор по DVI и используете драйвер nvidia, то поиск решения нужно начинать с опции "ModeValidation" "NoMaxPClkCheck" в секции Device (с другими драйверами не проверялось):
PS: В процессе настройки каждый раз смотрите лог X-Window на предмет validated modes. Он подскажет где вы ошибаетесь.
PPS: Для видео-драйвера nvidia: в том случае, если информацию EDID система получает, но неправильно, то перечисленное выше может не работать и нужно принудительно отключить использование EDID, а после этого повторить все этапы снова.
Решение проблем xorg.conf
Если у вас не получается правильно настроить xorg.conf, нужно начать с самого меньшего. Используйте драйвер Vesa. Это стандартный видеодрайвер, а значит, его поддерживает любая видеокарта. Просто установите значение опции Driver - Vesa и попробуйте запустить X сервер. Вы должны увидеть свой рабочий стол.
Но драйвер Vesa работает намного медленнее, чем более современные драйвера. Если Vea позволяет запустить графическое окружение, значит проблема в вашем графическом драйвере или в настройке.
Попробуйте использовать утилиту lspci, чтобы посмотреть точную версию своей видеокарты, обычно для старых карт нужны более старые драйвера.
Настройка видеокарты Intel
Графическими картами от Intel не всегда поддерживается настройка xorg.conf. Поэтому вам нужно проверить каждую из опций чтобы увидеть дает ли она какой-либо результат. Опции нужно добавлять в раздел Device:
- Option "AccelMethod" "EXA" - эта опция позволяет включить новую архитектуру ускорения EXA. Она поддерживается в большинстве интегрированных карт Intel 943/940 и позволяет улучшить скорость композитинга.
- Option "MigrationHeuristic" "greedy" - позволяет уменьшить использование видеопамяти на хранение различных текстур, что повышает общую производительность;
- Option "TripleBuffer" "true" - этот параметр включает использование более совершенного метода двойной буферизации (используется для противостояния мерцанием).
Настройка экрана xorg
Большинство параметров вашего экрана система получает с помощью технологии EDID или Extended Display Identification Data. Это информация, переданная дисплеем видеокарте. Здесь обычно содержится модель, производитель, такйминги, разрешение и размер дисплея. Xorg использует эти параметры для выбора оптимального разрешения экрана и глубины цвета.
Но иногда информация из EDID может быть неточной или неверной. Тогда вы можете установить нужные параметры вручную через xorg.conf. Но будьте осторожны, если ваш экран не поддерживает некоторые параметры, вы можете его повредить. Характеристики каждого отдельного устройства можно найти в интернете или же в инструкции от производителя.
Например, вот секция Monitor с настройкой вертикальной и горизонтальной частот, а также разрешения:
Identifier "Monitor0"
VendorName "Unknown"
ModelName "DFP-0"
HorizSync 28.0 - 72.0
VertRefresh 43.0 - 60.0
ModeLine "1440x900_60.00" 106.5 1440 1520 1672 1904 900 901 904 932 -hsync +vsync
Добавив такие опции в секцию Device, вы можете отключить использование EDID:
Option "UseEDIDFreqs" "FALSE"
Option "UseEDIDDpi" "FALSE"
Option "ModeValidation" "NoEdidModes"
Наиболее важное значение - это две частоты, которые определяют диапазон работы устройства. Строка ModeLIne необязательна, поскольку она вычисляется автоматически, но если X сервер задает значения неверно, вы можете их прописать жестко в этой строке.
Создание Xorg.conf
Обычно, этот файл размещен в директории /etc/X11/xorg.conf. Но если в вашем дистрибутиве его нет, можно без проблем создать xorg.conf на основе журнала.
Сначала скопируйте файл журнала для новой сессии:
cp /var/log/Xorg.0.log /var/log/Xorg.1.log
Xorg -configure :1
Программа проанализирует файл лога, и на его основе создаст новый файл /etc/X11/xorg.conf учитывая конфигурацию вашей системы. В вашем домашнем каталоге появиться файл xorg.conf.new, который нужно скопировать в /etc/X11/:
cp xorg.conf.new /etc/X11/
Настройка разрешения экрана в GUI
Разберём настройку разрешения на примере дистрибутива Ubuntu и окружения рабочего стола Gnome. Откройте утилиту Настройки из главного меню:
Перейдите на вкладку Устройства, а затем выберите пункт Настройка экранов:
Если к компьютеру подключено два монитора Linux или больше, то у вас будет три варианта работы экранов:
- Объединение - все экраны объединяются в одно рабочее пространство;
- Зеркальное отображение - одинаковая картинка на всех экранах;
- Один экран - картинка только на одном экране, другие отключены.
Независимо от того, какой режим вы выбираете, будут доступны настройки Разрешение и Частота обновления, где вы сможете настроить нужные вам параметры:
Так выполняется настройка монитора Linux через графический интерфейс. Если вы хотите объединить экраны, то можно указать разрешение мониторов Linux для каждого из них отдельно:
Но здесь есть один недостаток, вы можете выбрать только то разрешение экрана, которое предлагает система. Если вы захотите установить разрешение выше или ниже тех, что есть, то у вас ничего не выйдет. Для этого надо воспользоваться терминалом.
Выводы
Теперь вы знаете достаточно и настройка видео Linux с помощью xorg не должна для вас быть очень сложной, даже если вы раньше этим не занимались. Особенно, если вы недовольны текущими настройками. Настройка x сервера поможет вам получить больше от старого оборудования или интегрированных карт. Только не забывайте делать резервные копии перед внесением каких-либо изменений.
С развитием технологий экраны для компьютеров смогли значительно увеличить разрешение. Если старые экраны показывали 640х800 пикселей, то более новые отображают уже 1920х1080. У последних моделей разрешение ещё выше.
В операционной системе Linux существует несколько способов настройки разрешения экрана. В обычных системах, как правило, это не нужно. Но если вы хотите использовать несколько мониторов или решили запустить Linux на виртуальной машине, то разрешение может определиться неправильно и тогда придётся его настроить. В этой статье мы рассмотрим, как изменить разрешение экрана в Linux через графический интерфейс и терминал.
Читайте также: