LINUX.ORG.RU

VGA по витой паре через переходник

 , , ,


0

2

Купил переходники VGA на витую пару для подключения монитора. Взялся тестировать, для начала на не экранированной витухе метра 3 - 4 длиной. Все работает хорошо, картинка четкая, цвета адекватные, но у монитора разрешение 1376x768 а я получаю картинку с обрезанными краями в формате 1024x768 и ничего с этим поделать не могу, в настройках нету нужных мне 1376x768. Юзаю Debian, но пробовал еще один live дистрибутив загружать и винду с этого же компа, результаты везде те же. Нашел вот эту статью http://blog.avisproject.com.ua/video-aksessuary/vga-po-vitoj-pare-vga-udlinitel-perexodnik/ там в комментариях внизу люди общались про траблы на линухе, пишут что для обнаружения устройства могут использоваться ножки номер 4, 11, 12. Так вот я по отдельному кабелю сверху еще припаял одновременно провода к ножкам 4, 11, 12 и это не дало результата. Пробовал еще экранированный патч-корд длиной около 30 см, то же самое. Куда копать? Как добится моих 1376x768 пикселей по витухе?

Выставить в конфиге иксов режим монитора руками, если проблема с определением.

Если переходник активный и это он ограничивает режим, то возможно ничего с этим не сделать.

mersinvald ★★★★★ ()
Ответ на: комментарий от mersinvald

Выставить в конфиге иксов режим монитора руками, если проблема с определением.

Можно подробнее, где эти конфиги находятся?

Если переходник активный и это он ограничивает режим, то возможно ничего с этим не сделать.

Переходник пассивный.

MRX256 ()

Список доступных разрешений определяется по edid монитора. При проблемах с его считыванием - можно попытаться загрузить из файла «синтетический». Способ зависит от драйвера видеокарты.

Для открытых драйверов - см. тут: https://wiki.archlinux.org/index.php/Kernel_mode_setting#Forcing_modes_and_EDID

Для nvidia можно как-то через xorg.conf

Правильный edid лучше с этого же монитора считать при штатном подключении.

GPFault ★★ ()

попробуй ядру во время загрузки передавать drm.edid_firmware=edid/1280x1024.bin

если поможет, тогда уже можно думать насчёт поиска edid под твои 1376x768

anonymous ()
Ответ на: комментарий от GPFault

Правильный edid лучше с этого же монитора считать при штатном подключении.

Забыл сразу написать. С родным кабелем VGA монитор работает совершенно нормально с разрешением 1360x768. А вот по витухе нет. Задача стоит подключить монитор по витухе длиной 10 метров.

MRX256 ()
Ответ на: комментарий от MRX256
Переключиться в режим консоли: Ctrl + Alt + F1.
Убить х сервера: sudo service lightdm stop.
Создайте новый файл xorg.conf: sudo X -configure. Это создаст xorg. conf. new файл в вашем текущем каталоге.
Переименовать и переместить: sudo mv xorg.conf.new /etc/X11/xorg.conf.
Вернуться в GUI: sudo start lightdm.
buka14 ()
Ответ на: комментарий от MRX256

Для получения edid при нормально работающем мониторе - find /sys | grep edid и скопировать найденный бинарный файл.

Если не найдётся, то другие методы в https://unix.stackexchange.com/questions/114359/how-to-get-edid-for-a-single-monitor

Вообще самый первый анон прав - преэже чем лепить свой edid надо проверить работает ли сам механизм подмены edid.

drm.edid_firmware=edid/800x600.bin Если ухудшится до 800x600 - значит работает.

Но синтаксиси зависит от версии ядра, на arch-wiki - написано

GPFault ★★ ()
Ответ на: комментарий от GPFault

Для получения edid при нормально работающем мониторе - find /sys | grep edid и скопировать найденный бинарный файл.

Эта команда выполнилась. Вот вывод:

/sys/kernel/debug/dri/0/SVIDEO-1/edid_override
/sys/kernel/debug/dri/0/VGA-1/edid_override
/sys/kernel/debug/dri/0/LVDS-1/edid_override
/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-VGA-1/edid
/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-SVIDEO-1/edid
/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-LVDS-1/edid
/sys/module/drm_kms_helper/parameters/edid_firmware
/sys/module/drm/parameters/edid_firmware
/sys/module/drm/parameters/edid_fixup

Как и куда скопировать бинарный файл?

p.s. английские мануалы осилить не смогу.

MRX256 ()
Ответ на: комментарий от MRX256

Посмотрите какой из 3х edid не пустой. Скорее всего вот этот:

/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-VGA-1/edid

бинарный файл скопировать (с переименованием) в

/lib/firmware/my-1360x768.bin

Дальше пробовать варианты

  • drm.edid_firmware=edid/800x600.bin
  • drm.edid_firmware=my-1360x768.bin

Если никаких изменений не будет - то пробовать такие варианты

  • drm_kms_helper.edid_firmware=edid/800x600.bin
  • drm_kms_helper.edid_firmware=my-1360x768.bin

Всё вышеперчисленное аргументы командной строки ядра, можно задавать в grub заранее отредактировав конфиг или интерактивно в момент загрузки (но тогда придётся следить что не опечатался)

Если 800x600 не будет давать эффект - дело в подходе задания edid (тогда версию ядра из uname -a в студию) Если 800x600 будет давать эффект, а my-1360x768.bin -нет - то дело в файле (тогда смотреть логи - dmesg)

GPFault ★★ ()
Последнее исправление: GPFault (всего исправлений: 2)
Ответ на: комментарий от Rost

вангую монитор выбирает разрешение исходя из качества сигнала. попробуй кабель покороче.

Я выше писал что использовал кабель длиной 30 см. Не в кабеле дело, уже разобрался что дело в том что 8 жил витухи недостаточно для полноценной работы монитора. В моем случае понадобилось 10 жил.

MRX256 ()
Ответ на: комментарий от GPFault

Посмотрите какой из 3х edid не пустой. Скорее всего вот этот: /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-VGA-1/edid

Спасибо, добрый человек, что расписал здесь что и как. Но пока ты это писал я все таки смог решить свой вопрос паяльником. Загуглил VGA распиновка, посмотрел эти ссылки https://pinouts.ru/Video/VGA15.shtml и https://pinoutguide.com/Video/dvi_to_vga_adapter.shtml поэкспериментировал и добился своего. Оказалось что для корректной работы монитора 8 жил витухи и переходников недостаточно. Я по отдельному кабелю припаял еще 12 и 15 ножку на разъемах VGA и все заработало как часы. В процессе экспериментов еще пробовал подключать отдельно только одну 12 или 15 жилу, но это не давало никакого результата, нужно сразу 12 и 15 жилу паять. Делалось это все для того, чтобы перенести шумную часть компа в другую комнату, а на рабочем месте оставить монитор, мышу и клаву (примерно так делает Линус Торвальдс) но оказалось что в полной тишине монитор выдает тихий и противный зудящий звук. Как по мне, то слушать звук куллеров в итоге не так противно как сам монитор. Кто разбирается в мониторах, подскажите, все жк мониторы тихонько и противно зудят при работе или есть абсолютно беззвучные?

MRX256 ()
Ответ на: комментарий от MRX256

Только что загуглил есть ли бесшумные жк мониторы и сразу наткнулся на нужную статью https://pikabu.ru/story/shumit_monitor_4334878 Здесь пишут что при понижении яркости жк монитор начинает зудеть, а у меня как раз была низкая яркость, когда ставлю яркость на максимум то наступает полная тишина и все вроде хорошо, но монитор теперь очень ярко работает.

MRX256 ()
Ответ на: комментарий от MRX256

Был ( ещё работает)) ибо ещё не копроэкономика) ноут 99года. Так на нём на даче в полной тишине в округе при выключенных кулерах было слышно как пиксели в lcd двигаются. То есть пока картинка статичная - идеальная тишина. Чем больше изменений на мониторе, тем громче звук)) Может это наводка на внутренние колонки была, но факт что не от нагрузки на cpu, а именно от изменений на экране.

А насчёт пайки проводков vga у меня странный опыт - менял разъём на мониторе в котором провод не съёмный. До замены получал разрешения на всех видекокартах (но из-за обрыва в других линиях картинка теряла цвета), а после - только на некоторых. Всё прозвонил, перераял - картина не изменилась. Плюнул на это и научился решать софтово, как описывал выше.

GPFault ★★ ()
Последнее исправление: GPFault (всего исправлений: 2)

В статье по ссылке, как бы, намекают, что Для передачи изображения высокого разрешения на большие расстояния (60-300)м уже потребуется применение активного передатчика и приемника.. Очевидно, всё дело в предельных для витой пары и элементов видеосигнала частотах и/или их затухании с расстоянием.

blexey ★★★★★ ()
Ответ на: комментарий от GPFault

бинарный файл скопировать (с переименованием) в /lib/firmware/my-1360x768.bin

Что-то сомнительная информация. Разве это так работает?

Его (bin этот) мало положить куда-нибудь в /lib/firmware - надо чтобы он еще и включился в initrd, чтобы ядро при загрузке смогло его увидеть. Раз уж в параметрах ядра просим его подхватить, значит на этом эатпе уже должен быть доступен.

У разных инструментов создания initrd это делается по разному. Раз речь о Debian, то через /etc/initramfs-tools/hooks.

После чего, конечно, пересобрать initrd. И только после следующей загрузки ваш кастомный edid заработает от drm.edid_firmware

anonymous ()
Ответ на: комментарий от GPFault

ноут 99года. Так на нём на даче в полной тишине в округе при выключенных кулерах было слышно как пиксели в lcd двигаются. То есть пока картинка статичная - идеальная тишина. Чем больше изменений на мониторе, тем громче звук)) Может это наводка на внутренние колонки была, но факт что не от нагрузки на cpu, а именно от изменений на экране.

Что там 99 год, ЕМНИП, у меня Thinkpad T410s тихо и тонко сипел, когда картинка на экране менялась.

anonymous ()
Ответ на: комментарий от anonymous

Насчёт включения в initrd - насколько я понимаю нужность этого этапа зависит от момента инициализации драйвера - до или после монтирования настоящего корня. Судя по archwiki бывает и так и так в зависимости от драйвера и его настроек (intel+earlykms).

Сейчас этим механизмом уже не пользуюсь, так что не уверен.

Сам факт передачи в командной строке ядра НЕ говорит априори о необходимости положить в initrd. Например у меня в initrd нет папки /lib/firmware/amdgpu/ которая используется при первичной инициализации драйвера видеокарт amd. А до его инициализации - edid не испольузуется

GPFault ★★ ()
Ответ на: комментарий от anonymous

Thinkpad T410s тихо и тонко сипел, когда картинка на экране менялась.

Очень похожее описание звука, который я слышал! Природа его мне совершенно не ясна. Картинка в матрицу по идее закачивается целиком на каждом кадре, вне зависимости от того изменилась она или нет. Теоретическими истониками наверное наверное могут быть память gpu (изменяются пиксели в ней) и в самой матрице, которая на основании переданных данных пиксели физически ворочает, отдавая соответствующие комнады.

Склоняюсь к варианту что токи в матрице наводки на колонки вызывали или что-то такое.

Если бы сами пиксели скрипели - они бы протёрлись, звучит как бред)))

GPFault ★★ ()
Ответ на: комментарий от einhander

Читал по диагонали, в чем проблема купить 15м vga кабель? Он точно работает и все определяется.

Для 15м vga кабеля мне нужно будет сверлить отверстие в стене около 5 см диаметром, а для витухи 7 мм хватит. Я как то взялся прозвонить все жилы обычного VGA кабеля, то у меня сложилось впечатление что там все 15 жил задействованы были, потому что все они прозванивались. Резать длинный VGA кабель, прокладывать его и паять 15 жил, это черт ногу сломит, проще по витухе.

MRX256 ()