#StackBounty: #xorg #multiple-monitors #display #citrix Strange issue with Citrix remote desktop and dual monitor

Bounty: 100

Given the below:

  • Ubuntu 18.04
  • HP Compaq Pro 6300 SFF PC
  • 2 identical HP monitors

I have a dual monitor setup which works perfectly, apart from the Citrix remote desktop.

Citrix says that it detected multi-monitor support. In fact when I remote in to a full-screen session and then minimize the screen and resize, then I can see that the window Citrix created has the same size as the 2 monitors, but for some reason it is only presented on one of the monitors. (I.e. one monitor shows half of the remote session, the other half on the other monitor is always hidden.)

The PC has a VGA and a displayport output. One of the monitors is connected directly with VGA, the other with a displayport->vga adapter.

A strange thing is that no matter which display is set to be the primary display in gnome, Citrix always only shows itself on the monitor which is connected to the displayport output. The only difference is that if the one plugged into the displayport is set as primary, then citrix shows the primary section of the remote desktop (i.e. the one with the system tray), if the one plugged in the displayport is set as the secondary then citrix shows the secondary section of the remote desktop (which is normally an empty screen).

Normally this should work out of the box. Also no solutions to dual-monitor issues with citrix and linux I found on the web resolves this. Under Windows there are no issues with Citrix with the same setup.

Any idea?


Get this bounty!!!

#StackBounty: #xorg #mouse #vmware #logitech Configure scrolling using Logitech Trackball on VMWare

Bounty: 250

Background

A Windows 10 host is running VMWare Workstation Pro 15.1.0. The guest OS is running X11. The pointer hardware is a Logitech Marble Mouse having configuration information on the Ubuntu community site. On Windows, scrolling by holding the small right button works with TrackballScroll. The following image shows how xorg references Logitech’s buttons:

Logitech Marble Mouse Trackball

The VMWare .vmx file has the following configuration settings, which allows more than 3 different buttons to trigger mouse events in the guest OS:

usb.generic.allowHID = "TRUE"
mouse.vusb.enable = "TRUE"
mouse.vusb.useBasicMouse = "FALSE"

With these lines all mouse button events are sent to the guest OS.

The output from xinput list in the guest OS is:

xinput list 
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ VMware VMware Virtual USB Mouse           id=7    [slave  pointer  (2)]
⎜   ↳ VMware VMware Virtual USB Mouse           id=8    [slave  pointer  (2)]
⎜   ↳ VirtualPS/2 VMware VMMouse                id=10   [slave  pointer  (2)]
⎜   ↳ VirtualPS/2 VMware VMMouse                id=11   [slave  pointer  (2)]

Running xinput test-xi2 --root details events for all four buttons 1, 8, 9, and 3 (from the above picture):

EVENT type 5 (ButtonRelease)
    device: 8 (8)
    detail: 1
EVENT type 5 (ButtonRelease)
    device: 8 (8)
    detail: 8
EVENT type 5 (ButtonRelease)
    device: 8 (8)
    detail: 9
EVENT type 5 (ButtonRelease)
    device: 8 (8)
    detail: 3

This shows that the button click events are being passed from the host to the guest successfully using device 8. Of slight concern is that there are two mice assigned the same name, but having different ids:

⎜   ↳ VMware VMware Virtual USB Mouse           id=7    [slave  pointer  (2)]
⎜   ↳ VMware VMware Virtual USB Mouse           id=8    [slave  pointer  (2)]

Problem

Scrolling by holding down the small right button (9) while moving the trackball fails. Running xinput test-xi2 --root shows the failure:

EVENT type 4 (ButtonPress)
    device: 8 (8)
    detail: 9
EVENT type 1 (DeviceChanged)
    device: 2 (7)
    reason: SlaveSwitch
    Reporting 7 classes:
        Class originated from: 7. Type: XIButtonClass
        Buttons supported: 11
X Error of failed request:  BadAtom (invalid Atom parameter)
  Major opcode of failed request:  17 (X_GetAtomName)
  Atom id in failed request:  0x282
  Serial number of failed request:  34
  Current serial number in output stream:  34
        Button labels: "Button Left" "Button Middle" "Button Right"

The file .../xorg.conf.d/50-trackball.conf configures X11 as follows:

Section "InputClass"
  Identifier    "Logitech Marble Mouse"
  MatchIsPointer "true"
  #MatchProduct  "Mouse"
  #MatchVendor   "VMWare"
  Driver        "libinput"
  Option        "ScrollMethod"        "button"
  Option        "ScrollButton"        "9"
  Option        "MiddleEmulation"     "true"
  Option        "HorizontalScrolling" "false"
  Option        "ButtonMapping"       "1 2 3 4 5 6 7 9 8"
EndSection

The output from xinput list-props 7 shows:

Device 'VMware VMware Virtual USB Mouse':
    Device Enabled (124):   1
    Coordinate Transformation Matrix (126): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Calibration Matrix (261):  1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Calibration Matrix Default (262):  1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Natural Scrolling Enabled (263):   0
    libinput Natural Scrolling Enabled Default (264):   0
    libinput Send Events Modes Available (244): 1, 0
    libinput Send Events Mode Enabled (245):    0, 0
    libinput Send Events Mode Enabled Default (246):    0, 0
    libinput Left Handed Enabled (265): 0
    libinput Left Handed Enabled Default (266): 0
    libinput Scroll Methods Available (267):    0, 0, 1
    libinput Scroll Method Enabled (268):   0, 0, 1
    libinput Scroll Method Enabled Default (269):   0, 0, 1
    libinput Button Scrolling Button (270): 9
    libinput Button Scrolling Button Default (271): 2
    libinput Middle Emulation Enabled (272):    0
    libinput Middle Emulation Enabled Default (273):    0
    Device Node (247):  "/dev/input/event5"
    Device Product ID (248):    3599, 3
    libinput Drag Lock Buttons (274):   <no items>
    libinput Horizontal Scroll Enabled (275):   1

Question

What needs to change in the X Configuration File so that the small right button when held allows vertical scrolling using the trackball in an X11 session that’s running inside VMWare?

Related

Related links include:

Additional Details

Some extra information about attempts to resolve the problem and ways that work but are less than ideal.

Disconnect from Host

Note that it is possible to disconnect the mouse from the host OS by using the Connect option, which then permits scrolling as desired. The downside is that this makes switching between the guest and host systems a bit awkward in that it takes several steps to switch between systems. Ideally, the guest OS would use a single mouse click to give it focus, scrolling would “just work”, then Ctrl+Alt to release control back to the host OS.

Disconnect from Host

Changing Driver

Changing the driver from libinput to evdev does not work, such as:

  Driver        "evdev"

xinput

Even though VMWare lists two entries for the USB Mouse, id=8 does not appear to have any effect; whereas, id=7 can be disabled using:

xinput set-prop 7 124 0

Where 7 is the mouse ID, 124 is the Device Enabled setting, and 0 indicates false. This disables the pointer altogether; changing 0 to 1 re-enables the pointer.


Get this bounty!!!

#StackBounty: #xorg #window-manager #xcursor mwm cursor size

Bounty: 100

I have problems with cursor size on one of my Xorg screens on CentOS 7. I have two screens. One runs xfce4 window manager and desktop, while another runs mwm window manager. This is a custom setup, which allows a fullscreen Motif application to run on screen with mwm, and other apps on xfce4 screen. I also have special kind of monitor for Motif app, which is 2048×2048 resolution.

The problem I have is that all except one cursors are to big on mwm, while on xfce4 they are all normal. Cursor shaped “X” on desktop background is normal size while others are oversized.

Here’s a picture where an one of oversizeds cursor can be seen:
enter image description here

How can I change the size of cursors on mwm screen? I have tried Xcursor.size in Xresources, but with no effect.

Here are some more pictures showing cursor sizes.
enter image description here
enter image description here
enter image description here


Get this bounty!!!

#StackBounty: #18.04 #xorg #screen #vnc #display-manager Ubuntu 18.04 VNC/Vino stops refreshing when turning display off

Bounty: 50

After upgrading from 16.04 to 18.04 I’m having trouble with VNC/Vino.

I can connect via VNC (by enabling the built-in ‘Screen Sharing’ option), but as soon as I turn of the local display (server is connected to a TV, not a regular monitor), the VNC connection stops working for anything but the active windows. In other words: the background and the dock are not refreshed and the connection becomes very difficult to use (see screenshot).

Anyone has any idea where to look for a solution? I saw some posts about adding a dummy monitor, but that does not seem to apply to my case.
screenshot


Get this bounty!!!

#StackBounty: #gnome #18.04 #keyboard #xorg Keyboard repeat/delay is reset occasionally in Ubuntu 18.04

Bounty: 50

My keyboard repeat & delay settings are occasionaly reverted to slow (apparently default) values under Xorg in Ubuntu 18.04.

In this situation, the actual values (as obtained by xset q) are

auto repeat delay:  500    repeat rate:  30

whereas gsettings get org.gnome.desktop.peripherals.keyboard delay returns:

uint32 250

If I afterwards run gsettings set org.gnome.desktop.peripherals.keyboard delay 250, the keyboard delay / repeat settings are correctly set (xset q then returns auto repeat delay: 250).

There seem to be several triggers for the behavior, one reproducibly being a suspend & wakeup cycle; I wasn’t able to reproduce others yet.

My system is a rather freshly installed Ubuntu 18.04 on an A10-5800K with an A78M-E35 board in BIOS (non EFI) mode.

Any hints would be highly appreciated.


Get this bounty!!!

#StackBounty: #drivers #nvidia #xorg NVIDIA: GPU exception occured durint X server init

Bounty: 100

My GPU is the GTX870M. I did a fresh install of Ubuntu 18.04. All I did was:

sudo apt-get update
sudo apt-get upgrade
sudo ubuntu-drivers autoinstall
nvidia-xconfig
reboot

It installed the nvidia-390 driver. Now whenever I try to start the X server with startx it fails. I can still use Wayland. Here is what I tried (in recovery mode):

startx

Output:

X.Org X Server 1.20.1
X Protocol Version 11, Revision 0
Build Operating System: Linux 4.4.0-140-generic x86_64 Ubuntu
Current Operating System: Linux <censored>-PC 4.18.0-22-generic #23~18.04.1-Ubuntu SMP Thu Jun 6 08:37:25 UTC 2019 x86_64
Kernel command line: BOOT_IMAGE=/boot/vmlinuz-4.18.0-22-generic root=UUID=0d1d9304-4cd6-41f6-80b2-3562578a252e ro recovery nomodeset
Build Date: 27 November 2018  05:27:12PM
xorg-server-hwe-18.04 2:1.20.1-3ubuntu2.1~18.04.1 (For technical support please see http://www.ubuntu.com/support) 
Current version of pixman: 0.34.0
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Sat Jun 22 13:47:29 2019
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE) 
Fatal server error:
(EE) NVIDIA: A GPU exception occurred during X server initialization(EE) 
(EE) 
Please consult the The X.Org Foundation support 
     at http://wiki.x.org
 for help. 
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE) 
(EE) Server terminated with error (1). Closing log file.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error

/var/log/Xorg.0.log: https://pastebin.com/ygxRKPpg

In these logs, 2 things caught my eyes:

[   119.994] (II) NVIDIA(0): Virtual screen size determined to be 640 x 480
[   119.994] (WW) NVIDIA(0): Unable to get display device for DPI computation.

and

[   119.994] (--) NVIDIA(0): Memory: 3145728 kBytes
[   119.994] (II) NVIDIA: Using 6144.00 MB of virtual memory for indirect memory

It seems like my display device is not correctly detected and/or that X server is trying to use too much memory?

dmesg output: https://pastebin.com/fcYMPrUB

Relevant parts:

[  120.275346] NVRM: GPU at PCI:0000:01:00: GPU-c588f20e-6b26-3352-5b81-666db3c970a2
[  120.275348] NVRM: Xid (PCI:0000:01:00): 44, Ch 00000000, engmask 00000101, intr 10000000
[  120.793329] NVRM: Xid (PCI:0000:01:00): 31, Ch 00000008, engmask 00000111, intr 10000000

I checked what the Xid meant: https://docs.nvidia.com/deploy/xid-errors/index.html

31 GPU memory page fault

44 Graphics Engine fault during context switch

nvidia-smi output:

Sat Jun 22 14:23:52 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.116                Driver Version: 390.116                   |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 870M    Off  | 00000000:01:00.0 N/A |                  N/A |
| N/A   83C    P0    N/A /  N/A |      0MiB /  3018MiB |     N/A      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0                    Not Supported                                       |
+-----------------------------------------------------------------------------+

Any help is appreciated, thanks.


Get this bounty!!!

#StackBounty: #xorg #resolution #scrolling #virtual-desktop How to disable fullscreen mouse scrolling?

Bounty: 50

On programs that run in “fullscreen” mode, when I change the “fullscreen” resolution to something that is lower than what my desktop resolution is, I can scroll past the edges of the program by moving my mouse to the edge of the screen and see my desktop. This is really buggy and actually crashed my system, on top of being incredibly annoying.

How do you disable this? I don’t even know what it is called, and I can’t find ANYTHING except for this, really, unanswered question from 2003: https://www.linuxquestions.org/questions/linux-software-2/disabling-virtual-screen-mouse-scrolling-in-x-111237/

If anybody wants to see an example, then you can probably do it yourself by installing SuperTux 2, changing the fullscreen resolution to something like 640×480, then checking the fullscreen box, and moving your mouse to the edge of the screen.


Get this bounty!!!

#StackBounty: #drivers #nvidia #graphics #xorg #gpu Using P104-100 GPU on Ubuntu (as single or second GPU)

Bounty: 50

What I have:

GA-B250-Fintech motherboard

Ubuntu 18.04 (but I’m ready to reinstall to any version if it will work)

$ uname -r
4.18.0-18-generic

And P104-100 video card.

$ lspci | grep NVIDIA
01:00.0 3D controller: NVIDIA Corporation GP104 [P104-100] (rev a1)

gcc --version
gcc (Ubuntu 7.4.0-9ubuntu1~18.04.york0) 7.4.0

The problem:
every time I install nvidia drivers, Ubuntu stop loading. Usually with message:

started user manager uid 121.

I plug out P104-100 and plug in GTX 1060, this works correctly:

~$ nvidia-smi
Mon May 13 22:56:17 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.74       Driver Version: 418.74       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 106...  Off  | 00000000:01:00.0 Off |                  N/A |
|  0%   42C    P8     6W / 120W |      0MiB /  6078MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

Then I tried plug in P104-100 as second card using another slot, and Ubuntu stops loading: freeze with message

Started GNOME Display Manager.

P.S. Using lshw -C display I found both cards have
physical id: 0
Can it be a reason?


Question:
How to install both cards on Ubuntu?
I think if I successfully install P104-100 as single card the same solution could be for installing both of them.


P.S. I found some solution about editing xconf for using on multiple GPUs: for example.
But it did not help.


Get this bounty!!!