#StackBounty: #xorg #touchpad #lenovo #libinput #gestures Lenovo trackpad libinput pinch event being swallowed?

Bounty: 50

I’m running Ubuntu 21.10 development preview on a Lenovo 82B500DBAU, with xmonad-wm.

It has a MSFT0001:00 06CB:7F28 Touchpad, which for the most part seems to work quite well (notably though, isn’t supported [at all] in Linux kernels shipping with <= 21.04), which is being driven by libinput 1.18.1.

Two-finger scrolling, two-finger right-click, tap to click, and 3/4 finger gestures (using fusuma) all work perfectly fine. When watching libinput debug-gui, everything seems to work perfectly, detecting up to 5 fingers at a time with vertical/horizontal scrolling and pinching controls.

I’m having some trouble with pinching controls in applications however, and I intuitively feel that it is something to do with the libinput event getting swallowed somewhere along the way.

When watching libinput debug-events, I can clearly see PINCH events being triggered when I do a two finger pinch on the trackpad:

 event7   GESTURE_PINCH_BEGIN +35.886s  2
 event7   GESTURE_PINCH_UPDATE +35.886s 2 -0.40/-1.21 (-0.44/-1.32 unaccelerated)  1.03 @ -0.09
 event7   GESTURE_PINCH_UPDATE +35.893s 2  0.00/-0.80 ( 0.00/-0.88 unaccelerated)  1.06 @  0.13
 event7   GESTURE_PINCH_UPDATE +35.901s 2 -0.44/-0.88 (-0.44/-0.88 unaccelerated)  1.09 @ -0.06
...
 event7   GESTURE_PINCH_UPDATE +36.107s 2  0.88/ 2.20 ( 0.88/ 2.20 unaccelerated)  1.10 @  0.53
 event7   GESTURE_PINCH_UPDATE +36.114s 2  0.00/ 0.44 ( 0.00/ 0.44 unaccelerated)  1.10 @  0.04
 event7   GESTURE_PINCH_END +36.120s    2

And, if I set up fusuma to have some sort of trigger on a trackpad pinch, it will happily trigger that function for me.

What I’m looking for is smooth zooming in applications that should support it — notably, the ones I have been testing with are firefox 91.0 and evince 40.4. These applications, AIUI, should natively support pinch controls for a smooth zoom (eg. in the case of Firefox 83+, it should control a naive zoom which does not trigger a DOM re-render). However, neither of them seem to produce any effect.

I considered this may have been a window manager issue, but have since reproduced the same results in Ubuntu’s native GNOME.

Any wisdom in how I can continue to debug this? I’m not very well-versed in input devices / drivers / the overall abstract pipeline of things, so any ideas on things to try would be greatly appreciated.

EDIT: Forgot to mention — worth noting that "weirder" inputs like horizontal scrolling do work in applications like Firefox / evince, it really does just seem to be pinching.


Get this bounty!!!

#StackBounty: #xorg #gdm #touchscreen Touchscreen stops working

Bounty: 50

I am working with some Ubuntu systems to control some smart home things. I run Ubuntu on a industrial PC with an industrial touchscreen display. Everything was working fine. Since some time ago the touchscreen has stopped working after some time. I didn’t reboot the PC. I have the same problem on more than one Ubuntu system, so I think the problem is a software problem. I have looked in the logs and I always see this if the problem disappears:

Jul 27 15:02:28 byk-station /usr/lib/gdm3/gdm-x-session[1021]: source device 10: history size 6400 overflowing for touch 3088  
Jul 27 15:02:50 byk-station /usr/lib/gdm3/gdm-x-session[1021]: message repeated 1585 times: [source device 10: history size 6400 overflowing for touch 3088]

This message comes often then. With this message the touchscreen stops working. Normally there helps a reboot, but I need to find a solution for the problem. I couldn’t add the whole syslog input here because it is too long.


Get this bounty!!!

#StackBounty: #multiple-monitors #xorg #xorg.conf No way to create second X screen assigned to second graphics card

Bounty: 50

It seems that the X server only allows one X screen on this PC, A second Section "Screen" Identifier "Screen1" does nothing but the GPU-1 and its connected monitors get to be recognized even though they can’t be activated.
I’m using the following setup:

  1. RTX3090 on PCI:1:0:0 (GPU-0)
    • DP-2: Samsung LC49G95T
  2. RTX3090 on PCI:78:0:0 (GPU-1)
    • HDMI-1-2: ASUS VG27AQL1A
    • HDMI-1-1: ASUS XG17A
  • Monitor setup should be like this: (after running the arandr script obviously throws XRandR failed error message: XRandR failed: XRandR returned error code 1: b'xrandr: Configure crtc 4 failedn')

arandr

  • Using nvidia-settings‘s configuration file after reboot it is still no use

nvidia-settings

  • X screen 0 must contain DP-2 and X screen 1, HDMI-1-1 with HDMI-1-2
  • /etc/X11/xorg.conf.d/* has nothing but 00-keyboard.conf and 30-touchpad.conf, both containing InputClass sections
  • Have tried moving the xorg.conf file to xorg.conf.d but the bad effect still remains, both HDMI monitors can’t be activated.
  • I want to use the nfancurve script to control both GPU’s fan speed, hence "Coolbits" "4"
  • Surprisingly, connecting the three monitors into one GPU makes them available, and activating them is achievable.
  • Also, replacing the identifiers "Device0" to "Device1" and vice versa makes HDMI-1 and HDMI-2 monitors being able to activate, but DP-1-2 only being recognized but can’t be activated. As if this machine won’t allow me to use some GPU-1
  • I suspect my xorg.conf lacks something (maybe EDID off?) and after some googling, there is a user that had the same "no X screen 1" problem, but after upgrading video-nvidia drivers could achieve X server to recognize a second X screen. Still, I’m not willing to upgrade (or downgrade) to a ‘beta’ driver for manjaro, also, not sure how to do that.

/etc/X11/xorg.conf:

# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings:  version 465.31

Section "ServerLayout"
    Identifier     "Layout0"
    Screen      0  "Screen0" 0 0
    Screen      1  "Screen1" 5120 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     "Samsung"
    ModelName      "Samsung LC49G95T"
    HorizSync       357.0 - 357.0
    VertRefresh     60.0 - 240.0
    Option         "DPMS"
EndSection

Section "Monitor"
    # HorizSync source: edid, VertRefresh source: edid
    Identifier     "Monitor1"
    VendorName     "Asus ROG"
    ModelName      "AUS ASUS XG17A"
    HorizSync       30.0 - 255.0
    VertRefresh     48.0 - 240.0
    Option         "DPMS"
EndSection

Section "Device"
    Identifier     "Device0"
    Screen          0
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "NVIDIA GeForce RTX 3090"
    BusID          "PCI:1:0:0"
#    Option         "UseDisplayDevice" "DP-2"
#    Option         "ConnectedMonitor" "DP-2"
    Option         "Coolbits" "4"
EndSection

Section "Device"
    Identifier     "Device1"
    Screen          1
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "NVIDIA GeForce RTX 3090"
    BusID          "PCI:78:0:0"
#    Option         "UseDisplayDevice" "HDMI-1-2"
#    Option         "ConnectedMonitor" "HDMI-1-2, HDMI-1-1"
    Option         "Coolbits" "4"
EndSection

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    Option         "nvidiaXineramaInfoOrder" "DFP-5"
    Option         "Stereo" "0"
    Option         "metamodes" "5120x1440_120 +0+0 {AllowGSYNC=Off}"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
    DefaultDepth    24
    Option         "Stereo" "0"
    Option         "metamodes" "HDMI-1-2: nvidia-auto-select +0+0 {AllowGSYNC=Off}, HDMI-1-1: nvidia-auto-select +1440+0 {rotation=left}"
    #    Option         "metamodes" "HDMI-1-1: 1920x1080_240 +2560+960 {rotation=left}, HDMI-1-2: 2560x1440_144 +0+0"
    Option         "SLI" "Off"
    Option         "MultiGPU" "Off"
    Option         "BaseMosaic" "off"
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

~/.local/share/xorg/Xorg.1.log:
https://pastebin.com/PQZV0Hiq


Get this bounty!!!

#StackBounty: #xorg #wayland #21.04 Ubuntu 21.04 locks hard with basic GUI redrawing using standard intel graphics

Bounty: 100

On a 4th generation X1 Carbon laptop, which generally runs Linux and Ubuntu really well, and which has been updated every six months, I am currently having hard locking issues on the default Ubuntu Gnome UI (Edit: my bad, I presume it is no longer called Unity these days but Ubuntu’s Gnome variant and theming) of Ubuntu 21.04 "hirsute".

This is an i5 with the usual Intel graphics baked in, I can precure version numbers if it helps. I can get the machine to lock via

  • chrome (which I currently do not launch, hardware acceleration is turned off, still locks)
  • slack simply by changing window size
  • firefox too
    whereas a normal gnome-terminal is fine.

Needless to say, this is frustrating. I also opted back into xorg (instead of wayland) for no apparent change. Any and all pointers welcome. I would be happy to run under debug or trace mode.

Edit: UI is the default Gnome3 in Ubuntu styling, no extra themes or tricks. All packages are current to 21.04, a few extra repos for chrome, slack, obs, R, my own PPA — none of which govern graphics driver. This machine first installed several releases ago.

Edit 2: Per Settings -> About:

  • i5-6300 with Mesa Intel HD Graphics 520
  • Ubuntu 21.04, 64bit, Gnome 3.38.5, Wayland
    but the hard locking from graphics updates also occurred when I select ‘ubuntu xorg’ instead of the new default wayland.

Edit 3: Kubuntu 21.04, off a usb drive, locks hard in normal mode right after selecting ‘try it’. Under ‘safe graphics’ it seems to work so far. But even that is weird as it just offers ‘nomodeset’ for the initial boot step — I end up locking ‘later’ when the system is up.


Get this bounty!!!

#StackBounty: #nvidia #20.04 #multiple-monitors #xorg #display saving a X config file for nvidia setting disables my PRIME internal dis…

Bounty: 50

I’m on ubuntu 20.04. I’m using an external monitor with a laptop as shown in nvidia-settings here:
enter image description here

nominally this works. But, to get rid of tearing on the external display, I need to select "Force Composition Pipeline" under Advanced. This is fine, but when I try to save the X config file, a restart would remove my PRIME display completely. Only my external monitor works.

I would have to delete /etc/X11/xorg.conf to get the display back.

Is there a way to save this config and keep the prime display?


Get this bounty!!!

#StackBounty: #xorg #gnome #xfce #evince evince doesn't adapt window size to screen size

Bounty: 50

I use my laptop with external screens whose resolution and position differ depending on whether I am at work or at home. Most Xorg applications cope with this quite well. Evince however does not, and frequently opens with a window size that exceeds by far the screen on which it displays.

I am not sure whether this is a specificity of evince or of all windows with what I think is a gnome "header bar" (which includes part of the GUI of application) rather than a traditional titlebar.

Note that I’m running XFCE 4.16.

My questions are:

  • is this a bug, and if so, is it a gnome, xfce or evince bug?
  • are there tweaks to make sure evince doesn’t open in a larger-than-screen size?

[EDIT] Testing a few things empirically, it seems that evince keeps window location and size for each pdf file separately.

Following @meuh’s comments, I tested gsettings queries and settings:

  • It doesn’t list a size in pixels, relevant ones are fullscreen, window-ratio, and sizing-mode options which has value free.
  • Setting fullscreen to true, evince does open fullscreen (not maximised, real F11 fullscreen) for pdf files which (seemingly) have never been opened with evince, but keeps last size and position for those which have.

So my updated question is whether it is possible to override this memory of position and size, globally or conditionally.


Get this bounty!!!

#StackBounty: #xorg #gnome #xfce #evince evince doesn't adapt window size to screen size

Bounty: 50

I use my laptop with external screens whose resolution and position differ depending on whether I am at work or at home. Most Xorg applications cope with this quite well. Evince however does not, and frequently opens with a window size that exceeds by far the screen on which it displays.

I am not sure whether this is a specificity of evince or of all windows with what I think is a gnome "header bar" (which includes part of the GUI of application) rather than a traditional titlebar.

Note that I’m running XFCE 4.16.

My questions are:

  • is this a bug, and if so, is it a gnome, xfce or evince bug?
  • are there tweaks to make sure evince doesn’t open in a larger-than-screen size?

[EDIT] Testing a few things empirically, it seems that evince keeps window location and size for each pdf file separately.

Following @meuh’s comments, I tested gsettings queries and settings:

  • It doesn’t list a size in pixels, relevant ones are fullscreen, window-ratio, and sizing-mode options which has value free.
  • Setting fullscreen to true, evince does open fullscreen (not maximised, real F11 fullscreen) for pdf files which (seemingly) have never been opened with evince, but keeps last size and position for those which have.

So my updated question is whether it is possible to override this memory of position and size, globally or conditionally.


Get this bounty!!!

#StackBounty: #xorg #gnome #xfce #evince evince doesn't adapt window size to screen size

Bounty: 50

I use my laptop with external screens whose resolution and position differ depending on whether I am at work or at home. Most Xorg applications cope with this quite well. Evince however does not, and frequently opens with a window size that exceeds by far the screen on which it displays.

I am not sure whether this is a specificity of evince or of all windows with what I think is a gnome "header bar" (which includes part of the GUI of application) rather than a traditional titlebar.

Note that I’m running XFCE 4.16.

My questions are:

  • is this a bug, and if so, is it a gnome, xfce or evince bug?
  • are there tweaks to make sure evince doesn’t open in a larger-than-screen size?

[EDIT] Testing a few things empirically, it seems that evince keeps window location and size for each pdf file separately.

Following @meuh’s comments, I tested gsettings queries and settings:

  • It doesn’t list a size in pixels, relevant ones are fullscreen, window-ratio, and sizing-mode options which has value free.
  • Setting fullscreen to true, evince does open fullscreen (not maximised, real F11 fullscreen) for pdf files which (seemingly) have never been opened with evince, but keeps last size and position for those which have.

So my updated question is whether it is possible to override this memory of position and size, globally or conditionally.


Get this bounty!!!

#StackBounty: #xorg #gnome #xfce #evince evince doesn't adapt window size to screen size

Bounty: 50

I use my laptop with external screens whose resolution and position differ depending on whether I am at work or at home. Most Xorg applications cope with this quite well. Evince however does not, and frequently opens with a window size that exceeds by far the screen on which it displays.

I am not sure whether this is a specificity of evince or of all windows with what I think is a gnome "header bar" (which includes part of the GUI of application) rather than a traditional titlebar.

Note that I’m running XFCE 4.16.

My questions are:

  • is this a bug, and if so, is it a gnome, xfce or evince bug?
  • are there tweaks to make sure evince doesn’t open in a larger-than-screen size?

[EDIT] Testing a few things empirically, it seems that evince keeps window location and size for each pdf file separately.

Following @meuh’s comments, I tested gsettings queries and settings:

  • It doesn’t list a size in pixels, relevant ones are fullscreen, window-ratio, and sizing-mode options which has value free.
  • Setting fullscreen to true, evince does open fullscreen (not maximised, real F11 fullscreen) for pdf files which (seemingly) have never been opened with evince, but keeps last size and position for those which have.

So my updated question is whether it is possible to override this memory of position and size, globally or conditionally.


Get this bounty!!!

#StackBounty: #xorg #gnome #xfce #evince evince doesn't adapt window size to screen size

Bounty: 50

I use my laptop with external screens whose resolution and position differ depending on whether I am at work or at home. Most Xorg applications cope with this quite well. Evince however does not, and frequently opens with a window size that exceeds by far the screen on which it displays.

I am not sure whether this is a specificity of evince or of all windows with what I think is a gnome "header bar" (which includes part of the GUI of application) rather than a traditional titlebar.

Note that I’m running XFCE 4.16.

My questions are:

  • is this a bug, and if so, is it a gnome, xfce or evince bug?
  • are there tweaks to make sure evince doesn’t open in a larger-than-screen size?

[EDIT] Testing a few things empirically, it seems that evince keeps window location and size for each pdf file separately.

Following @meuh’s comments, I tested gsettings queries and settings:

  • It doesn’t list a size in pixels, relevant ones are fullscreen, window-ratio, and sizing-mode options which has value free.
  • Setting fullscreen to true, evince does open fullscreen (not maximised, real F11 fullscreen) for pdf files which (seemingly) have never been opened with evince, but keeps last size and position for those which have.

So my updated question is whether it is possible to override this memory of position and size, globally or conditionally.


Get this bounty!!!