LinuxのOptimusは完璧とは遠いですが、基本的なnVidia
ドライバを使用すると、過去に遭遇したほとんどの問題が1つを除いて解決されました。
Kodi
一部のゲームなどのフルスクリーンアプリケーションを実行するたびにSteam
位置がオフになり、画面が1080pから2つの画面の中央にあるか、左半分だけがモニタに表示されます。
の使い方のためだと思います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と一緒に動作する場合は動作すると思います。