Не определяет монитор, нет нужного разрешения, неизвестный дисплей VGA в Ubuntu
Столкнулся с проблемой определения второго монитора, подключенного через VGA. Сперва подозрение упало на драйвера, так как до перезагрузки происходило обновление Ubuntu 18.04. Занявшись анализом и колдовством с xorg.conf ничего не добился. Принял решение переустановить ОС, но это не помогло. Позже проверил подключенный монитор к другой машине, стало ясно, что монитор не отдает о себе информации. Причины, почему так, не знаю. Переходников не используется, пробовал менять кабель подключения, не помогло.
Завести «Неизвестный дисплей» пришлось вручную задавши ему параметры работы. Я помню что он работал с разрешением 1920х1080 с частотой 60. Этого вполне достаточно чтобы генерировать параметры и дать понять системе как работать с монитором.
1. Определяем подключение нужного монитора:
Видим использование (в моем случае) VGA-1-1
2. Берем строку с параметрами:
cvt 1920 1080 60
параметры (в моем случае) 1920х1080 60. Нам нужна эта часть, ее будем использовать дальше.
3. Применяем новые параметры:
xrandr —newmode 1920x1080_60.00 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
xrandr —addmode VGA-1-1 1920x1080_60.00
xrandr —output VGA-1-1 —mode 1920x1080_60.00
1920x1080_60.00 — параметр со скрина 2.
VGA-1-1 — подключение со скрина 1.
Наблюдаем, что в настройках управления мониторами, появилось нужное разрешение.
Этот способ работает только в пределах одной сессии. Чтобы при входе в систему монитор имел нужные нам параметры, нужно поставить это на автозапуск.
4. Автоматизация при запуске:
Создаем monitor.sh с параметрами из пункта 3 выше, и размещаем ее в любое место
xrandr —newmode 1920x1080_60.00 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
xrandr —addmode VGA-1-1 1920x1080_60.00
xrandr —output VGA-1-1 —mode 1920x1080_60.00
Для автозапуска при включении нужно зайти в «Настройки» -> «Автоматически запускаемые приложения» и сделать так
Источник
[Решено] Не определяется разрешение экрана у монитора
Обновил видеокарту подключаю через DVI-D монитор (со старой видюхой был подключен через dsub) и вместо обычных FullHD вижу 1024×768 и разрешение поменять никак нельзя.
Монитор LG Flatron E2411TX карта nvidia 1060 драйвер проприетарный.
Кабель плохой, скорее всего. Покажи лог. xrandr не дергай, не читай вредных советов из интернета по добавлению разрешений. Разрешение должно автоматически определяться.
Или же другая причина: драйвер не работает, грузится умолчательная vesa, которая выставляет такое разрешение.
Кабелей у меня два, с обоими такая же фигня. Кабели рабочие, в винде нормальное разрешение установилось.
Я не очень хорошо понимаю сообщения nvidia, так как они там свое что-то пишут, но:
Он все же говорит, что EDID он не видит, выбирается nvidia-auto-select вместо выставления разрешения по EDID. Винды, кстати, могут просто запомненное разрешение выставлять, а не каждый раз монитор спрашивать. Попробуй вот в виндах удалить монитор из устройств и заново загрузиться. Винда увидит модель монитора и его производителя? Или же она выставит нечто подобное «Стандартный монитор»?
//Он все же говорит, что EDID он не видит и выбирается nvidia-auto-select вместо выставления разрешения по EDID.
Как быть? Проверить в виндах, как я сказал. Если винды определят монитор как LG и прямо вот модель даже напишут, то кабель ок. Если же нет, то кабель не ок. Тогда варианта два: либо искать нормальный кабель, либо же написать волшебные строчки в xorg.conf (подскажу, наверное), чтобы рассказать nvidia вручную, что к ней подключено. Но для начала надо диагноз поставить.
//Винда увидит модель монитора и его производителя? Или же она выставит нечто подобное «Стандартный монитор»
Винда не распознала. Пишет «Универсальный монитор не PnP»
Винда не распознала. Пишет «Универсальный монитор не PnP»
О! А это значит, что, скорее всего, кабель. Вторая причина редка очень — это испорченный EDID у монитора. В основном кабель. Ну, значит, что? Будешь кабель искать или строчки мудрить будем?
Я итак уже два кабеля попробывал, может сам разъём DVI на мониторе, потомучто через д-саб никогда проблем небыло. Давай попробуем программно.
Винда не распознала. Пишет «Универсальный монитор не PnP»
Это надо смотреть в Панели управления NVIDIA, вкладка «Установка нескольких дисплеев». Без драйвера на монитор в диспетчере устройств всегда будет так
Да, там он нормально распознался.
а разве винды при определении не пишут модель монитора? Что-то меня память начала подводить или раньше по-другому было. По крайней мере в EDID информация о модели и изготовителе идет и всегда можно посмотреть.
То есть он видит модель и изготовителя, правильно я понимаю?
А может так быть, что ТС поставил драйвер монитора, а драйвер Nvidia переписал данные к себе, а сейчас ему как бы показывает то, что осталось еще от прошлого драйвера? Я просто конкретики не знаю, как там в виндах этот процесс происходит.
Вот, кстати, можешь посмотреть EDID? Там такая панель в виндах есть? Если есть EDID, то можешь его сюда или на pastebin.com переписать?
Я чего-то совсем перестаю понимать. Скачал на флешку puppylinux гружусь — разрешение правильное. Ну думаю отлично, посмотрел чего там в xorg.conf и подсунул его в свою систему. И нифига! «Plasma не может продолжить работу из-за невозможности использования OpenGL 2» И всё виснет. Как так-то? Ведь с этим же конфигом puppy нормально работает. Вот конфиг оттуда: https://pastebin.com/8HLD9T0g
У тебя вообще конфиг избыточный. Для нормальной работы должно хватать:
Вот оставь только это. И попробуй загрузиться.
EDID верный, кабель отметаем. Правь конфиг как выше.
Скачал на флешку puppylinux гружусь — разрешение правильное.
А там, наверное, другой драйвер — nouveau. Или ты туда проприетарный тоже поставил?
//А там, наверное, другой драйвер — nouveau. Или ты туда проприетарный тоже поставил? да, там свободный.
С таким конфигом иксы вообще не захотели стартовать. В логах иксов: loadmodule: «nvidia» Warning, couldn’t open module nvidia Failed to load module nvidia (module does not exist) No drivers available Fatal server error: No screens found (EE)
А, ну тогда добавь вот это, что у тебя. Путь к модулю. Видимо, его нет там, где его иксы ищут. Какая-то своя атмосфера. Ты уверен, что все правильно?
После добавления путей загрузился.Разрешение так и осталось 1024х768
//Ты уверен, что все правильно?
После добавления путей загрузился.Разрешение так и осталось 1024х768
Какая-то непонятная проблема с драйвером. Для начала хотелось бы устранить визги по поводу ACPI. Может быть, как-то связано. По умолчанию драйвер nvidia (из документации) ищет /var/run/acpid.socket . Он у тебя есть?
The NVIDIA X driver attempts to connect to the ACPI daemon (acpid) via a UNIX domain socket. The default path to this socket is «/var/run/acpid.socket». Set this option to specify an alternate path to acpid’s socket. Default: «/var/run/acpid.socket».
Если нет, то стоит ли у тебя acpid?
Нету такого файла. Пакет acpid не стоял. Поставил.
Тогда проверь, запущен ли acpid. если запущен, то перезагрузи иксы. Глянь лог — исчезло ли предупреждение. Можешь новый лог еще раз повесить, если разрешение не исправится. А лучше вообще машину перезапусти.
Как проверить запущен ли он?
Ну, ps aux | grep acpid. Или в top глянь. В KDE можно посмотреть запущенные процессы гле-то, наверное.
> ps aux | grep acpid kido 2774 0.0 0.0 10568 1632 pts/0 S+ 20:43 0:00 grep —color=auto acpid
В top не видать. Как его запустить? Извиняюсь за свою дремучесть.
Ну, у тебя systemd, должно быть, поэтому я не знаю, как его в systemd запустить. Просто перезагрузи машину и проверь снова. В данном случае машину все равно полезно перезагрузить.
Он все равно ругается. Сейчас acpid запущен? /var/run/acpid.socket есть?
> ps aux | grep acpid kido 2725 0.0 0.0 10568 1588 pts/0 S+ 21:00 0:00 grep —color=auto acpid
Сделай так. systemctl start acpid.service . Если все ок, то перезагрузи иксы. Может, надо разрешить сервис, может, он не грузится по умолчанию в systemd.
Сегодня уже больше не могу этим заниматься. Спасибо за желание помочь.
Ну ты уж допинай, плиз. И сообщи результат, потому что жалко день в пустоту. Твоя задача сейчас немного от драйвера отвлечься и сделать так, чтобы acpid запускался автоматом. Но это вопрос уже по systemd. У меня ощущение, что должно заработать все после успешного запуска.
Но для начала можешь запустить его вручную. Блин, тут пара секунд проверить.
Файл появился. Из логов исчезло упоминание про acpi https://pastebin.com/B9TDTGg0
Но при загрузке системы видемо этот сервис автоматом не поднимается
Автозагрузку сервиса настроил.
А счастье не наступило. Я глянул список: вроде твоя версия драйвера поддерживает карту. Что же может быть? Причина понятна — не получает EDID, поэтому и разрешение такое. Ок, сейчас я сделаю workaround (попробую), но это, конечно, не дело. Погоди минут 15.
1. Скачай вот файл EDID твоего монитора и сохрани его в /etc/X11/lg_flatron_e2411tx_edid.bin
2. В конфиг xorg.conf помести вот это:
Вот теперь всё закрутилось! Спасибо тебе огромное за помощь и терпение. Вопрос решён. Интересно почему через DVI не получает информацию EDID? Через D-SUB проблем никогда не было. Я, признаться, тоже натыкался на информацию подкинуть CustomEDID, но где его брать для своего монитора не понял. Спасибо, в общем, тебе — выручил!
Интересно почему через DVI не получает информацию EDID?
Вопрос, конечно, не решен. Какая-то проблема с драйвером. То ли не все установилось (не все пакеты, которые требуются), то ли какая-то несовместимость с ядром или иксами. Это надо все точно проверить. Получение EDID через DDC уже давно не является какой-то проблемой в драйверах. Должно работать. Пока что решение с подсовыванием EDID — это затычка, чтобы хоть как-то поработать нормально, но это не решение, мы просто подсунули видяхе то, что она должна была получить из монитора. Неполучение EDID из монитора выглядит очень странным.
Я, признаться, тоже натыкался на информацию подкинуть CustomEDID, но где его брать для своего монитора не понял.
Дамп из Windows помог, который ты выложил — не пришлось искать и вытаскивать из посторонних источников (и то не факт, что вытащишь). В твоем логе EDID в hex, я его в бинарный вид преобразовал — и вуаля. Если бы не было EDID, то можно все параметры монитора в xorg.conf аккуратно вписать в секцию Monitor. Но все же повторюсь, что надо бы поискать в области драйвера, все ли компоненты установились. Если не все нужное стоит, то надо поставить все и еще раз без customEDID проверять, не начал ли определяться автоматом монитор.
а разве винды при определении не пишут модель монитора? Что-то меня память начала подводить или раньше по-другому было. По крайней мере в EDID информация о модели и изготовителе идет и всегда можно посмотреть.
Стандартный драйвер не переименовывает себя, основываясь на данных из EDID, и остается все тем же «Стандартным монитором»
А может так быть, что ТС поставил драйвер монитора, а драйвер Nvidia переписал данные к себе, а сейчас ему как бы показывает то, что осталось еще от прошлого драйвера? Я просто конкретики не знаю, как там в виндах этот процесс происходит.
Ядро не менял — стандартное openSUSE’вское. Драйвер тоже собирал также, как это делаю уже очень долго через dkms из репозитория http://download.opensuse.org/repositories/home:/Bumblebee-Project:/nVidia:/37. Ставлю просто всё оттуда и всегда всё нормально работало. После установки драйвера в консоль никаких ворнингов не высыпало, всё прошло штатно, как всегда.
У меня тоже с DVI-D такая фигня на убунте, причем только с проприетарным драйвером nvidia, а с nouveau все норм. Если через D-Sub подключать, то и с одним, и с другим драйвером работает. Я не стал настолько сильно заморачиваться и просто оставил nouveau.
всплывет гуй — выставляешь нужное разрешение и сохраняешь Х конфигурацию, спросит куда в
Источник