Çift monitör kurulumunda tam ekran uygulamaları


9

Linux'ta Optimus mükemmel olmaktan uzaktır, ancak nVidiageçmişte yaşadığım çoğu sorun yerel sürücüler kullanılarak biri dışında çözülmüştür.

Her ne zaman tam ekran uygulamasını çalıştırdığımda, Kodiya da bazı Steamoyunlar kapalı konumdayken, ekran tam olarak 1080p'de 2 ekranın ortasında ortalanır veya herhangi bir ekranda sadece sol yarıyı gösterecek şekilde oluşturulur.

Bunun çoklu monitör kurulumunu nasıl çalıştıracağımdan kaynaklandığını düşünüyorum xrandr. Ne zaman sddmbaşlatır aşağıdaki komutu çalıştırır:

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

Ancak, 3 ekran (hepsi 1080p), dahili ekranımı devre dışı bırakma ve kaydırma özelliğini kullanarak kapın 3x1080p olduğunu fark edebileceğiniz gibi mükemmel çalışıyor. Çıkışı 2 monitör için yan yana kaydırabilirim.

Ben de noor, tam ekran davranışını kontrol edemez görünür KDEveya kullanarak put. Uygulama ayarlarında oynatma Hangi monitörün görüntüleneceğini seçebilirim, ancak yine de merkezde görüntüleniyor.

Netleştirmek için:

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

Görsel referans için bir link

Dürüst olmak gerekirse, birçok şeyi denedim ve burada kayboldum. Linux uzmanı değilim, yaklaşık 4 yıldır tek işletim sistemim olarak kullanıyorum.

KDE'yi desteklediğinden Wayland, geçmişte Optimus ile yaşadığım sorunların miktarı nedeniyle bunu denemeye istekli olduğum için, her şeyi çok düzgün çalıştığı ve Optimus / Nvidia / Wayland uyumluluğu hakkında çok az bilgi olduğu için denemek istemiyorum .

Yeni bir cihaz için kararlı bir ekran yöneticisini değiştirmek kadar radikal bir şey yapmadan önce kaçırdığım bir şey var mı? Ya da belki de uygulamaları kaçırmak için terminalden basit bir komut tamamen kaçırdım.

Herhangi bir yardım takdir.

Ek bilgi:

xorg.conf, xorg.conf.d boş.

Section "Module"
    Load "modesetting"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1:0:0"
    Option "AllowEmptyInitialConfiguration"
EndSection

Yorumlarda gerekirse daha fazla bilgi isteyin.


şu anda wayland nvidia tescilli sürücüleri ile kullanılamaz (ancak nouveau ile iyi çalışır). Optimus'un bunu nasıl etkilediğini bilmiyorum.
quixotic

@quixotic Küçük, HDMI bağlantı noktasının ayrı ekran kartı üzerinde çalışabilmesi için özelliğe ihtiyacım var. Bumblebee sadece belirli bir uygulama için limanı mümkün olduğunca ileri gider. Yani nouveau'nun söylediği doğru ise birden fazla monitörü destekleyemez. Ama okudum nvidiaüzerinde çalışıyordu mirve waylanddestek, ama bu birkaç ay önceydi.
Xorifelse

Yanıtlar:


1

Bazı kullandım komut üstünde xrandrArch Linux üzerinde yan yana ve (şu anda) tee şeklindeki masaüstü oluşturmak için şimdi birkaç yıldır. Side -by-side.sh dosyasını ihtiyaçlarınıza göre uyarlamak basit bir iş olmalıdır :

#!/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

monitor_resolutions.sh yardımcı komut dosyası:

#!/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

X'i başlattıktan hemen sonra side-by-side.shyerel .xprofileya da başka bir yerde koşun ve gitmek için iyi olmalısınız.

Bu kurulum, hem patentli hem de açık kaynaklı sürücüleri kullanan AMD ve nVidia ekran kartlarıyla çalışmıştır. X yerine Wayland ile hiç denediğimi sanmıyorum, ancak xrandrWayland ile çalıştığı takdirde çalışacağından şüpheleniyorum .


Bu kodla birden fazla şeyi test ettim, değiştirdim ve çalıştım ve ekran yırtılmasına, ekranın olmamasına veya ekranın (farem hariç) yenilenmediğine (nvidia'ya bağlı ikinci monitörde) yonga). Gerçekten bunu düzelten kaydırmadır, ancak aynı zamanda sorunun kendisinin sebebi de olabilir.
Xorifelse

Bunu duyduğuma üzüldüm. Korkarım ki bu, kendi bilgimin sınırıdır, çünkü bir çalışma düzenim olduğunda araştırmalar durdu.
l0b0
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.