It is a common way to set the resolution of a text consoles (that are usually available by Ctrl-Alt-F1 thru Ctrl-Alt-F6) by using a vga=...
kernel parameter.
I’m using Ubuntu 10.04 Lucid, output of uname -a
is:
Linux 2.6.32-33-generic #70-Ubuntu SMP Thu Jul 7 21:13:52 UTC 2011 x86_64 GNU/Linux
To identify modes available i use the sudo hwinfo --framebuffer
which reports:
02: None 00.0: 11001 VESA Framebuffer
[Created at bios.464]
Unique ID: rdCR.R1b4duaxSqA
Hardware Class: framebuffer
Model: "NVIDIA G73 Board - p456h1 "
Vendor: "NVIDIA Corporation"
Device: "G73 Board - p456h1 "
SubVendor: "NVIDIA"
SubDevice:
Revision: "Chip Rev"
Memory Size: 256 MB
Memory Range: 0xc0000000-0xcfffffff (rw)
Mode 0x0300: 640x400 (+640), 8 bits
Mode 0x0301: 640x480 (+640), 8 bits
Mode 0x0303: 800x600 (+800), 8 bits
Mode 0x0305: 1024x768 (+1024), 8 bits
Mode 0x0307: 1280x1024 (+1280), 8 bits
Mode 0x030e: 320x200 (+640), 16 bits
Mode 0x030f: 320x200 (+1280), 24 bits
Mode 0x0311: 640x480 (+1280), 16 bits
Mode 0x0312: 640x480 (+2560), 24 bits
Mode 0x0314: 800x600 (+1600), 16 bits
Mode 0x0315: 800x600 (+3200), 24 bits
Mode 0x0317: 1024x768 (+2048), 16 bits
Mode 0x0318: 1024x768 (+4096), 24 bits
Mode 0x031a: 1280x1024 (+2560), 16 bits
Mode 0x031b: 1280x1024 (+5120), 24 bits
Mode 0x0330: 320x200 (+320), 8 bits
Mode 0x0331: 320x400 (+320), 8 bits
Mode 0x0332: 320x400 (+640), 16 bits
Mode 0x0333: 320x400 (+1280), 24 bits
Mode 0x0334: 320x240 (+320), 8 bits
Mode 0x0335: 320x240 (+640), 16 bits
Mode 0x0336: 320x240 (+1280), 24 bits
Mode 0x033d: 640x400 (+1280), 16 bits
Mode 0x033e: 640x400 (+2560), 24 bits
Config Status: cfg=new, avail=yes, need=no, active=unknown
It looks like many hi-res modes are available, like 0x305, 0x307, 0x317, 0x318, 0x31a, 0x31b (by the way, what does the plus-number means in the list of modes?). However, setting any of these modes in kernel option string, line vga=0x305
, results in either pitch black text console, or screen filled by blinking color/bw dots.
What is the ‘modern’, ‘robust’ way to set up high resolution in text consoles?
It is a common way to set the resolution of a text consoles (that are usually available by Ctrl-Alt-F1 thru Ctrl-Alt-F6) by using a vga=...
kernel parameter.
I’m using Ubuntu 10.04 Lucid, output of uname -a
is:
Linux 2.6.32-33-generic #70-Ubuntu SMP Thu Jul 7 21:13:52 UTC 2011 x86_64 GNU/Linux
To identify modes available i use the sudo hwinfo --framebuffer
which reports:
02: None 00.0: 11001 VESA Framebuffer
[Created at bios.464]
Unique ID: rdCR.R1b4duaxSqA
Hardware Class: framebuffer
Model: "NVIDIA G73 Board - p456h1 "
Vendor: "NVIDIA Corporation"
Device: "G73 Board - p456h1 "
SubVendor: "NVIDIA"
SubDevice:
Revision: "Chip Rev"
Memory Size: 256 MB
Memory Range: 0xc0000000-0xcfffffff (rw)
Mode 0x0300: 640x400 (+640), 8 bits
Mode 0x0301: 640x480 (+640), 8 bits
Mode 0x0303: 800x600 (+800), 8 bits
Mode 0x0305: 1024x768 (+1024), 8 bits
Mode 0x0307: 1280x1024 (+1280), 8 bits
Mode 0x030e: 320x200 (+640), 16 bits
Mode 0x030f: 320x200 (+1280), 24 bits
Mode 0x0311: 640x480 (+1280), 16 bits
Mode 0x0312: 640x480 (+2560), 24 bits
Mode 0x0314: 800x600 (+1600), 16 bits
Mode 0x0315: 800x600 (+3200), 24 bits
Mode 0x0317: 1024x768 (+2048), 16 bits
Mode 0x0318: 1024x768 (+4096), 24 bits
Mode 0x031a: 1280x1024 (+2560), 16 bits
Mode 0x031b: 1280x1024 (+5120), 24 bits
Mode 0x0330: 320x200 (+320), 8 bits
Mode 0x0331: 320x400 (+320), 8 bits
Mode 0x0332: 320x400 (+640), 16 bits
Mode 0x0333: 320x400 (+1280), 24 bits
Mode 0x0334: 320x240 (+320), 8 bits
Mode 0x0335: 320x240 (+640), 16 bits
Mode 0x0336: 320x240 (+1280), 24 bits
Mode 0x033d: 640x400 (+1280), 16 bits
Mode 0x033e: 640x400 (+2560), 24 bits
Config Status: cfg=new, avail=yes, need=no, active=unknown
It looks like many hi-res modes are available, like 0x305, 0x307, 0x317, 0x318, 0x31a, 0x31b (by the way, what does the plus-number means in the list of modes?). However, setting any of these modes in kernel option string, line vga=0x305
, results in either pitch black text console, or screen filled by blinking color/bw dots.
What is the ‘modern’, ‘robust’ way to set up high resolution in text consoles?
It is a common way to set the resolution of a text consoles (that are usually available by Ctrl-Alt-F1 thru Ctrl-Alt-F6) by using a vga=...
kernel parameter.
I’m using Ubuntu 10.04 Lucid, output of uname -a
is:
Linux 2.6.32-33-generic #70-Ubuntu SMP Thu Jul 7 21:13:52 UTC 2011 x86_64 GNU/Linux
To identify modes available i use the sudo hwinfo --framebuffer
which reports:
02: None 00.0: 11001 VESA Framebuffer
[Created at bios.464]
Unique ID: rdCR.R1b4duaxSqA
Hardware Class: framebuffer
Model: "NVIDIA G73 Board - p456h1 "
Vendor: "NVIDIA Corporation"
Device: "G73 Board - p456h1 "
SubVendor: "NVIDIA"
SubDevice:
Revision: "Chip Rev"
Memory Size: 256 MB
Memory Range: 0xc0000000-0xcfffffff (rw)
Mode 0x0300: 640x400 (+640), 8 bits
Mode 0x0301: 640x480 (+640), 8 bits
Mode 0x0303: 800x600 (+800), 8 bits
Mode 0x0305: 1024x768 (+1024), 8 bits
Mode 0x0307: 1280x1024 (+1280), 8 bits
Mode 0x030e: 320x200 (+640), 16 bits
Mode 0x030f: 320x200 (+1280), 24 bits
Mode 0x0311: 640x480 (+1280), 16 bits
Mode 0x0312: 640x480 (+2560), 24 bits
Mode 0x0314: 800x600 (+1600), 16 bits
Mode 0x0315: 800x600 (+3200), 24 bits
Mode 0x0317: 1024x768 (+2048), 16 bits
Mode 0x0318: 1024x768 (+4096), 24 bits
Mode 0x031a: 1280x1024 (+2560), 16 bits
Mode 0x031b: 1280x1024 (+5120), 24 bits
Mode 0x0330: 320x200 (+320), 8 bits
Mode 0x0331: 320x400 (+320), 8 bits
Mode 0x0332: 320x400 (+640), 16 bits
Mode 0x0333: 320x400 (+1280), 24 bits
Mode 0x0334: 320x240 (+320), 8 bits
Mode 0x0335: 320x240 (+640), 16 bits
Mode 0x0336: 320x240 (+1280), 24 bits
Mode 0x033d: 640x400 (+1280), 16 bits
Mode 0x033e: 640x400 (+2560), 24 bits
Config Status: cfg=new, avail=yes, need=no, active=unknown
It looks like many hi-res modes are available, like 0x305, 0x307, 0x317, 0x318, 0x31a, 0x31b (by the way, what does the plus-number means in the list of modes?). However, setting any of these modes in kernel option string, line vga=0x305
, results in either pitch black text console, or screen filled by blinking color/bw dots.
What is the ‘modern’, ‘robust’ way to set up high resolution in text consoles?
Содержание
- 📑 Изменение разрешения экрана и шрифтов в консоли Ubuntu
- Как изменить разрешение консоли?
- Linux разрешение экрана в консоли
- Настройка разрешения экрана в GUI
- Как изменить разрешение экрана через терминал
- Выводы
📑 Изменение разрешения экрана и шрифтов в консоли Ubuntu
Иногда, особенно при настройке сервера, работа в консоли Linux Ubuntu, мягко говоря, не совсем удобна — разрешение экрана по умолчанию 640х480 при убогом шрифте 16-го размера. Это изрядно раздражает.
Можно уcтановить разрешение экрана в зависимости от видеокарты и монитора для более комфортной работы в командном режиме. Делается это очень просто на основании таблицы:
Depth | 800×600 | 1024×768 | 1152×864 | 1280×1024 | 1600×1200 |
---|---|---|---|---|---|
8 bit | vga=771 | vga=773 | vga=353 | vga=775 | vga=796 |
16 bit | vga=788 | vga=791 | vga=355 | vga=794 | vga=798 |
24 bit | vga=789 | vga=792 | vga=795 | vga=799 |
Для этого открываем любимым редактором файл /etc/default/grub и в строчку командной строки GRUB_CMDLINE_LINUX_DEFAUL добавляем еще один парамер — vga=xxx, например:
После этого обновляем загрузчик GRUB:
Можно так-же подправить экранные шрифты и их стиль. Для этого набираем:
Выбор шрифтов и их написания конечно не богат:
но выбрать можно. И в завершении подобрать размер консольного шрифта в соответствие с установленным разрешением экрана.
Источник
Как изменить разрешение консоли?
Что было: Ноут не видел grub, приходилось ручками выбирать .efi, что таки не кошерно.
Что сделал: Внезапно, в голову пришла идея поставить пакет grub2. Поставил. Завелось. Загружается без лишних манипуляций.
Что не так: Разрешение консоли слишком низкое, где-то на глаз 800х600, а должно быть 1333хскокататам
Искал по форуму, чёт надо с каким-то фреймбуфером сделать. Не знаю что такое фреймбуфер. Вообще в видюхах не шарю. Буду благодарен, если мне помогут разобраться в этих всех механизмах, сам не смог понять. Дистр debian 8.1, дрова fglrx. Заранее спасибо!
P.S. У grub разрешение нормальное, как надо.
с fglrx только vesafb, и не факт что заработает
алсо консоль не нужна, если есть терминал в иксах
На смену разрешения просерается несколько секунд. Итак медленно.
+ было же нормально со старым grub, значит можно как-нибудь вернуть, я думаю, не?
у меня остаётся то, что выставлено биосом до иксов
Чтобы гарантированно заработало, нужно перейти на свободные дрова и drm framebuffer, для этого придётся ковыряться в настройках ядра и устанавливать свободные драйвера для X. После этого удалить (в комментарии) из /etc/default/grub всё, что связано с конкретным разрешением экрана и выполнить grub2-mkconfig -o /boot/grub/grub.cfg (или grub-mkconfig -o /boot/grub/grub.cfg , если grub2 так собран); к /boot должен быть подмонтирован раздел с grub2, если он отдельный.
Касательно fglrx, то он (пока) не понимает drm framebuffer и в /etc/default/grub нужно указать точное разрешение экрана (см. Documentation/fb/ в твоём ядре). Если в компе нет второй более другой видеокарты, то лучше блэклистить модуль drm.
Хорошая вика — https://wiki.gentoo.org/wiki/Fglrx. Используй с поправкой на debian. Обрати внимание там на ссылки после «See also»: uvesafb — твой случай.
Не годятся свободные.( Они по странной причине opengl 4 не поддерживают, а я в метро играю. Всё же было нормально на закрытых до смены grub, теперь нет.) Думаю всё гораздо проще) Совет насчёт указания точного разрешения больше похож на правду, сейчас посмотрю. Если есть конкретные инструкции, они очень бы помогли.
Написал ранее: два последних абзаца. Конкретно формат разрешения экрана в строке параметров ядра зависит от типа фреймбуфера. Смотри, какие модули у тебя есть и сверяйся с доками ядра. Думаю, что это — (u)vesafb.
Снял комментарий с GRUB_GFXMODE= , выставил нужные параметры. Нет, не прокатило. После изменений выполнил update-grub, как указано в файле.
Очень простая причина, по которой я туплю, малый опыт использования linux и ПО под него. До этого как-то пользовался два для давно ubuntu, плюнул. Не понравилось. Нужно представить, что я не умнее блондинки.) + эта инфа будет вкладом, потому что очень много переселенцев с винды, много кто не шарит.
Какие-то вещи понятны, а некоторые, как сверить модули и где найди доки к ядру, нет.
ставь открытые дрова
как сверить модули и где найди доки к ядру
Узнать версию ядра
Снял комментарий с GRUB_GFXMODE= , выставил нужные параметры. Нет, не прокатило.
Верно. Возможно, раньше где-то использовалось сриптами grub2, теперь это — просто переменная shell. Её можно подставлять в форме $ в строки параметров ядра самому, избегая писать каждый раз 1024×768-32@85 и т.п. в разных местах скрипта.
Ещё раз, разберись с модулями, как я написал выше, и см. доки ядра по соответствующему фреймбуферу. Требуемая строка будет типа vga=. или video=.
Отредактировал параметр GRUB_CMDLINE_LINUX_DEFAULT=«vga=0x03d4» При загрузке вылетает «vga=0x03d4 устарел. Режим VGA 980 не распознан. Используйте вместо него set gfxpayload=ШИРИНАхВЫСОТА[xГЛУБИНА] до команды linux. Это всё в ту же строчку вбивать этот параметр?
Ладно, выложи свой /etc/default/grub.
# If you change this file, run ‘update-grub’ afterwards to update # /boot/grub/grub.cfg. # For full documentation of the options in this file, see: # info -f grub -n ‘Simple configuration’
GRUB_DEFAULT=0 GRUB_TIMEOUT=5 GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian` GRUB_CMDLINE_LINUX_DEFAULT=«vga=0x03d4» GRUB_CMDLINE_LINUX=«»
# Uncomment to enable BadRAM filtering, modify to suit your needs # This works with Linux (no patch required) and with any kernel that obtains # the memory map information from GRUB (GNU Mach, kernel of FreeBSD . ) #GRUB_BADRAM=«0x01234567,0xfefefefe,0x89abcdef,0xefefefef»
# Uncomment to disable graphical terminal (grub-pc only) #GRUB_TERMINAL=console
# The resolution used on graphical terminal # note that you can use only modes which your graphic card supports via VBE # you can see them in real GRUB with the command `vbeinfo’ #GRUB_GFXMODE=1333×768 (закоментил назад т.к. не помогло)
# Uncomment if you don’t want GRUB to pass «root=UUID=xxx» parameter to Linux #GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries #GRUB_DISABLE_RECOVERY=«true»
# Uncomment to get a beep at grub start #GRUB_INIT_TUNE=«480 440 1»
Источник
Linux разрешение экрана в консоли
Иногда, особенно при настройке сервера, работа в консоли Linux Ubuntu, мягко говоря, не совсем удобна — разрешение экрана по умолчанию 640х480 при убогом шрифте 16-го размера. Это изрядно раздражает.
Можно уcтановить разрешение экрана в зависимости от видеокарты и монитора для более комфортной работы в командном режиме. Делается это очень просто на основании таблицы:
Depth | 800×600 | 1024×768 | 1152×864 | 1280×1024 | 1600×1200 |
---|---|---|---|---|---|
8 bit | vga=771 | vga=773 | vga=353 | vga=775 | vga=796 |
16 bit | vga=788 | vga=791 | vga=355 | vga=794 | vga=798 |
24 bit | vga=789 | vga=792 | vga=795 | vga=799 |
Для этого открываем любимым редактором файл /etc/default/grub и в строчку командной строки GRUB_CMDLINE_LINUX_DEFAUL добавляем еще один парамер — vga=xxx, например:
После этого обновляем загрузчик GRUB:
Можно так-же подправить экранные шрифты и их стиль. Для этого набираем:
Выбор шрифтов и их написания конечно не богат:
но выбрать можно. И в завершении подобрать размер консольного шрифта в соответствие с установленным разрешением экрана.
С развитием технологий экраны для компьютеров смогли значительно увеличить разрешение. Если старые экраны показывали 640х800 пикселей, то более новые отображают уже 1920х1080. У последних моделей разрешение ещё выше.
В операционной системе Linux существует несколько способов настройки разрешения экрана. В обычных системах, как правило, это не нужно. Но если вы хотите использовать несколько мониторов или решили запустить Linux на виртуальной машине, то разрешение может определиться неправильно и тогда придётся его настроить. В этой статье мы рассмотрим, как изменить разрешение экрана в Linux через графический интерфейс и терминал.
Настройка разрешения экрана в GUI
Разберём настройку разрешения на примере дистрибутива Ubuntu и окружения рабочего стола Gnome. Откройте утилиту Настройки из главного меню:
Перейдите на вкладку Устройства, а затем выберите пункт Настройка экранов:
Если к компьютеру подключено два монитора Linux или больше, то у вас будет три варианта работы экранов:
- Объединение – все экраны объединяются в одно рабочее пространство;
- Зеркальное отображение – одинаковая картинка на всех экранах;
- Один экран – картинка только на одном экране, другие отключены.
Независимо от того, какой режим вы выбираете, будут доступны настройки Разрешение и Частота обновления, где вы сможете настроить нужные вам параметры:
Так выполняется настройка монитора Linux через графический интерфейс. Если вы хотите объединить экраны, то можно указать разрешение мониторов 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 1680×1050
Теперь звёздочка выводится около разрешения 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, или если компьютер не определяет, что ваш монитор поддерживает более высокое разрешение.
Чтобы сохранить настройки после перезагрузки, добавьте команду активации разрешения в конфигурационный файл
Синтаксис файла очень похож на
/.xinitrc. Все команды из него автоматически выполняются при старте сессии. Или же вы можете использовать любой другой метод автозагрузки, который работает после запуска X.
Выводы
В этой статье мы рассмотрели несколько способов настроить разрешение экрана Linux с помощью графического интерфейса или через терминал. Как видите, это не так сложно, как может показаться на первый взгляд.
Доброе время суток. Сегодня в этом небольшом топике речь пойдет о разрешении экрана в операционной системе Linux. Все действия проводились в Linux openSuSE 11.04. На моем компьютере со злосчастными видеокартой ATI Radeon 9600 и монитором Acer AL1916W на абсолютно любом дистрибутиве Linux автоматом не определялись поддерживаемые разрешения, как и собственно монитор с видеоадаптером. Год я провел на разрешении 1024х768@60Hz и сегодня решил, что так дальше продолжаться не может, надо менять разрешение или монитор. Остановился на первом. Перерыв весь интернет и найдя всего два полезных совета я приступил к шаманству над иксами, который я постараюсь в понятном виде изложить ниже.
Итак, приступим! Но для начала учтем, что мой дистрибутив — Linux openSuSE 11.04 и монитор Acer AL1916W.
1. Найдите в инструкции к Вашему монитору максимальное поддерживаемае разрешение и частоту (у моего — 1440×900, частота 75Гц), они понадобятся для генерации Modeline строки.
2. Узнали? Далее мы приступим к генерации Modeline строки: откройте «Терминал» и введите команду
gtf разрешение_по_горизонтали разрешение_по_вертикали частота_обновления_экрана
#например gtf 1440 900 75
Запустите команду (нажатием Enter). В выводе получим следующее:
# 1440×900 @ 75.00 Hz (GTF) hsync: 70.50 kHz; pclk: 136.49 MHz
Modeline «1440x900_75.00» 136.49 1440 1536 1688 1936 900 901 904 940 -HSync +Vsync
Именно строка Modeline и все что за ней нам и нужно, копируем ее.
3. Дальше открываем папку /etc/X11/xorg.conf.d/ и копируем файл 50-monitor.conf в вашу домашнюю папку (например /home/Dimon/).
4. Открываем скопированный (/home/Dimon/)50-monitor.conf в текстовом редакторе (в GNOME по-умолчанию — gedit) и после строки
## Add your mode lines here, use e.g the cvt tool
вставьте тот самый скопированный вами Modeline. У вас должно получиться что-то вроде этого:
Section «Monitor»
Identifier «Default Monitor»
## If your monitor doesn’t support DDC you may override the
## defaults here
#HorizSync 28-85
#VertRefresh 50-100
## Add your mode lines here, use e.g the cvt tool
Modeline «1440×900@75» 136.49 1440 1536 1688 1936 900 901 904 940 -HSync +Vsync
Сохраните файл и закройте редактор.
5. Теперь нам необходимо скопировать измененный файл в директорию /etc/X11/xorg.conf.d: откройте «Терминал», введите след. команду (под root’ом):
sudo cp 50-monitor.conf /etc/X11/xorg.conf.d
и нажмите Enter. Если ничего не выдаст, значит файл скопировался, но все же проверьте, если не доверяете своей интуиции.
6. Теперь все готово! Осталось перезагрузить компьютер и изменить разрешение в настройках. Если после перезагрузки запустился X-сервер, значит уже радуйтесь тому, что не сгубили его :).
7.После загрузки щелкните «Система» — «Оборудование» — «Мониторы» и напротив слова «Разрешение» выберите 1440х900 и нажмите «Применить». Если после применения настроек экран черный либо вывел «Частота не поддерживается» или еще что-то в этом роде, не вздумайте жать на все кнопки подряд! Разрешение поменяется само через 15 секунд после смены на предыдущее.
Совместимость данного мануала с другими дистрибутивами и версиями ОС Linux не гарантируется.
А в следующих топиках я расскажу как воспроизводить видео, если оно не воспроизводится и плеер говорит о невозможности воспроизведения на несуществующем мониторе (, т.к. монитор не найден).
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.
Источник
Contents
- Resetting an out-of-range resolution
- Dynamically testing different resolutions
- Panning viewport
-
How to setup a dual monitor
-
Introduction
- Output port names
-
Four methods to setup
- By Session with .xprofile
- Dynamic setup with xrandr
- statically setup in xorg.conf
- Xrandr Graphical Front End GUI
- Not recognised video cards
-
Introduction
- Adding undetected resolutions
-
Setting xrandr changes persistently
- Setting xrandr commands in .xprofile
- Setting xrandr commands in kdm/gdm startup scripts
- Setting resolution changes in xorg.conf
-
Setting resolution changes in xorg.conf — resolution lower than expected
- Try this first
- Use cvt/xrandr tool to add the highest mode the LCD can do
- Goto Ubuntu Menu: System -> Preference -> Display
- Obtaining modelines from Windows program PowerStrip
Resetting an out-of-range resolution
If you set a resolution inappropriate for your monitor in the Screen Resolution GUI tool, you can reset it from a terminal by running
-
$ rm ~/.config/monitors.xml
Dynamically testing different resolutions
You can either use the Screen Resolution GUI tool to experiment with different resolutions, or the more powerful xrandr command-line tool. Without parameters, xrandr shows you the names of different outputs available on your system (LVDS, VGA-0, etc.) and resolutions available on each:
-
$ xrandr Screen 0: minimum 320 x 200, current 1400 x 1050, maximum 1400 x 1400 VGA disconnected (normal left inverted right x axis y axis) LVDS connected 1400x1050+0+0 (normal left inverted right x axis y axis) 286mm x 214mm 1400x1050 60.0*+ 50.0 [...]
You can direct xrandr to set a different resolution like this:
-
$ xrandr --output LVDS --mode 1024x768
$ xrandr --output VGA1 --mode 1024x768
The refresh rate may also be changed, either at the same time or independently:
-
$ xrandr --output LVDS --mode 1024x768 --rate 75
$ xrandr --output VGA1 --mode 1024x768 --rate 60
Note that changes you make using xrandr only last through the current session. xrandr has a lot more capabilities — see man xrandr for details.
Panning viewport
If you want to have a panning viewport, i.e., a virtual screen that’s bigger than your physical screen that moves when you move the mouse to the edge («zoomed in» view) specify the desired physical resolution with —mode and the virtual screen size with —fb and panning area (typically same as virtual screen size) with —panning.
For example,
-
$ xrandr --output VGA1 --rate 60 --mode 800x600 --fb 1280x1024 --panning 1280x1024
How to setup a dual monitor
Introduction
This article above will give you some important background information. I will summarize the points that I think are important and add a few points. It makes life easier if you pop open a terminal and type to open your gui monitor program:
-
$ gnome-display-properties
Next uncheck same image in all Monitors. If your watch a lot of movies it is important to set your Monitors to your lower resolution. For example, if they are both 1440 x 900 monitors, make sure it is set to that resolution. If the monitors are different resolutions, you will need it to the resolution of the smaller monitor. So, for example, if one monitor is 1440 x 900 and the other is full HD resolution, you will have to set it at 1440×900. The reason for this is your video will be a black screen when trying to watch a movie so this is very important. Click APPLY. Then you will get a warning and you need to keep your new configuration. You will need to restart your session for this to take effect sometimes. There are 2 simple ways to do this. The first is to log out then log back in, and the second is to hit ctrl+alt+backspace. The second method restarts your x session so make you save your work.
This guide is targeted for people who want to use extended desktop mode on two outputs. Clone mode should work out-of-box with a normal configuration.
With RandR 1.2, you can setup dual head and add/remove monitor dynamically (i.e. on-the-fly, without restarting X).
Output port names
Intel driver — UMS
-
VGA — Analog VGA output
-
LVDS — Laptop panel
-
DP1 — DisplayPort output
-
TV — Integrated TV output
-
TMDS-1 — First DVI SDVO output
-
TMDS-2 — Second DVI SDVO output
The SDVO and DVO TV outputs are not supported by the driver at this time.
Intel driver — KMS
-
LVDS1 — Laptop panel
-
VGA1 — Analog VGA output
-
DVI1 — Digital video output
radeon driver
-
VGA-0 — Analog VGA output
-
LVDS — Laptop panel
-
S-video — Integrated TV output
-
DVI-0 — DVI output
http://www.thinkwiki.org/wiki/Xorg_RandR_1.2
Four methods to setup
- By session with .xprofile.
- Dynamically by using xrandr tool
- Statically by setting in xorg.conf.
- Xrandr Graphical Front End GUI.
xrandr tool (an app component in Xorg) is a command line interface to RandR extension, and can be used to set outputs for a screen dynamically, without any specific setting in xorg.conf. You can refer the xrandr manual for details.
By Session with .xprofile
Use your favorite editor to create ~/.xprofile containing something like:
-
xrandr --output VGA1 --mode 1024x768 --rate 60
Now that command will be run every time your start your Xsession. You can force it to run by logging out and logging back in or by executing ~/.xprofile from your terminal.
Here is an example of my ~/.xprofile. The # are for comments just like you do with shell scripts. The purpose of my setup is sometime have laptop on the left and other times I have my laptop on the right. This makes very simple and easy to change which side you want each monitor to be on. I just added the information on how to set your primary monitor.
-
xrandr --output VGA1 --mode 1024x768 --rate 60 #Laptop right extra Monitor Left #xrandr --output VGA1 --left-of LVDS1 #Laptop left extra Monitor right xrandr --output LVDS1 --left-of VGA1 #This is to set your primary monitor. #This sets your laptop monitor as your primary monitor. xrandr --output LVDS1 --primary #This sets your VGA monitor as your primary monitor. #xrandr --output VGA1 --primary
Some people think it is a disadvantage that this only works for one user, other people think this is an advantage. If you want to be able to use this just copy it over to your profile folder.
Important Note: If you just blindly copy some commands from a website, you may see an error message:
-
xrandr: cannot find mode 1024×768
This may be due to some CMS’ way of modifying content: xrandr expects the letter x and not the multiplication cross × between horizontal and vertical resolution.
Incorrect example:
-
$ xrandr --output VGA1 --mode 1024×768 --rate 60
Corrected example
-
$ xrandr --output VGA1 --mode 1024x768 --rate 60
Dynamic setup with xrandr
Xrandr can be used to change outputs’ mode, rotation direction, position, etc. In this guide, we only introduce options related with dual head setting.
You can see the outputs’ status with option ‘-q’. Below is an example:
-
$ xrandr -q Screen 0: minimum 320 x 200, current 2048 x 768, maximum 4096 x 4096 VGA1 connected 1024x768+1024+0 (normal left inverted right x axis y axis) 338mm x 270mm 1280x1024 60.0 + 75.0 1280x960 75.0 70.0 60.0 1152x864 75.0 70.0 60.0 1024x768 75.1 70.1 66.0 60.0* 832x624 74.6 800x600 72.2 75.0 60.3 56.2 640x480 72.8 75.0 66.7 60.0 720x400 70.1 LVDS1 connected 1024x768+0+0 (normal left inverted right x axis y axis) 304mm x 228mm 1024x768 60.0*+ 800x600 60.3 640x480 59.9 DVI1 disconnected (normal left inverted right x axis y axis) TV1 disconnected (normal left inverted right x axis y axis)
In the above example, two outputs (VGA1 and LVDS1) are connected, the resolution of both is 1024×768@60, output VGA’s viewport is at (1024, 0) and output LVDS’s viewport is at (0, 0), i.e. LVDS1 is located at left of VGA. The size of occupied area by both outputs is 2048×768. The virtual screen size (maximum framebuffer) is 4096 x 4096 which is statically set in xorg.conf (see next section). You can decrease the maximum with ‘—fb’ option but can not increase it. You need make sure your screen size fall into the maximum framebuffer, otherwise you should increase the value in xorg.conf.
There are five xrandr options that can be used to set Dual Monitor:
-
$ xrandr --pos <x>x<y> $ xrandr --left-of <output> $ xrandr --right-of <output> $ xrandr --above <output> $ xrandr --below <output>
The last four will set the output’s relative position to another output, for example:
-
$ xrandr --output VGA1 --left-of LVDS1
Option ‘-pos’ is more flexible which can place output to anywhere, for example:
-
$ xrandr --output VGA1 --pos 200x200 $ xrandr --output LVDS1 --pos 400x500
statically setup in xorg.conf
RandR1.2 configuration in xorg.conf is based on per monitor. So you need write a ‘Monitor’ section for each output and specify these monitors in ‘Device’ section.
Below is a example snippet in xorg.conf.
-
Section "Device" Identifier "Intel 945G " Driver "intel" # Using the name of the output defined by the video driver plus the identifier of a # monitor section, one associates a monitor section with an output by adding an # option to the Device section in the following format: # Option "Monitor-outputname" "monitor ID" Option "monitor-VGA" "foo" Option "monitor-LVDS" "bar" #Option "monitor-TMDS-1" "dvi" EndSection Section "Monitor" Identifier "foo" # specifies a mode to be marked as the preferred initial mode of the monitor # Option "PreferredMode" "800x600" # This optional entry specifies the position of the monitor within the X screen. #Option "Position" "1024 0" #This optional entry specifies that the monitor should be ignored # entirely, and not reported through RandR. This is useful if the # hardware reports the presence of outputs that do not exist. #Option "Ignore" "true" EndSection Section "Monitor" Identifier "bar" #Options LeftOf, RightOf, Above, Below specify monitors' relative position Option "LeftOf" "foo" # This optional entry specifies whether the monitor should be # turned on at startup. By default, the server will attempt to # enable all connected monitors. #Option "Enable" "true" #This optional entry specifies the initial rotation of the given monitor. # Valid values for rotation are "normal", "left", "right", and "inverted". # Option "Rotate" "left" EndSection Section "Screen" Identifier "Default Screen" Device "Intel Corporation 945G Integrated Graphics Controller" Monitor "foo" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1280x1024" "1024x768" "640x480" EndSubSection EndSection
Xrandr Graphical Front End GUI
-
ARandR
-
Grandr
-
LXRandR
-
Urandr
-
zarfy
Not recognised video cards
It is possible, that resolutions higher than 1024×768 (or 800×600.. 640×480) are not avalaible by default, because the videocard isn’t recognised propely. If you can add and apply the desired undetected resolution(s) dinamically with cvt and xrandr, but you get an error after applying static changes to xorg.conf, etc/gdm/init/default, or .xprofile etc. & reboot, something like ‘Stored settings can’t be applied to monitors, any of the selected modes are not compatible with avalaible modes.. trying modes to 79.CRTC..’, than You could try forcing X to recognize the video RAM.
Use your favorite text editor as root: (open a terminal)
-
$ sudo nano /usr/share/X11/xorg.conf.d/99-vesahack
or
-
$ gksudo gedit /usr/share/X11/xorg.conf.d/99-vesahack
and put this in the newly created file:
-
Section "Device" Identifier "Screen0" VideoRam 10000 EndSection
This tells X that there is 10000 kB (~10 MB) of video RAM, enough for 1920×1200 at 4 bytes per pixel. You can replace ‘10000’ above with the amount of avalaible video ram. Save and reboot. (Remove the 99-vesahack file if it doesn’t help.)
Adding undetected resolutions
Due to buggy hardware or drivers, your monitor’s correct resolutions may not always be detected. For example, the EDID data block queried from your monitor may be incorrect.
If the mode already exists, but just isn’t associated for the particular output, you can add it like this:
-
$ xrandr --addmode S-video 800x600
If the mode doesn’t yet exist, you’ll need to create it first by specifying a modeline:
-
$ xrandr --newmode <Mode``Line>
You may create a modeline using the gtf or cvt utility. For example, if you want to add a mode with resolution 800×600 at 60 Hz, you can enter the following command: (The output is shown following.)
-
$ cvt 800 600 60 # 800x600 59.86 Hz (CVT 0.48M3) hsync: 37.35 kHz; pclk: 38.25 MHz Modeline "800x600_60.00" 38.25 800 832 912 1024 600 603 607 624 -hsync +vsync
Then copy the information after the word «Modeline» into the xrandr command:
-
$ xrandr --newmode "800x600_60.00" 38.25 800 832 912 1024 600 603 607 624 -hsync +vsync
After the mode is entered, it needs to be added to the output using the —addmode command as explained above.
Setting xrandr changes persistently
There are several ways to make xrandr customizations permanent from session to session: a) .xprofile, b) kdm/gdm, c) xorg.conf. Each of these mechanisms will be discussed in turn.
Setting xrandr commands in .xprofile
A user’s ~/.xprofile file is executed on Xorg startup if it exists and is executable. You can copy and paste xrandr command line strings into this file so they’re executed when you log in. For example:
-
$ xrandr --output VGA-0 --mode 800x600
There are two disadvantages to using .xprofile for xrandr settings. First, it occurs fairly late in the startup process, so you’ll see some resolution resizing during the initial screen draw; in some cases panel windows may resize improperly as a result. Second, as this is a per-user setting, it won’t affect the resolutions of other users, nor will it alter the resolution on the login screen.
Setting xrandr commands in kdm/gdm startup scripts
Both KDM and GDM have startup scripts that are executed when X is initiated. For GDM, these are in /etc/gdm/ , while for KDM this is done at /etc/kde4/kdm/Xsetup. In either case, you can paste in an xrandr command line string into one of these scripts. For GDM, try putting them right before
-
initctl -q emit login-session-start DISPLAY_MANAGER=gdm
in /etc/gdm/Init/Default.
This process requires root access and mucking around in system config files, but will take effect earlier in the startup process than using .xprofile, and will apply to all users including the login screen.
Setting resolution changes in xorg.conf
While xorg.conf is largely empty these days, it can still be used for setting up resolutions. For example:
-
Section "Monitor" Identifier "External DVI" Modeline "1280x1024_60.00" 108.88 1280 1360 1496 1712 1024 1025 1028 1060 -HSync +Vsync Option "PreferredMode" "1280x1024_60.00" EndSection Section "Device" Identifier "ATI Technologies, Inc. M22 [Radeon Mobility M300]" Driver "ati" Option "Monitor-DVI-0" "External DVI" EndSection Section "Screen" Identifier "Primary Screen" Device "ATI Technologies, Inc. M22 [Radeon Mobility M300]" DefaultDepth 24 SubSection "Display" Depth 24 Modes "1280x1024" "1024x768" "640x480" EndSubSection EndSection Section "ServerLayout" Identifier "Default Layout" Screen "Primary Screen" EndSection
See man xorg.conf for full details on how to craft an xorg.conf file.
Setting resolution changes in xorg.conf — resolution lower than expected
Try this first
If you video card is recognized but the resolution is lower than you expect, you may try this.
Background: I use Ubuntu 9.0.4 x86, ATI X1550 based video card and two LCD monitors DELL 2408(up to 1920×1200) and Samsung 206BW(up to 1680×1050). Upon first login after installation, the resolution default to 1152×864. xrandr does not list any resolution higher than 1152×864. You may want to try editing /etc/X11/xorg.conf, add a section about virtual screen, logout, login and see if this helps. If not then read on.
Change the default xorg.conf
-
Section "Device" Identifier "Configured Video Device" EndSection Section "Monitor" Identifier "Configured Monitor" EndSection Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" Device "Configured Video Device" EndSection
To:
Section "Monitor" Identifier "Configured Monitor" EndSection Section "Screen" Identifier "Default Screen" Monitor "Configured Monitor" Device "Configured Video Device" -> SubSection "Display" -> Virtual 3600 1200 -> EndSubSection EndSection Section "Device" Identifier "Configured Video Device" EndSection
About the numbers: I put DELL on the left and Samsung on the right. So the virtual width is of sum of both LCD width 3600=1920+1680; Height then is figured as the max of them, which is max(1200,1050)=1200. If you put one LCD above the other, use this calculation instead: (max(width1, width2), height1+height2).
If that does not help, here’s what I did:
Use cvt/xrandr tool to add the highest mode the LCD can do
The actual order was different, as I tried to add new mode to one LCD at a time. Below is the combined/all-in-one quote
-
aa@aa-desktop:/$ cvt 1920 1200 60 # 1920x1200 59.88 Hz (CVT 2.30MA) hsync: 74.56 kHz; pclk: 193.25 MHz Modeline "1920x1200_60.00" 193.25 1920 2056 2256 2592 1200 1203 1209 1245 -hsync +vsync aa@aa-desktop:/$ cvt 1680 1050 60 # 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz Modeline "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync aa@aa-desktop:/$ xrandr --newmode "1920x1200_60.00" 193.25 1920 2056 2256 2592 1200 1203 1209 1245 -hsync +vsync aa@aa-desktop:/$ xrandr --newmode "1680x1050_60.00" 146.25 1680 1784 1960 2240 1050 1053 1059 1089 -hsync +vsync aa@aa-desktop:/$ xrandr --addmode DVI-1 "1920x1200_60.00" aa@aa-desktop:/$ xrandr --addmode DVI-0 "1680x1050_60.00"
Change one of the LCD’s resolution to a lower one, e.g. 800×600. Apply change, then (I don’t remember the exact order/wording here:) hopefully the GUI will give you a prompt saying something like «the resolution can be improved but virtual screen has to be enabled, you need to however logout and log back in». I did it and on 2nd login, I am able to find the higher resolution listed for that LCD. After that I follow suite and make similar change to 2nd LCD and am able to get both of them working.
Obtaining modelines from Windows program PowerStrip
X.Org Wiki has an article about this.