LINUX.ORG.RU

xorg второй дисплей

 , ,


0

1

приветствую.

есть сетап: пк, одна видеокарта, монитор и тв. хочу подключить тв вторым моником, НО!!! не в режиме клонирования или расширения, а тупо отдельным монитором. это не полноценный мультисит, т.к от этого монитора мне не нужно ни управление мышью, ничего кроме вывода окошек как то так: DISPLAY=:1 pcsx2.

накидал такой xorg

Section "ServerLayout"
	Identifier     "Layout0"
	Screen      0  "Screen0" 0 0
	Screen      1  "Screen1" LeftOf "Screen0"
	InputDevice    "Mouse0" "CorePointer"
	InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
	ModulePath   "/usr/lib/xorg/modules"
	FontPath     "/usr/share/fonts/misc"
	FontPath     "/usr/share/fonts/TTF"
	FontPath     "/usr/share/fonts/OTF"
	FontPath     "/usr/share/fonts/Type1"
	FontPath     "/usr/share/fonts/100dpi"
	FontPath     "/usr/share/fonts/75dpi"
EndSection

Section "Module"
	Load  "glx"
EndSection

Section "InputDevice"
	Identifier  "Keyboard0"
	Driver      "kbd"
EndSection

Section "InputDevice"
	Identifier  "Mouse0"
	Driver      "mouse"
	Option	    "Protocol" "auto"
	Option	    "Device" "/dev/input/mice"
	Option	    "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
	Identifier   "Monitor0"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
EndSection

Section "Monitor"
	Identifier   "Monitor1"
	VendorName   "Monitor Vendor"
	ModelName    "Monitor Model"
EndSection

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>]
        #Option     "AsyncFlipSecondaries" 	# [<bool>]
	Identifier  "Card0"
	Driver      "amdgpu"
	BusID       "PCI:13:0:0"
	Screen     0
	Option     "ZaphodHeads"    "DisplayPort-2"
EndSection

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>]
        #Option     "AsyncFlipSecondaries" 	# [<bool>]
	Identifier  "Card1"
	Driver      "amdgpu"
	BusID       "PCI:13:0:0"
	Screen     1
	Option     "ZaphodHeads"    "HDMI-A-0"
EndSection

Section "Screen"
	Identifier "Screen0"
	Device     "Card0"
	Monitor    "Monitor0"
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

Section "Screen"
	Identifier "Screen1"
	Device     "Card1"
	Monitor    "Monitor1"
	SubSection "Display"
		Viewport   0 0
		Depth     1
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     4
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     8
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     15
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     16
	EndSubSection
	SubSection "Display"
		Viewport   0 0
		Depth     24
	EndSubSection
EndSection

из примечательного тут опция ZaphodHeads, которая биндит монитор к выходу видеокарты, опция Screen в секции Device. после старта иксов я вижу 2 отдельных экрана (скажем с флакбоксом), мышь же катается по обоим экранам, при попытке обратиться к DISPLAY=:1 ругается на no such file, хотя сокет в /tmp/.X11-unix/ 2 сокета.

использование 2х видях выглядит оверхедом, хотелось бы с одной. еще раз. нужен второй монитор, без управления, чтоб можно было на нем запускать софт, указав номер дисплея.

с двумя иксами на одной видяхе тож непонятно. даже если я запущу вторые иксы на vt8, при переключении на них первый монитор вырубается. наверное с двумя видяхами, двумя иксами и разными xorg конфигами это заработает, но все же хотелось бы с одной.

★★★★★

Как костыль можно:

  • Сделать мониторы в режиме «расширения»
  • Запретить мышке выходить за пределы первого монитора (комманду не знаю, где-то в сторону xinput)
  • На весь экран на втором мониторе открыть Xephyr или аналог
  • И уже внутри Xephyr что-то запускать
Flotsky ★★
()

при попытке обратиться к DISPLAY=:1

дисплеи у тебя DISPLAY=:0.0 и DISPLAY=:0.1

после старта иксов я вижу 2 отдельных экрана (скажем с флакбоксом)

Чтобы твой бокс был на одном мониторе попробуй запустить его с указанием DISPLAY, типа в .xinitrc:

DISPLAY=":0.0" exec какой-то-box

Чтобы мышка не бегала разнеси экраны подальше друг от друга, с указанием абсолютных координат:

        Screen      0  "Screen0" 0 0
	Screen      1  "Screen1" 0 3000
arson ★★★★★
()
Ответ на: комментарий от arson

дисплеи у тебя DISPLAY=:0.0 и DISPLAY=:0.1

и так пробовал, один хрен. еще раз, в /tmp/.X11-unix/ у меня 2 сокета, X0 и X1

Чтобы твой бокс был на одном мониторе попробуй запустить его с указанием DISPLAY

так и делал, только напрямую startfluxbox. все равно он стартует на 2х мониторах

Чтобы мышка не бегала разнеси экраны подальше друг от друга

так ведь она все равно будет исчезать с основного монитора, уходить за границы экрана. как раз этого я не хочу.

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

в /tmp/.X11-unix/ у меня 2 сокета, X0 и X1

У меня один, хотя конфигурация практически такая же.
Логи показывай, xrandr.

так ведь она все равно будет исчезать с основного монитора,

Никуда она не уходит.

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

походу я тупил про 2 сокета, результат опытов с двумя видюхами и двумя иксами. стартую иксы с параметром 0.0, сокет 1, и действительно, DISPLAY=:0.1 сработал! но мышь все равно на него бежит, но это уже ерунда. благодарю)

забавно крысу переглючило, при альттабе окошко с приложениями теперь где то между экранами)

короче осталось запретить фокус второму монику получать, и мышь ограничить. попробую твоим способом.

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