Страница 1 из 2
Проблема с разрешением консоли
Добавлено: 23 сен 2016, 00:11
burnside
Здравствуйте, форумчане!
У меня ноутбук, экран около 16 дюймов, помимо встроенной видеокарты intel установлена nvidia GeForce GTX 970M. Разрешение по умолчанию 3840х2160. Поскольку монитор небольшой, установил более низкое разрешение 1360x768 в Х. Чтобы экран входа в систему имел такое разрешение, прописал его явно в xorg.conf (помогло). Однако шрифт консоли (Alt+Ctrl+Fx) очень-очень мелкий (наверное, разрешение по умолчанию). Чтобы хоть что-нибудь можно было прочитать установил самый крупный шрифт через console-setup: 16x32 (только фрейм-буфер). Теперь по крайней мере можно разобрать текст. Пытался через /etc/default/grub изменить разрешение консоли. Безуспешно... Прошу всех неравнодушных откликнуться! :'(
ОС - Линукс Минт 18 (Синамон).
Re: проблема с разрешением консоли
Добавлено: 23 сен 2016, 01:18
Chocobo
burnside,
Если я верно понял вопрос - то привести tty и иксы к нужному разрешению можно следующим образом:
Для начала, на этапе отображения меню grub жмем клавишу
с
чтоб попасть в его консоль, там набираем
vbeinfo
и видим все доступные разрешения экрана. Запоминаем нужное и бутимся в систему
По факту загрузки - добавляем эти строчки в /etc/default/grub, в моём примере 1280х960:
Код: Выделить всё
GRUB_GFXMODE=1280x960
GRUB_GFXPAYLOAD_LINUX=keep
Также стоит поменять
На
Код: Выделить всё
GRUB_CMDLINE_LINUX_DEFAULT="quiet spalsh nomodeset"
Именно
nomodeset
не даст сползти разрешению в дальнейшем
Затем даём
sudo update-grub
и перезагружаемся.
Re: проблема с разрешением консоли
Добавлено: 23 сен 2016, 07:11
burnside
Chocobo, спасибо за развернутый ответ! Такие манипуляции я уже проделывал ранее. Из всех доступных разрешений формата 16x9
vbeinfo
выдает только 3840х2160. Если поставить любое другое разрешение из
vbeinfo
(например, 1024x768), то после этого графическая оболочка загружается только в безопасном режиме. Приходится возвращать настройки grub в исходное состояние. Напомню, что мое рабочее разрешение (в виду небольшого размера монитора ноутбука) 1360x768 (можно и 1920x1080, но уже менее комфортно). Эх, требуется какой-то иной подход...

Re: проблема с разрешением консоли
Добавлено: 23 сен 2016, 08:24
nimms
Если мыслить "правильно", то надо не разрешение экрана менять, а использовать DE и приложения, поддерживающие
HiDPI. Например, GNOME 3, KDE 5, Cinnamon, MATE (но в нём пока не полная поддержка) и просто приложения, использующие GTK 3 и Qt 5. Суть в том, что элементы управления и шрифты будут увеличены в несколько раз (обычно ровно в два раза).
Менять разрешение
в консоли уж точно не стоит. Нужно просто сменить шрифт, вот и всё. Сделать это можно командой:
Как шрифт выбрать, например, Terminus, а размер установить в максимум. Остальные параметры лучше не трогать. После этого, возможно, потребуется перезагрузиться, чтобы увидеть результат.
UPD: прошу прощения, не заметил, что про
console-setup
говорилось в первом посте.
В таком случае можно последовать инструкциям
отсюда. Там можно увидеть, что для не-дефолтных разрешений (список приведён) надо создавать свой EDID-файл. Параметр загрузки
nomodeset
при этом
не должен быть выставлен.
Re: проблема с разрешением консоли
Добавлено: 23 сен 2016, 08:53
Chocobo
burnside писал(а): Если поставить любое другое разрешение из vbeinfo (например, 1024x768), то после этого графическая оболочка загружается только в безопасном режиме.
Хм, корица опять капризничает

попробую воспроизвести и на ней, может удастся победить.
Еще вопрос, покажите сюда
inxi -G
, от задействованного видеоадаптера тоже могут быть разлчия в подходах
Re: проблема с разрешением консоли
Добавлено: 23 сен 2016, 09:15
burnside
Chocobo писал(а): Еще вопрос, покажите сюда inxi -G, от задействованного видеоадаптера тоже могут быть различия в подходах
Вот вывод команды
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
Re: проблема с разрешением консоли
Добавлено: 23 сен 2016, 11:48
burnside
nimms, благодарю за наводку. Читаю, пытаюсь разобраться. Пока непонятно как создать EDID файл для моего разрешения 1360x768.
Re: проблема с разрешением консоли
Добавлено: 23 сен 2016, 12:05
nimms
burnside, насколько я понимаю, надо скачать исходники ядра, перейти там в директорию Documentation/EDID
, скопировать одно из имеющихся определений (например, 1024x768.S
в 1360x768.S
), изменить в нём параметры как нужно, после чего запустить make
. Создастся соответствующий бинарник (1360x768.bin
), его надо будет скопировать в директорию, указанную по данной мной ссылке, и следовать далее по тексту.
Когда буду дома, попробую провернуть у себя. Раньше никогда этого не делал.
Re: проблема с разрешением консоли
Добавлено: 23 сен 2016, 15:03
burnside
nimms, создать файл
1360x768.S
и
1360x768.bin
оказалось очень удобно при помощи утилиты
modeline2edid
(
https://github.com/akatrevorjay/edid-generator):
cvt 1360 768 60 > file
./modeline2edid ./file
make
Двигаюсь дальше...
Re: проблема с разрешением консоли
Добавлено: 23 сен 2016, 17:03
burnside
nimms писал(а): его надо будет скопировать в директорию, указанную по данной мной ссылке, и следовать далее по тексту.
Здесь не все так просто. В
Linux Mint не существует
mkinitcpio.conf
, который есть в
ArchLinux...
Re: проблема с разрешением консоли
Добавлено: 23 сен 2016, 18:24
nimms
Итак, дело сделано.
Для начала нужно создать скрипт
/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
Затем надо перегенерировать образ initramfs, для этого есть команда:
После этого прописать параметр загрузки в
/etc/default/grub
:
Код: Выделить всё
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash drm_kms_helper.edid_firmware=edid/1360x768.bin"
Переконфигурировать GRUB:
И перезагрузиться. Если всё сработает, то те же настройки применятся не только к консоли, но и к Иксам.
Ну и под конец можно убрать параметр загрузки в конфиге GRUB, чтобы не мешался (туда прописывали для теста), и передавать параметр модулю напрямую, прописав в
/etc/modprobe.d/drm-kms-helper.conf
:
Код: Выделить всё
options drm_kms_helper edid_firmware=edid/1360x768.bin
Re: проблема с разрешением консоли
Добавлено: 23 сен 2016, 21:26
burnside
nimms, работает!!!!

Огромное Вам спасибо!

Re: проблема с разрешением консоли
Добавлено: 23 сен 2016, 22:34
burnside
nimms, одна проблема разрешилась, но появилась другая. Теперь текст в консоли выходит за границы экрана. К примеру, если запустить mc, то будет видна только левая панель.

Re: проблема с разрешением консоли
Добавлено: 23 сен 2016, 22:44
Chocobo
тут думаю может помочьfbset
Попробуй дать там по месту sudo fbset -g 1360 768 1360 768 32
Если прокатит - можно вкрутить в ~/.bashrc c условием что это tty, а не эмулятор терминала
Re: проблема с разрешением консоли
Добавлено: 23 сен 2016, 23:05
burnside
Chocobo писал(а): Если прокатит - можно вкрутить в ~/.bashrc условием что это tty, а не эмулятор терминала
Chocobo, большое спасибо!

Теперь все норме. А в
~/.bashrc
что нужно прописать?
Re: проблема с разрешением консоли
Добавлено: 23 сен 2016, 23:26
Chocobo
в
~/.bashrc
можно добавить следующие строки
Код: Выделить всё
case $(tty) in /dev/tty[0-9]*)
sudo fbset -g 1360 768 1360 768 32 ;;
esac
Но он начнет дважды запршивать пароль при входе в tty, т.к. у нас тут
sudo
От этого запроса отучаем так:
В конец дописываем
username
разумеется свой
Теперь при каждом входе в командную строку, будет проверка не tty ли это случаем, и если он - выполнять необходимый fbset
Re: проблема с разрешением консоли
Добавлено: 24 сен 2016, 11:19
nimms
Чтобы система не выполняла лишнюю работу, а также для того, чтобы видеть логи (или лого) при загрузке, можно эту команду не в
~/.bashrc
прописать, а оформить как скрипт для initramfs, прописав в
/etc/initramfs-tools/scripts/init-premount/fbset
:
Прошу обратить внимание на ключ
-a
, который применяет указанные настройки ко
всем TTY, присвоенным framebuffer-устройству, а не только к текущему.
После этого, опять же, надо сделать скрипт исполняемым и перегенерировать образ:
Код: Выделить всё
sudo chmod +x /etc/initramfs-tools/scripts/init-premount/fbset
sudo update-initramfs -u
Пока так. Может, когда-нибудь получится найти другой, более "красивый" способ избавиться от этой проблемы.
проблема с разрешением консоли
Добавлено: 30 янв 2017, 19:50
LeTruk
Столько команд... Что вводить то?
Попасть в консоль?
Добавлено: 30 янв 2017, 19:53
LeTruk
Попасть в консоль?
Добавлено: 30 янв 2017, 21:16
Chocobo