Linux의 Optimus는 완벽과는 거리가 멀지만 기본 nVidia
드라이버를 사용하면 과거에 겪었던 대부분의 문제가 한 가지를 제외하고 해결되었습니다.
Kodi
일부 게임 과 같은 전체 화면 응용 프로그램을 실행할 때마다 Steam
위치가 꺼져 있고 화면이 1080p에서 두 화면 사이의 중앙에 있거나 왼쪽 절반만 모니터에 표시됩니다.
을 사용하는 방법 때문인 것 같습니다 xrandr
. 초기화할 때 sddm
다음 명령을 실행합니다.
xrandr --setprovideroutputsource modesetting NVIDIA-0
xrandr --output HDMI-1-1 --mode 1920x1080 --pos 1920x0 --output HDMI-0 --primary --mode 1920x1080 --panning 3840x1080+0+0/0x0+0+0/0/0/-1920/0
그러나 잘 작동합니다. 컨테이너가 3x1080p라는 것을 알 수 있습니다. 이는 3개의 화면(모두 1080p)이 있고 내부 모니터를 비활성화하고 패닝을 사용하여 2개의 모니터 출력을 서로 옆 위치로 이동할 수 있기 때문입니다. .
KDE
에서 또는 를 사용하여 전체 화면 동작을 제어할 수 없는 것 같습니다 put
. 응용 프로그램 설정에서 렌더링할 모니터를 선택할 수 있지만 어쨌든 중앙에서 렌더링됩니다.
밝히다:
xs on monitor left at 1920/2
ys on monitor left at 1080
xe on monitor right at (1920/2)+1920
ye on monitor right at 1080
솔직히 말해서 많은 것을 시도했지만 여기서는 헤매었습니다. 저는 Linux 전문가가 아니며 약 4년 동안 Linux를 유일한 운영 체제로 사용해 왔습니다.
KDE 지원 때문에 시도해 볼 의향 Wayland
이 있지만 과거에 Optimus에 너무 많은 문제가 있었기 때문에 모든 것이 원활하게 작동하고 Optimus/Nvidia/에 대한 정보가 거의 없기 때문에 시도하기를 꺼려합니다. Wayland 호환성.
안정적인 디스플레이 관리자를 새 것으로 교체하는 등 과감한 조치를 취하기 전에 제가 놓쳤을 수 있는 것이 있습니까? 아니면 애플리케이션을 실행하기 위한 터미널의 간단한 명령이 완전히 누락되었을 수도 있습니다.
도움을 주시면 감사하겠습니다.
추가 정보:
xorg.conf, xorg.conf.d가 비어 있습니다.
Section "Module"
Load "modesetting"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1:0:0"
Option "AllowEmptyInitialConfiguration"
EndSection
필요한 경우 댓글로 더 많은 정보를 요청해주세요.
답변1
좀 써봤어스크립트xrandr
우리는 수년 동안 Arch Linux에서 (현재) T자형 데스크톱을 나란히 구축하기 위해 노력해 왔습니다 . 이것은 적응하기 위한 간단한 작업이어야 합니다.나란히.sh귀하의 필요에 따라:
#!/bin/sh
eval `\`dirname -- "$0"\`/monitor_resolutions.sh`
expected_monitors=2
if [ "${monitor_count:-0}" -ne "$expected_monitors" ]
then
echo "$0: Expected ${expected_monitors} monitors; found ${monitor_count:-0}." >&2
exit 1
fi
xrandr \
--output "$monitor1_name" \
--mode ${monitor1_width}x${monitor1_height} \
--rotate normal \
--output "$monitor2_name" \
--mode ${monitor2_width}x${monitor2_height} \
--right-of "$monitor1_name" \
--rotate normal
모니터 해상도.sh도움말 스크립트:
#!/bin/sh
#
# NAME
# monitor_resolutions.sh - Variables for monitor resolutions
#
# SYNOPSIS
# eval `./monitor_resolutions.sh`
#
# DESCRIPTION
# Prints a set of `eval`-able variable assignments with monitor name,
# width and height for each monitor plus a monitor count.
#
# EXAMPLES
# eval `./monitor_resolutions.sh`
# Assign monitor1_name, monitor1_width, monitor1_height,
# monitor2_name, etc. and monitor_count variables.
#
# BUGS
# https://github.com/l0b0/tilde/issues
#
# COPYRIGHT
# Copyright (C) 2013-2014 Victor Engmark
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
################################################################################
monitor_info() {
xrandr --query | tee ~/.xsession-xrandr-query
}
monitor_resolutions() {
# Input: XRandR monitor info
# Output: Lines with monitor name, width and height separated by spaces
while read -r word1 word2 _
do
if [ "${word2:-}" = 'connected' ]
then
IFS='xi ' read -r width height _
printf '%s %d %d\n' "$word1" "$width" "$height"
fi
done
}
monitor_assignments() {
# Input: Lines with monitor name, width and height separated by spaces
# Output: eval-able variable assignments for each input value, including a final count
count=0
while read monitor width height
do
count=$(($count + 1))
printf "monitor%d_name='%s'\n" "$count" "$monitor"
printf "monitor%d_width='%s'\n" "$count" "$width"
printf "monitor%d_height='%s'\n" "$count" "$height"
done
printf "monitor_count='%s'\n" "$count"
}
monitor_info | monitor_resolutions | monitor_assignments
side-by-side.sh
로컬에서 실행.xprofile
아니면 X를 시작한 후 시작하는 것이 좋을 것입니다.
이 설정은 독점 및 오픈 소스 드라이버를 모두 사용하여 AMD 및 nVidia 그래픽 카드에서 작동합니다. X 대신 Wayland를 사용해 본 적이 없지만 xrandr
Wayland와 함께 작동한다면 작동할 것이라고 생각합니다.