Bug 1264404

Summary: OpenGL over ssh -X does not work
Product: [Fedora] Fedora Reporter: Niklas <niklas.wikstrom>
Component: mesaAssignee: Adam Jackson <ajax>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 24CC: ajax, fschwarz, hartsjc, hdegoede, ignatenko
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: mesa-13.0.4-3.fc25 mesa-17.0.2-1.fc26 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-03-24 18:55:48 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
strace glxgears run over ssh with X forwarding none

Description Niklas 2015-09-18 11:49:14 UTC
Created attachment 1074806 [details]
strace glxgears run over ssh with X forwarding

Description of problem:
Since upgrade to f22, openGL-applications cannot run from a remote host, at least IF the remote host is equipped with NVIDIA graphics and native drivers.

Version-Release number of selected component (if applicable):

Fedora 22:
kernel 4.1.6-201.fc22.x86_64
Tested with clients:
-- workstation with nvidia drivers
-- laptop with intel drivers
-- Gnome on Xorg or Wayland
-- Also tested with plain OpenBOX

How reproducible:

Allways, when remote host has NVIDIA drivers. Tested on several machines.

Steps to Reproduce:
1.

ssh -X server-with-nvidia
glxgears
#X Error of failed request:  BadValue (integer parameter out of range for #operation)
#  Major opcode of failed request:  153 (GLX)
#  Minor opcode of failed request:  3 (X_GLXCreateContext)
#  Value in failed request:  0x0
#  Serial number of failed request:  24
#  Current serial number in output stream:  25

2.

ssh -X server-with-intel
glxgears
# WORKS FINE

3.

Actual results:


Expected results:

glxgears to run fine over ssh connection.


Additional info:

mesa-demos.x86_64                    8.2.0-2.fc22                               
mesa-dri-drivers.x86_64              10.6.3-3.20150729.fc22                     
mesa-filesystem.x86_64               10.6.3-3.20150729.fc22                     
mesa-libEGL.x86_64                   10.6.3-3.20150729.fc22                     
mesa-libGL.x86_64                    10.6.3-3.20150729.fc22                     
mesa-libGL-devel.x86_64              10.6.3-3.20150729.fc22                     
mesa-libGLES.x86_64                  10.6.3-3.20150729.fc22                     
mesa-libGLU.x86_64                   9.0.0-7.fc22                               
mesa-libGLU-devel.x86_64             9.0.0-7.fc22                               
mesa-libGLw.x86_64                   8.0.0-5.fc22                               
mesa-libOSMesa.x86_64                10.6.3-3.20150729.fc22                     
mesa-libOSMesa-devel.x86_64          10.6.3-3.20150729.fc22                     
mesa-libd3d.x86_64                   10.6.3-3.20150729.fc22                     
mesa-libgbm.x86_64                   10.6.3-3.20150729.fc22                     
mesa-libglapi.x86_64                 10.6.3-3.20150729.fc22                     
mesa-libwayland-egl.x86_64           10.6.3-3.20150729.fc22                     
mesa-libxatracker.x86_64             10.6.3-3.20150729.fc22                     


Best regards
Niklas

Comment 1 Niklas 2015-09-18 11:57:02 UTC
A related bug report: Bug 1220707

Comment 2 Jan Kurik 2016-02-24 15:31:10 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 24 development cycle.
Changing version to '24'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora24#Rawhide_Rebase

Comment 3 James Hartsock 2016-06-28 01:23:38 UTC
So on Fedora the issue here was that nvidia is modifying the OS provided libGL librarries, and sure something similar on Fedora

# sh NVIDIA-Linux-x86_64-361.42.run -a --no-nvidia-modprobe --no-kernel-module --keep

# rpm -V xorg-x11-xauth glx-utils mesa-dri-drivers libICE libSM libXmu libXt libX11 libX11-common libXau libXdamage libXext libXfixes libXxf86vm libxcb libxshmfence mesa-libGL mesa-libglapi mesa-filesystem mesa-private-llvm
....L....    /usr/lib64/libGL.so.1
missing     /usr/lib64/libGL.so.1.2.0





So to work-around issue

1) Use '--no-opengl-files' on nvidia's driver install
# sh NVIDIA-Linux-x86_64-361.42.run -a --no-nvidia-modprobe --no-kernel-module --keep --no-opengl-files
# rpm -V mesa-libGL ; echo $?
0


2) Make a copy of the stock OS libGL and use LD_PRELOAD
$ scp /usr/lib64/libGL.so.1 root@test:.
$ ssh -X -l root test 'LD_PRELOAD="/root/libGL.so.1" glxgears'
1007 frames in 5.0 seconds = 201.376 FPS
1056 frames in 5.0 seconds = 211.102 FPS
1078 frames in 5.0 seconds = 215.527 FPS
1050 frames in 5.0 seconds = 209.910 FPS
1045 frames in 5.0 seconds = 208.898 FPS <---- working
<snip>

Comment 4 Hans de Goede 2017-03-20 15:05:34 UTC
The nvidia drivers use glvnd, so this is likely due to a missing libGLX_indirect.so.0 symlink in your nvidia packages, note recent rpmfusion pkgs have this, is this still happening ?

For indirect rendering it does not matter which libGL you are using, so you can simply do (on the machine where you are ssh-ing to):

sudo ln -s /usr/lib64/libGLX_mesa.so.0 /usr/lib64/libGLX_indirect.so.0 

And that should fix this.

Anyways this is a bug with the nvidia driver packaging (if not fixed already), on F24 mesa does not use glvnd, closing.

Comment 5 Fedora Update System 2017-03-20 15:07:18 UTC
mesa-17.0.1-3.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-20709e6c23

Comment 6 Fedora Update System 2017-03-20 15:07:38 UTC
mesa-13.0.4-3.fc25 has been submitted as an update to Fedora 25. https://bodhi.fedoraproject.org/updates/FEDORA-2017-a85ea344c6

Comment 7 Fedora Update System 2017-03-20 18:50:15 UTC
mesa-17.0.2-1.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-741d36d0b1

Comment 8 Fedora Update System 2017-03-21 05:21:35 UTC
mesa-13.0.4-3.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-a85ea344c6

Comment 9 Fedora Update System 2017-03-21 14:25:48 UTC
mesa-17.0.2-1.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-741d36d0b1

Comment 10 Fedora Update System 2017-03-24 18:55:48 UTC
mesa-13.0.4-3.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.

Comment 11 Fedora Update System 2017-04-01 17:18:30 UTC
mesa-17.0.2-1.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.