LINUX.ORG.RU

Не работает второй монитор на FreeBSD(и других UNIX-подобными системах)

 , , , ,


2

2

Введение:

Здравствуйте, дорогие Форумчане. У меня возникла проблема с UNIX-подобными системами, она заключается в том что работает только один монитор. В наличии имеется два монитора, один обычный hdmi и второй vga(используется переходник vga-hdmi), а также видеокарта rx570. Оба монитора работают на windows10 и проблема проявляется только на одном порту hdmi(HDMI-A-0) в UNIX-like системах.

Сама проблема:

Оба монитора работают нормально(особенно на винде) до загрузки модулей ядра, дальше работает только один(HDMI-A-1). После исключения amdgpu из списка подгружаемых модулей, при следующей загрузке, оба монитора начали работать в нормальном режиме => проблема именно в драйвере(или нет?). Проблема повторяется независимо от того какой монитор подключён к (HDMI-A-0), он всё равно не работает.

Смотрел лог ядра при загруженном amdgpu и ничего для себя не нашёл.

Логи и конфигурации:

Сам лог ядра: Pastebin

rc.conf: Pastebin

Xorg.0.log: Pastebin

xorg.conf: Pastebin

P.S. Cейчас сижу на FreeBSD, но как уже писал, проблема проявляется во всех UNIX-like(которые я тестировал) системах. Так же прошу сильно не карать за допущенные ошибки, я новичок на FreeBSD.

upd1: Забыл написать, что tty при загруженном amdgpu тоже не работает

upd2: Eсли считать, что видеокарта - источник сигнала, а монитор - приёмник, то HDMI → D-SUB(VGA).

upd3: В моём xorg.conf образовалось два устройства вывода, один графический(Card0), другой аудио(Card1).

Section "Device"
        ...
	Identifier  "Card0"
	Driver      "amdgpu"
	BusID       "PCI:5:0:0"
EndSection
Section "Device"
        ...
	Identifier  "Card1"
	Driver      "amdgpu"
	BusID       "PCI:5:0:1"
EndSection

Второй монитор(HDMI-A-0) был как раз сконфигурирован на аудио(Card1):

Section "Screen"
	Identifier "Screen1"
	Device     "Card1"
	Monitor    "Monitor1"
        ...
EndSection

Однако, когда я изменил значение «Device» на «Card0» и перезагрузился - ничего не поменялось.



Последнее исправление: kastak (всего исправлений: 3)

Ответ на: комментарий от PhysShell

Так вроде в моём xorg.conf есть такая строчка xorg.conf: Pastebin

Section "Device"
        ### Available Driver options are:-
        ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
        ### <string>: "String", <freq>: "<f> Hz/kHz/MHz",
        ### <percent>: "<f>%"
        ### [arg]: arg optional
        #Option     "Accel"              	# [<bool>]
        #Option     "SWcursor"           	# [<bool>]
        #Option     "EnablePageFlip"     	# [<bool>]
        #Option     "SubPixelOrder"      	# [<str>]
        #Option     "ZaphodHeads"        	# <str>
        #Option     "AccelMethod"        	# <str>
        #Option     "DRI3"               	# [<bool>]
        #Option     "DRI"                	# <i>
        #Option     "ShadowPrimary"      	# [<bool>]
        #Option     "TearFree"           	# [<bool>]
        #Option     "DeleteUnusedDP12Displays" 	# [<bool>]
        #Option     "VariableRefresh"    	# [<bool>]
	Identifier  "Card0"
	Driver      "amdgpu"
	BusID       "PCI:5:0:0"
EndSection
kastak
() автор топика
Ответ на: комментарий от Slack
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 16384 x 16384
DisplayPort-0 disconnected (normal left inverted right x axis y axis)
DisplayPort-1 disconnected (normal left inverted right x axis y axis)
HDMI-A-0 disconnected (normal left inverted right x axis y axis)
HDMI-A-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 1600mm x 900mm
   1360x768      60.37 +
   1920x1080     60.00*   50.00    59.94  
   1280x1024     60.02  
   1280x720      60.61    60.00    50.00    59.94  
   1024x768      60.00  
   800x600       60.32  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       60.00    59.94  
DVI-D-0 disconnected (normal left inverted right x axis y axis)

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

Да, по ссылке, что я выше привёл, об этом написано же. Не поленись, почитай, так как там есть дополнительная информация, помимо этого. Переводчик в помощь, если необходимо.

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

Прошу прощения, я действительно не досмотрел. Однако, проблема так и не ушла.

/usr/local/etc/X11/xorg.conf:

Section "Device"
  Identifier "Card0"
  Driver "amdgpu"
  BusID "PCI:5:0:0"
EndSection

Само содержимое, вдруг я ошибся где-то.

kastak
() автор топика

В конфиг хорга нету смысла лезть, пока в логе «Output HDMI-A-0 disconnected». Да и вообще в него нету смысла лезть, давным давно все автодетектится. А что не автодетектится - обычно лечится на уровне ядерных драйверов, а не конфига, ставшего рудиментом. Выше в том же логе видно, что для HDMI-A-0 нету EDID, скорее всего, проблема в этом.

https://wiki.archlinux.org/title/kernel_mode_setting#Forcing_modes_and_EDID - см. «apply it only to a specific connector»

И посмотри, что показывает по нему какой-нибудь MonitorInfoView в оффтопике.

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

Понял, но один вопрос. На вики арча есть строка:

drm.edid_firmware=edid/your_edid.bin

Она устанавливает edid для всех мониторов?

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

Хех, а я действительно слепой. Ниже есть строка:

drm.edid_firmware=VGA-1:edid/your_edid.bin
kastak
() автор топика
Ответ на: комментарий от kastak

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

Также есть шанс, что это в принципе мимо, судя по комментарию shatsky.

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

эта строчка только под линух
под бсд нужно искать, как едид прописать в xorg.conf
гугли по словам Option CustomEDID xorg

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

Итак, я достал данные с винды. И нашёл одну интересную опцию иксов: «ModeLine», насколько я понял, она позволяет задавать настройки монитора даже если нету действующего edid.

Вопрос - будет ли это работать?

Есть ещё опция «CustomEDID», но насколько я понял, он не действительна для amdgpu и прописана только для драйвера «radeon».

radeon(4) - FreeBSD

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

modeline - это немного не то
modeline - это когда ты хочешь немного подтюнить разрешение монитора (пример - ты хочешь себе 1024x768@100Hz , а xorg предлагает только 1024x768@85), запустил cvt/gtf , получил нужный modeline, засандалил его в xrandr, и всё стало ок


edid - это совсем другое (Extended Display Identification Data)


вопрос - зачем тебе freebsd?

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

Понял, благодарю.

вопрос - зачем тебе freebsd?

Просто интересен. Да и я видел статью на хабре, где системы на ядре BSD сравнивали с системами GNU/Linux. По итогу системы на BSD были лучше.

habr.com - FreeBSD: гораздо лучше GNU/Linux

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

я не просто так это спросил
принудительно включить твой HDMI-A-0 под linux просто - достаточно передать ядру параметр video=HDMI-A-0:e при загрузке
как это сделать под freebsd, я не знаю (скорее всего, тоже можно что-то там ядру передавать)
так что тебе предлагаю взять liveCD ubuntu 21.10 загрузиться, набрать в консоли grep conn /var/log/Xorg.0.log , переписать названия коннекторов на бумажку, загрузиться второй раз и передать ядру то, что я писал выше, с поправкой на название нужного тебе коннектора
если это сработает, будешь в гугле искать, как аналогичное проделать во freebsd или запостишь на каком-нибудь профильном форуме вопрос

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

хорошая статья, а теперь сравни user base (примерное количество пользователей системы) этих систем и подумай - где будет проще/быстрее получить помощь новичку, по какой системе в Интернете больше хаутушек и говноблогов и тд и тп

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

Итак, «CustomEDID» работает из под amdgpu, однако опять это не решило проблему.

Pastebin - xorg.conf

Pastebin - Xorg.0.log

DropMeFiles.com - AL1717_edid.bin

(edid-файл залил на файлообменник, может у кого-то получится его проанализировать, потому что у меня «parse-edid» просто выкидывает ошибку «Partial Read… Try again»)

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

Хорошо, благодарю за информацию, завтра попробую и этот способ.

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

получить 100% рабочий едид можно только без переходников

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.