Xfce, 980Ti, dual monitors, tearing ghosting on DELL U3415W

Everything about X, Gnome, KDE, ... and everything running on it

Xfce, 980Ti, dual monitors, tearing ghosting on DELL U3415W

Postby kbdeamon » 2019-02-19 00:11

While running Xfce 4.12, on an EVGA GeForce GTX 980 Ti, I am seeing all sorts of tearing, ghosting and other artifacts on my second monitor--a DELL U3415W. The picture on my first monitor, Asus ROG PG279Q, is fine. I see the ghosting and tearing when dragging or resizing windows on the DELL. When watching Netflix on the DELL, it looks as if the DELL screen is not being refreshed fast enough; the kind of tearing you see in games when GSYNC is not enabled and the DELL monitor is working fine in Windows (i.e., there is a difference between the monitors but the artifacts on the DELL are not as bad/noticeable as in Xfce). Both monitors are GSYNC capable. It is as if the propriety NVIDIA driver is not applying to the second monitor or I am doing something wrong with /etc/X11/xorg.conf. I let the propriety NVIDIA driver install script update /etc/X11/xorg.conf. After that, I set a number of options to keep things explicit but it does not seem like these options make any difference. Additionally, Xfce "Settings Editor" is also showing way more displays then I physically have (i.e., DP-0 Asus, DP-0_8 Dell, DP-0.8 Dell, DP-2 Asus). May be this is because I was physically switching the monitors between the various display ports on my card while attempting to troubleshoot.

The following threads and wiki (viewtopic.php?f=6&t=132313&p=640086&hilit=dual+monitor+nvidia+xconfig#p640086, viewtopic.php?f=6&t=140521, https://wiki.debian.org/NvidiaGraphicsD ... Stretch.22) seem to suggest that (1) with the exception of some cases, xorg.conf is no longer required and (2) it may be better to install the distribution's nvidia driver. In editing the xorg.conf I followed the Arch wiki (https://wiki.archlinux.org/index.php/Multihead) and Nvidia's manual (http://us.download.nvidia.com/XFree86/L ... nview.html). So, after going through all that I am a bit confused. Particularity, as to whether I need the xorg.conf at all.

The details of my setup are below. I hope that this is not too much unnecessary information.
=======================================================================================================================================

1. What am I missing?
2. Can it be that it's just the DELL monitor refresh rate of 60Hz that is playing tricks on my eyes in comparison to the Asus refresh rate of 144Hz?
3. Do I need /etc/X11/xorg.conf? It definitely looks like its doing something if I give it a bad setting like specifying improper Virtual display. Does NVIDIA update the file for backward compatibility or something?
4. How can I confirm that both of my screens are benefiting from the proprietary NVIDIA driver?
5. Can xorg.conf or some other setting be adjusted to set the Asus monitor as the monitor that shows the login screen when the machine boots?
6. Can xorg.conf or some other setting be adjusted to make the login screen expand to both monitors instead of being displayed by one monitor--currently the DELL.
7. Is there a way to clear the extra/superfluous display entries (i.e., DP-0 Asus, DP-0_8 Dell, DP-0.8 Dell, DP-2 Asus) from the Xfce "Settings Editor"? If so, how can I find out which entries are safe to clear?
8. The following xorg.conf settings from the complete xorg.conf that is listed below, were created by NVIDIA but after reviewing the NVIDIA docs I still don't really understand what they do in the context of getting my two monitors to work. Commenting out the settings does not seem to change anything but adding to the metamodes screws things up royally. Can someone clarify?
Code: Select all
Option         "Stereo" "0"
Option         "nvidiaXineramaInfoOrder" "DFP-2, DFP-6.8"
Option         "metamodes" "2560x1440_144 +0+0"
SubSection     "Display"
Depth       24

9. Can anyone explain the difference between the DFP (e.g., ROG PG279Q (DFP-2) in /var/log/Xorg.0.log and DP-0 in xrandr? Can this mismatch cause an issue or are these just different ways of referring to the same thing?
=======================================================================================================================================

running Debian Stretch, 9.7
Code: Select all
user0@boxx:~$ uname -a
Linux boxx 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux
user0@boxx:~$ cat /etc/debian_version
9.7
user0@boxx:~$

on EVGA GeForce GTX 980 Ti
Code: Select all
user0@boxx:~$ lspci -k | egrep -i "vga|nvidia"
02:00.0 VGA compatible controller: NVIDIA Corporation GM200 [GeForce GTX 980 Ti] (rev a1)
   Subsystem: eVga.com. Corp. GM200 [GeForce GTX 980 Ti]
   Kernel driver in use: nvidia
   Kernel modules: nouveau, nvidia_drm, nvidia
02:00.1 Audio device: NVIDIA Corporation GM200 High Definition Audio (rev a1)
   Subsystem: eVga.com. Corp. GM200 High Definition Audio

looks like NVIDIA is being used and nouveau is being used
Code: Select all
root@boxx:/home/user0# lsmod | grep nouveau
root@boxx:/home/user0# lsmod | grep nvidia
nvidia_drm             40960  4
nvidia_modeset       1040384  8 nvidia_drm
nvidia              16625664  381 nvidia_modeset
drm_kms_helper        155648  1 nvidia_drm
drm                   360448  7 nvidia_drm,drm_kms_helper
ipmi_msghandler        49152  1 nvidia

monitors are DELL U3415W and Asus ROG PG279Q
Code: Select all
root@boxx:/home/user0# cat /var/log/Xorg.0.log | egrep "U3415W|Ancor"
[     4.819] (--) NVIDIA(GPU-0): DELL U3415W (DFP-6.8): connected
[     4.819] (--) NVIDIA(GPU-0): DELL U3415W (DFP-6.8): Internal DisplayPort
[     4.819] (--) NVIDIA(GPU-0): DELL U3415W (DFP-6.8): GUID: 10DE9070-0005-8232-9E4E-D71100000090
[     4.819] (--) NVIDIA(GPU-0): DELL U3415W (DFP-6.8): 960.0 MHz maximum pixel clock
...
[     8.718] (--) NVIDIA(GPU-0): Ancor Communications Inc ROG PG279Q (DFP-2): connected
[     8.718] (--) NVIDIA(GPU-0): Ancor Communications Inc ROG PG279Q (DFP-2): Internal DisplayPort
[     8.718] (--) NVIDIA(GPU-0): Ancor Communications Inc ROG PG279Q (DFP-2): 960.0 MHz maximum pixel clock

xrandr monitor listing look OK
Code: Select all
root@boxx:/home/user0# xrandr --listmonitors
Monitors: 2
 0: +*DP-0 2560/598x1440/336+3440+0  DP-0
 1: +DP-4.8 3440/798x1440/335+0+0  DP-4.8

xrandr monitor settings look OK
Code: Select all
root@boxx:/home/user0# xrandr -q
Screen 0: minimum 8 x 8, current 6000 x 1440, maximum 16384 x 16384
...
DP-4.8 connected 3440x1440+0+0 (normal left inverted right x axis y axis) 798mm x 335mm
   3440x1440     59.97*+  49.99 
...   
DP-0 connected primary 2560x1440+3440+0 (normal left inverted right x axis y axis) 598mm x 336mm
   2560x1440     59.95 + 144.00*  120.00    99.95    84.98    23.97 
...   

xrandr monitor settings correspond to /etc/X11/xorg.conf
Code: Select all
root@boxx:/home/user0# cat /etc/X11/xorg.conf
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 410.93

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    InputDevice    "Keyboard0" "CoreKeyboard"
    InputDevice    "Mouse0" "CorePointer"
    Option         "Xinerama" "0"
EndSection

Section "Files"
EndSection

Section "Module"
    Load           "dbe"
    Load           "extmod"
    Load           "type1"
    Load           "freetype"
    Load           "glx"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Mouse0"
    Driver         "mouse"
    Option         "Protocol" "auto"
    Option         "Device" "/dev/psaux"
    Option         "Emulate3Buttons" "no"
    Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
    # generated from default
    Identifier     "Keyboard0"
    Driver         "kbd"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor0"
    VendorName     "Unknown"
    ModelName      "Ancor Communications Inc ROG PG279Q"
    HorizSync       34.0 - 222.0
    VertRefresh     30.0 - 144.0
    Option         "PrefferedMode" "2560x1440_144.00"
    Option         "RightOf" "Monitor1"
    Option         "DPMS"
    Option         "Primary" "true"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor1"
    VendorName     "Unknown"
    ModelName      "DELL U3415W"
    HorizSync       30.0 - 89.0
    VertRefresh     48.0 - 85.0
    Option         "PrefferedMOde" "3440x1440_59.97"
    Option         "LeftOf" "Monitor0"
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "GeForce GTX 980 Ti"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "nvidiaXineramaInfoOrder" "DFP-2, DFP-6.8"
    Option         "metamodes" "2560x1440_144 +0+0"
#    Option         "metamodes" "2560x1440_144 +0+0, 3440x1440_59.97 +0+0"
#    Option         "metamodes" "3440x1440_59.97 +0+0, 2560x1440_144 +3440+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
#   Virtual     6000 2880
    EndSubSection
EndSection
kbdeamon
 
Posts: 10
Joined: 2015-03-15 17:49

Re: Xfce, 980Ti, dual monitors, tearing ghosting on DELL U34

Postby Head_on_a_Stick » 2019-02-19 07:02

For tearing with NVIDIA, try applying their full-force composition pipeline:

https://wiki.archlinux.org/index.php/NV ... en_tearing
User avatar
Head_on_a_Stick
 
Posts: 10346
Joined: 2014-06-01 17:46
Location: /dev/chair

Re: Xfce, 980Ti, dual monitors, tearing ghosting on DELL U34

Postby kbdeamon » 2019-02-21 23:49

Head_on_a_Stick wrote:For tearing with NVIDIA, try applying their full-force composition pipeline:

https://wiki.archlinux.org/index.php/NV ... en_tearing


Looking at the tearing wiki now. Thank you.

Here is what I am noticing though. When root owns xorg.conf it seems that not all settings get registered right away when I login to xfce as a regular user. In other words, as regular user, I should see two screens with DELL monitor on left and Asus monitor on the right. The Asus monitor should be the primary monitor, should contain the xfce panel and I the monitors should be extending my desktop (i.e. I should be able to move my mouse between the two monitors). Instead what I do see is DELL with the xfce panel and Asus with the xfce panel and at first the monitors are setup in a mirror configuration. However, when I logout and log back in, I see the configuration that I am expecting to see. Also, if I have user0 take ownership of the xorg.conf file, I see the configuration that I expect to see right after boot and upon logging in for the first time.

the current permissions for xorg.conf are listed below and these are the permissions where the desktops are behaving correctly. I am pretty sure that a regular user should not own xorg.conf. Is there a way to fix this? What am I missing?

Code: Select all
user0@boxx:/etc/X11$ ls -l xorg.conf
-rw-r--r-- 1 user0 user0 2499 Feb 21 19:22 xorg.conf
kbdeamon
 
Posts: 10
Joined: 2015-03-15 17:49

Re: Xfce, 980Ti, dual monitors, tearing ghosting on DELL U34

Postby Head_on_a_Stick » 2019-02-22 07:22

kbdeamon wrote:I am pretty sure that a regular user should not own xorg.conf

No, that file should be owned by root.

How are you logging in? Which display manager are you using (if any)?

Please also confirm that you never log in to the graphical desktop as root.

What about if you try the nouveau driver? Does that behave as expected?
User avatar
Head_on_a_Stick
 
Posts: 10346
Joined: 2014-06-01 17:46
Location: /dev/chair

Re: Xfce, 980Ti, dual monitors, tearing ghosting on DELL U34

Postby kbdeamon » 2019-02-23 18:07

No, that file should be owned by root.

OK. The file is owned by root now.
Code: Select all
user0@boxx:/etc/X11$ ls -l xorg.conf
-rw-r--r-- 1 root root 2499 Feb 23 13:36 xorg.conf


How are you logging in? Which display manager are you using (if any)?

I login as a regular user and I use lightdm. Ideally, I would like to boot into multi-user.target and startx but I am not able to get that working yet so I boot into graphical.target and login as regular user.
Code: Select all
root@boxx:/etc/X11# systemctl is-enabled lightdm
enabled


Please also confirm that you never log in to the graphical desktop as root.

I think I tried logging into xfce as root a couple of times by mistake but I am not doing that any more.

What about if you try the nouveau driver? Does that behave as expected?

Still have to try this out, just need to figure out how to remove nouveau from black list.

For tearing with NVIDIA, try applying their full-force composition pipeline:
https://wiki.archlinux.org/index.php/NV ... en_tearing

This helps a bit. Thank you very much.


Now that the permission part for xorg.conf is figure out, I am noticing that I am getting a screwed up desktop configuration if I don't turn all my monitors on before I turn on my machine. Should I be turning all my monitors on before I turn on my machine? If so, then what is the purpose of the xorg.conf file. Shouldn't this file be read every time there is a monitor/hardware change or does this only happen on boot?
kbdeamon
 
Posts: 10
Joined: 2015-03-15 17:49

Re: Xfce, 980Ti, dual monitors, tearing ghosting on DELL U34

Postby Head_on_a_Stick » 2019-02-23 18:30

kbdeamon wrote:I would like to boot into multi-user.target and startx but I am not able to get that working yet

Why not?

How have you attempted to configure your machine to use `startx` to get to the XFCE desktop and how exactly does it fail?

I would do this (as my normal user):
Code: Select all
echo "exec startxfce4" > ~/.xsession
startx

No need to run the first command thereafter, of course, just plain `startx` should work once ~/.xsession is created.

Note that LightDM isn't very good because it runs X as root, if you have to use a display manager (I never have) then try GDM instead.

kbdeamon wrote:just need to figure out how to remove nouveau from black list

Find any blacklists with
Code: Select all
grep -R nouveau /etc/modprobe.d

See also https://wiki.debian.org/NvidiaGraphicsD ... of_failure and make sure any Xorg configuration files don't load the NVIDIA driver for your card.

kbdeamon wrote:I am noticing that I am getting a screwed up desktop configuration if I don't turn all my monitors on before I turn on my machine. Should I be turning all my monitors on before I turn on my machine? If so, then what is the purpose of the xorg.conf file. Shouldn't this file be read every time there is a monitor/hardware change or does this only happen on boot?

The Xorg configuration files are only read when the X server starts up.

My apologies but I don't really know much about multihead configuration because I've never even owned a single monitor, let alone two :)

Try the ArchWiki page, that might help:

https://wiki.archlinux.org/index.php/multihead
User avatar
Head_on_a_Stick
 
Posts: 10346
Joined: 2014-06-01 17:46
Location: /dev/chair

Re: Xfce, 980Ti, dual monitors, tearing ghosting on DELL U34

Postby kbdeamon » 2019-02-24 16:19

Head_on_a_Stick thank you so much for all of your help!

How have you attempted to configure your machine to use `startx` to get to the XFCE desktop and how exactly does it fail?
I would do this (as my normal user):
echo "exec startxfce4" > ~/.xsession
startx

I have tried several ways including using .xinitrc (https://wiki.archlinux.org/index.php/xfce, https://wiki.archlinux.org/index.php/Xinit#xinitrc recommended by arch, also this thread https://www.centos.org/forums/viewtopic ... 41#p292141), .xsession (https://wiki.debian.org/Xsession recommended by Debian but I don't remember if this one worked) and right now I am able to startx without any of those files which is kinda of strange. So .xsession is the Debian way to startx when booting into multi-user.target?

Note that LightDM isn't very good because it runs X as root, if you have to use a display manager (I never have) then try GDM instead.

I will give it a try. Just used LightDM because that was what was installed by default with the Xfce DE installation. I also read somewhere that GDM has a memory leak problem. Is that accurate?

So, I tried the nouveau driver, the distribution provided NVIDIA drivers and the NVIDIA proprietary driver. All have the same results in as far as the artifacts go. However, I found that installing MATE along with xfce mitigates some of the artifacts so I don't know what that is about. Maybe it provides some gtk stuff that is needed. I also tried another monitor that is Asus and 60Hz and the artifacting in that dual monitor scenario was comparable to the previous setup in both Windows and in Linux. At this point, I feel like this could really be a difference between seeing something on the 144Hz monitor and then seeing the same thing on a 60Hz monitor. Unfortunately, I do not have another 144Hz monitor to test:(
kbdeamon
 
Posts: 10
Joined: 2015-03-15 17:49

Re: Xfce, 980Ti, dual monitors, tearing ghosting on DELL U34

Postby Head_on_a_Stick » 2019-02-24 16:39

kbdeamon wrote:right now I am able to startx without any of those files which is kinda of strange

Ah yes, that's right: Debian will launch whatever is set as the x-session-manager alternative (or /etc/alternatives/x-window-manager if there isn't a session manager) if `startx` is passed without ~/.xsession or ~/.xinitrc; to change that use
Code: Select all
# update-alternatives --config x-session-manager

If ~/.xsession is present then that file will be used instead and the `startx` script will also run /etc/X11/Xsession, which in turn runs all the scripts in /etc/X11/Xsession.d/ (it also does this if there is no ~/.xsession or ~/.xinitrc).

If ~/.xinitrc is present then `startx` will ignore /etc/X11/Xsession and just run whatever commands are listed by the user (this is my preference).

The `startx` man page does indeed advise that ~/.xsession is used in Debian instead of ~/.xinitrc so that the desktop is configured identically both for a console log in and when a display manager is used but ~/.xinitrc remains an option for the minimalists out there *waves* :)

kbdeamon wrote:I also read somewhere that GDM has a memory leak problem. Is that accurate?

I have no idea, I don't use any display managers at all, they are pure bloat :P
User avatar
Head_on_a_Stick
 
Posts: 10346
Joined: 2014-06-01 17:46
Location: /dev/chair


Return to Desktop & Multimedia

Who is online

Users browsing this forum: No registered users and 13 guests

fashionable