Проблема с разрешением консоли
Как правильно задавать вопросы Правильно сформулированный вопрос и его грамотное оформление способствует высокой вероятности получения достаточно содержательного и по существу ответа. Общая рекомендация по составлению тем: 1. Для начала воспользуйтесь поиском форума. 2. Укажите версию ОС вместе с разрядностью. Пример: LM 19.3 x64, LM Sarah x32 3. DE. Если вопрос касается двух, то через запятую. (xfce, KDE, cinnamon, mate) 4. Какое железо. (достаточно вывод
inxi -Fxz
в спойлере (как пользоваться спойлером смотрим здесь)) или же дать ссылку на hw-probe 5. Суть. Желательно с выводом консоли, логами. 6. Скрин. Просьба указывать 2, 3 и 4 независимо от того, имеет ли это отношение к вопросу или нет. Так же не забываем об общих правилах Как пример вот
-
Автор темы - Сообщения: 14
- Зарегистрирован: 23 сен 2016, 00:07
- Благодарил (а): 9 раз
- Поблагодарили: 1 раз
- Контактная информация:
Проблема с разрешением консоли
Здравствуйте, форумчане!
У меня ноутбук, экран около 16 дюймов, помимо встроенной видеокарты intel установлена nvidia GeForce GTX 970M. Разрешение по умолчанию 3840х2160. Поскольку монитор небольшой, установил более низкое разрешение 1360x768 в Х. Чтобы экран входа в систему имел такое разрешение, прописал его явно в xorg.conf (помогло). Однако шрифт консоли (Alt+Ctrl+Fx) очень-очень мелкий (наверное, разрешение по умолчанию). Чтобы хоть что-нибудь можно было прочитать установил самый крупный шрифт через console-setup: 16x32 (только фрейм-буфер). Теперь по крайней мере можно разобрать текст. Пытался через /etc/default/grub изменить разрешение консоли. Безуспешно... Прошу всех неравнодушных откликнуться! :'(
ОС - Линукс Минт 18 (Синамон).
У меня ноутбук, экран около 16 дюймов, помимо встроенной видеокарты intel установлена nvidia GeForce GTX 970M. Разрешение по умолчанию 3840х2160. Поскольку монитор небольшой, установил более низкое разрешение 1360x768 в Х. Чтобы экран входа в систему имел такое разрешение, прописал его явно в xorg.conf (помогло). Однако шрифт консоли (Alt+Ctrl+Fx) очень-очень мелкий (наверное, разрешение по умолчанию). Чтобы хоть что-нибудь можно было прочитать установил самый крупный шрифт через console-setup: 16x32 (только фрейм-буфер). Теперь по крайней мере можно разобрать текст. Пытался через /etc/default/grub изменить разрешение консоли. Безуспешно... Прошу всех неравнодушных откликнуться! :'(
ОС - Линукс Минт 18 (Синамон).
Решение
Перейти к ответу ➙
Итак, дело сделано.
Для начала нужно создать скрипт
И сделать его исполняемым:
Затем надо перегенерировать образ initramfs, для этого есть команда:
После этого прописать параметр загрузки в
Переконфигурировать GRUB:
И перезагрузиться. Если всё сработает, то те же настройки применятся не только к консоли, но и к Иксам.
Ну и под конец можно убрать параметр загрузки в конфиге GRUB, чтобы не мешался (туда прописывали для теста), и передавать параметр модулю напрямую, прописав в
Для начала нужно создать скрипт
/etc/initramfs-tools/hooks/edid
:
Код: Выделить всё
#!/bin/sh
. /usr/share/initramfs-tools/hook-functions
mkdir -p ${DESTDIR}/lib/firmware/edid
cp /lib/firmware/edid/1360x768.bin ${DESTDIR}/lib/firmware/edid
Код: Выделить всё
sudo chmod +x /etc/initramfs-tools/hooks/edid
Код: Выделить всё
sudo update-initramfs -u
/etc/default/grub
:
Код: Выделить всё
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash drm_kms_helper.edid_firmware=edid/1360x768.bin"
Код: Выделить всё
sudo update-grub
Ну и под конец можно убрать параметр загрузки в конфиге GRUB, чтобы не мешался (туда прописывали для теста), и передавать параметр модулю напрямую, прописав в
/etc/modprobe.d/drm-kms-helper.conf
:
Код: Выделить всё
options drm_kms_helper edid_firmware=edid/1360x768.bin
Перейти к ответу ➙
-
- Сообщения: 10064
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 216
- Откуда: НН
- Благодарил (а): 838 раз
- Поблагодарили: 3042 раза
- Контактная информация:
Re: проблема с разрешением консоли
burnside,
Если я верно понял вопрос - то привести tty и иксы к нужному разрешению можно следующим образом:
Для начала, на этапе отображения меню grub жмем клавишу
По факту загрузки - добавляем эти строчки в /etc/default/grub, в моём примере 1280х960:
Также стоит поменять
На
Именно
Затем даём
Если я верно понял вопрос - то привести tty и иксы к нужному разрешению можно следующим образом:
Для начала, на этапе отображения меню grub жмем клавишу
с
чтоб попасть в его консоль, там набираем vbeinfo
и видим все доступные разрешения экрана. Запоминаем нужное и бутимся в системуПо факту загрузки - добавляем эти строчки в /etc/default/grub, в моём примере 1280х960:
Код: Выделить всё
GRUB_GFXMODE=1280x960
GRUB_GFXPAYLOAD_LINUX=keep
Код: Выделить всё
GRUB_CMDLINE_LINUX_DEFAULT="quiet spalsh"
Код: Выделить всё
GRUB_CMDLINE_LINUX_DEFAULT="quiet spalsh nomodeset"
nomodeset
не даст сползти разрешению в дальнейшемЗатем даём
sudo update-grub
и перезагружаемся.-
Автор темы - Сообщения: 14
- Зарегистрирован: 23 сен 2016, 00:07
- Благодарил (а): 9 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: проблема с разрешением консоли
Chocobo, спасибо за развернутый ответ! Такие манипуляции я уже проделывал ранее. Из всех доступных разрешений формата 16x9 
vbeinfo
выдает только 3840х2160. Если поставить любое другое разрешение из vbeinfo
(например, 1024x768), то после этого графическая оболочка загружается только в безопасном режиме. Приходится возвращать настройки grub в исходное состояние. Напомню, что мое рабочее разрешение (в виду небольшого размера монитора ноутбука) 1360x768 (можно и 1920x1080, но уже менее комфортно). Эх, требуется какой-то иной подход... 
-
- Сообщения: 22
- Зарегистрирован: 23 сен 2016, 07:02
- Решено: 3
- Благодарил (а): 4 раза
- Поблагодарили: 33 раза
- Контактная информация:
Re: проблема с разрешением консоли
Если мыслить "правильно", то надо не разрешение экрана менять, а использовать DE и приложения, поддерживающие HiDPI. Например, GNOME 3, KDE 5, Cinnamon, MATE (но в нём пока не полная поддержка) и просто приложения, использующие GTK 3 и Qt 5. Суть в том, что элементы управления и шрифты будут увеличены в несколько раз (обычно ровно в два раза).
Менять разрешение в консоли уж точно не стоит. Нужно просто сменить шрифт, вот и всё. Сделать это можно командой:
Как шрифт выбрать, например, Terminus, а размер установить в максимум. Остальные параметры лучше не трогать. После этого, возможно, потребуется перезагрузиться, чтобы увидеть результат.
UPD: прошу прощения, не заметил, что про
В таком случае можно последовать инструкциям отсюда. Там можно увидеть, что для не-дефолтных разрешений (список приведён) надо создавать свой EDID-файл. Параметр загрузки
Менять разрешение в консоли уж точно не стоит. Нужно просто сменить шрифт, вот и всё. Сделать это можно командой:
Код: Выделить всё
sudo dpkg-reconfigure console-setup
UPD: прошу прощения, не заметил, что про
console-setup
говорилось в первом посте.В таком случае можно последовать инструкциям отсюда. Там можно увидеть, что для не-дефолтных разрешений (список приведён) надо создавать свой EDID-файл. Параметр загрузки
nomodeset
при этом не должен быть выставлен.-
- Сообщения: 10064
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 216
- Откуда: НН
- Благодарил (а): 838 раз
- Поблагодарили: 3042 раза
- Контактная информация:
Re: проблема с разрешением консоли
Хм, корица опять капризничает


Еще вопрос, покажите сюда
inxi -G
, от задействованного видеоадаптера тоже могут быть разлчия в подходах-
Автор темы - Сообщения: 14
- Зарегистрирован: 23 сен 2016, 00:07
- Благодарил (а): 9 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: проблема с разрешением консоли
Вот вывод команды
inxi -G
:Graphics: Card-1: Intel 4th Gen Core Processor Integrated Graphics Controller
Card-2: NVIDIA GM204M [GeForce GTX 970M]
Display Server: X.Org 1.18.3 driver: nvidia
Resolution: 1360x768@59.80hz
GLX Renderer: GeForce GTX 970M/PCIe/SSE2
GLX Version: 4.5.0 NVIDIA 361.42
-
Автор темы - Сообщения: 14
- Зарегистрирован: 23 сен 2016, 00:07
- Благодарил (а): 9 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: проблема с разрешением консоли
nimms, благодарю за наводку. Читаю, пытаюсь разобраться. Пока непонятно как создать EDID файл для моего разрешения 1360x768.
-
- Сообщения: 22
- Зарегистрирован: 23 сен 2016, 07:02
- Решено: 3
- Благодарил (а): 4 раза
- Поблагодарили: 33 раза
- Контактная информация:
Re: проблема с разрешением консоли
burnside, насколько я понимаю, надо скачать исходники ядра, перейти там в директорию
Когда буду дома, попробую провернуть у себя. Раньше никогда этого не делал.
Documentation/EDID
, скопировать одно из имеющихся определений (например, 1024x768.S
в 1360x768.S
), изменить в нём параметры как нужно, после чего запустить make
. Создастся соответствующий бинарник (1360x768.bin
), его надо будет скопировать в директорию, указанную по данной мной ссылке, и следовать далее по тексту.Когда буду дома, попробую провернуть у себя. Раньше никогда этого не делал.
-
Автор темы - Сообщения: 14
- Зарегистрирован: 23 сен 2016, 00:07
- Благодарил (а): 9 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: проблема с разрешением консоли
nimms, создать файл
Двигаюсь дальше...
1360x768.S
и 1360x768.bin
оказалось очень удобно при помощи утилиты modeline2edid
(https://github.com/akatrevorjay/edid-generator):cvt 1360 768 60 > file
./modeline2edid ./file
make
Двигаюсь дальше...
-
Автор темы - Сообщения: 14
- Зарегистрирован: 23 сен 2016, 00:07
- Благодарил (а): 9 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: проблема с разрешением консоли
Здесь не все так просто. В Linux Mint не существует
mkinitcpio.conf
, который есть в ArchLinux...-
- Сообщения: 22
- Зарегистрирован: 23 сен 2016, 07:02
- Решено: 3
- Благодарил (а): 4 раза
- Поблагодарили: 33 раза
- Контактная информация:
Re: проблема с разрешением консоли
Итак, дело сделано.
Для начала нужно создать скрипт
И сделать его исполняемым:
Затем надо перегенерировать образ initramfs, для этого есть команда:
После этого прописать параметр загрузки в
Переконфигурировать GRUB:
И перезагрузиться. Если всё сработает, то те же настройки применятся не только к консоли, но и к Иксам.
Ну и под конец можно убрать параметр загрузки в конфиге GRUB, чтобы не мешался (туда прописывали для теста), и передавать параметр модулю напрямую, прописав в
Для начала нужно создать скрипт
/etc/initramfs-tools/hooks/edid
:
Код: Выделить всё
#!/bin/sh
. /usr/share/initramfs-tools/hook-functions
mkdir -p ${DESTDIR}/lib/firmware/edid
cp /lib/firmware/edid/1360x768.bin ${DESTDIR}/lib/firmware/edid
Код: Выделить всё
sudo chmod +x /etc/initramfs-tools/hooks/edid
Код: Выделить всё
sudo update-initramfs -u
/etc/default/grub
:
Код: Выделить всё
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash drm_kms_helper.edid_firmware=edid/1360x768.bin"
Код: Выделить всё
sudo update-grub
Ну и под конец можно убрать параметр загрузки в конфиге GRUB, чтобы не мешался (туда прописывали для теста), и передавать параметр модулю напрямую, прописав в
/etc/modprobe.d/drm-kms-helper.conf
:
Код: Выделить всё
options drm_kms_helper edid_firmware=edid/1360x768.bin
-
Автор темы - Сообщения: 14
- Зарегистрирован: 23 сен 2016, 00:07
- Благодарил (а): 9 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: проблема с разрешением консоли
nimms, одна проблема разрешилась, но появилась другая. Теперь текст в консоли выходит за границы экрана. К примеру, если запустить mc, то будет видна только левая панель. 

-
- Сообщения: 10064
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 216
- Откуда: НН
- Благодарил (а): 838 раз
- Поблагодарили: 3042 раза
- Контактная информация:
Re: проблема с разрешением консоли
тут думаю может помочь
Попробуй дать там по месту
Если прокатит - можно вкрутить в ~/.bashrc c условием что это tty, а не эмулятор терминала
fbset
Попробуй дать там по месту
sudo fbset -g 1360 768 1360 768 32
Если прокатит - можно вкрутить в ~/.bashrc c условием что это tty, а не эмулятор терминала
-
Автор темы - Сообщения: 14
- Зарегистрирован: 23 сен 2016, 00:07
- Благодарил (а): 9 раз
- Поблагодарили: 1 раз
- Контактная информация:
Re: проблема с разрешением консоли
Chocobo, большое спасибо!

~/.bashrc
что нужно прописать?-
- Сообщения: 10064
- Зарегистрирован: 27 авг 2016, 22:57
- Решено: 216
- Откуда: НН
- Благодарил (а): 838 раз
- Поблагодарили: 3042 раза
- Контактная информация:
Re: проблема с разрешением консоли
в
Но он начнет дважды запршивать пароль при входе в tty, т.к. у нас тут
От этого запроса отучаем так:
В конец дописываем
Теперь при каждом входе в командную строку, будет проверка не tty ли это случаем, и если он - выполнять необходимый fbset
~/.bashrc
можно добавить следующие строки
Код: Выделить всё
case $(tty) in /dev/tty[0-9]*)
sudo fbset -g 1360 768 1360 768 32 ;;
esac
sudo

От этого запроса отучаем так:
Код: Выделить всё
sudo visudo
Код: Выделить всё
username ALL = NOPASSWD: /bin/fbset
username
разумеется свой 
Теперь при каждом входе в командную строку, будет проверка не tty ли это случаем, и если он - выполнять необходимый fbset
-
- Сообщения: 22
- Зарегистрирован: 23 сен 2016, 07:02
- Решено: 3
- Благодарил (а): 4 раза
- Поблагодарили: 33 раза
- Контактная информация:
Re: проблема с разрешением консоли
Чтобы система не выполняла лишнюю работу, а также для того, чтобы видеть логи (или лого) при загрузке, можно эту команду не в
Прошу обратить внимание на ключ
После этого, опять же, надо сделать скрипт исполняемым и перегенерировать образ:
Пока так. Может, когда-нибудь получится найти другой, более "красивый" способ избавиться от этой проблемы.
~/.bashrc
прописать, а оформить как скрипт для initramfs, прописав в /etc/initramfs-tools/scripts/init-premount/fbset
:
Код: Выделить всё
#!/bin/sh
fbset -a -g 1360 768 1360 768 32
-a
, который применяет указанные настройки ко всем TTY, присвоенным framebuffer-устройству, а не только к текущему.После этого, опять же, надо сделать скрипт исполняемым и перегенерировать образ:
Код: Выделить всё
sudo chmod +x /etc/initramfs-tools/scripts/init-premount/fbset
sudo update-initramfs -u
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя