Go Back   nV News Forums > Linux Support Forums > NVIDIA Linux

Newegg Daily Deals

Reply
 
Thread Tools
Old 09-19-04, 05:13 PM   #1
vincoof
Registered User
 
Join Date: Sep 2004
Location: France
Posts: 104
Send a message via ICQ to vincoof Send a message via AIM to vincoof
Lightbulb X11 forwarding

Hi

(first post here)

Currently I'm playing with two PCs over a local network, trying to execute remote applications over the network thanks to ssh and X11 forwarding. Both systems are equipped with NVIDIA GeForce FX, 6111 driver. Relevant differences are :
system 1 : 5900XT, AGP 8x, over Mandrake 10.0
system 2 : 5600U, AGP 4x, over Mandrake 9.2

All the ssh connection works fine, and the X11 forward ability seems to work fine for common applications such as mozilla and xmms.

For instance, I'm sitting in front of system 1, logging remotely on system 2 and running applications so that they execute on system 2 but are controlled from the mouse and keyboard of system1 and displayed on the screen of system 1.
vincoof@system1 $ ssh -X system2
vincoof@system2 password: *******
vincoof@system2 $ xmms &
vincoof@system2 $ mozilla &

Everything works fine for now, except for the sound (but I know why, and it doesn't matter for now). However, problems happen whenever I run OpenGL applications.
For instance if I run glxgears, it segfaults immediately.

vincoof@system2 $ glxgears
Segmentation fault

I found a workaround for this. If I "really" log into system2 (I mean, not remotely) and log out, then I can run OpenGL applications remotely. Great ! I don't really know why it works but ... it works. I can execute glxgears and few more advanced OpenGL applications like tuxracer. But I run into another problem whenever I try to execute very advanced OpenGL applications such as Unreal Tournament 2004.

vincoof@system2 $ ut2004
Either GL_EXT_bgra or glDrawRangeElements not supported- bailing out.

And with very little investigation I found out that only a limited set of OpenGL extensions was supported when executed over the network. Why ?!

vincoof@system2 $ glinfo
GL_VERSION: 1.5.1 NVIDIA 61.11
GL_EXTENSIONS: GL_EXT_texture_object GL_EXT_draw_range_elements GL_EXT_vertex_array GL_EXT_fog_coord GL_EXT_secondary_color GL_EXT_blend_color GL_ARB_window_pos GL_EXT_paletted_texture GL_ARB_multitexture GL_EXT_multi_draw_arrays GL_EXT_blend_minmax GL_ARB_imaging GL_EXT_blend_func_separate GL_EXT_texture3D GL_ARB_point_parameters
GL_RENDERER: GeForce FX 5900XT/AGP/SSE2
GL_VENDOR: NVIDIA Corporation
GLU_VERSION: 1.3
GLU_EXTENSIONS: GLU_EXT_nurbs_tessellator GLU_EXT_object_space_tess
GLUT_API_VERSION: 5
GLUT_XLIB_IMPLEMENTATION: 15

As you can read, everything looks fine except the extensions list, and I guess this is what makes very advanced OpenGL apps unlucky.
Is there some bug into the driver, or is it a specific feature for X11-forwarded instructions ?

Also, it's pretty dangerous to expose OpenGL version as 1.5 (as exposed by GL_VERSION) if the graphics card's capabilities are not fully available.

Has anybody else already tried something like that, and/or does anybody know if I could have made a mistake or if I can run programs to work aroung that issue ?
Also, can anyone confirm me that this kind of trick (forwarding X11 instructions for OpenGL) is meant to be supported by NVIDIA drivers ?

Thanks in advance,
Vincent

Last edited by vincoof; 09-20-04 at 03:49 AM. Reason: new test concluded new issues
vincoof is offline   Reply With Quote
Old 09-20-04, 02:09 AM   #2
Thunderbird
 
Join Date: Jul 2002
Location: Netherlands, Europe
Posts: 2,105
Default Re: X11 forwarding

First I would stop using X11 forwarding for OpenGL (GLX) applications. The main problem is that they won't run hardware accelerated as in case of remote X, there's only indirect rendering. This all makes it VERY slow and only usefull for some basic OpenGL apps that run fine when using software rendering. There's no way to get direct rendering when using X11 forwarding.
Thunderbird is offline   Reply With Quote
Old 09-20-04, 03:44 AM   #3
vincoof
Registered User
 
Join Date: Sep 2004
Location: France
Posts: 104
Send a message via ICQ to vincoof Send a message via AIM to vincoof
Default Re: X11 forwarding

Please what do you mean by 'direct rendering' ? Do you mean hardware acceleration ? Initially I thought I could not benefit hardware acceleration over the network, but looking at glxgears framerate it surely does.

Remotely :
vincoof@system2 $ glxgears
31664 frames in 5.0 seconds = 6332.800 FPS
32380 frames in 5.0 seconds = 6476.000 FPS
32505 frames in 5.0 seconds = 6501.000 FPS

Locally :
vincoof@system1 $ glxgears
27202 frames in 5.0 seconds = 5440.400 FPS
31655 frames in 5.0 seconds = 6331.000 FPS
31711 frames in 5.0 seconds = 6342.200 FPS

It's almost as fast on both systems, and even looks slightly faster remotely.

Thanks for your reply !
vincoof is offline   Reply With Quote
Old 09-20-04, 05:41 AM   #4
Thunderbird
 
Join Date: Jul 2002
Location: Netherlands, Europe
Posts: 2,105
Default Re: X11 forwarding

You need to check the output of glxinfo.
Thunderbird is offline   Reply With Quote
Old 09-20-04, 09:00 AM   #5
vincoof
Registered User
 
Join Date: Sep 2004
Location: France
Posts: 104
Send a message via ICQ to vincoof Send a message via AIM to vincoof
Default Re: X11 forwarding

Doh ! Seems you were right, as shown in the attached files (glxinfo.1 is the output of remote log into system2 from system1, glxinfo.2 is the output of local log into system 2, and glxinfo.1-2 is the diff between them).

So, direct rendering is disabled when logging remotely.
Fine, then :
1- why do I still benefit hardware acceleration ?
2- can I "enable" direct rendering over a network (hope it doesn't sound too stupid), granted it's what I need ?

Thanks again
Attached Files
File Type: txt glxinfo.1.txt (4.5 KB, 174 views)
File Type: txt glxinfo.2.txt (6.7 KB, 162 views)
File Type: txt glxinfo.1-2.txt (3.3 KB, 158 views)
vincoof is offline   Reply With Quote
Old 09-20-04, 09:42 AM   #6
Thunderbird
 
Join Date: Jul 2002
Location: Netherlands, Europe
Posts: 2,105
Default Re: X11 forwarding

You can't get direct/hardware rendering. What happens is that with glxgears you have software rendering. Glxgears is a very basic test that mainly outputs some polygons; with powerfull cpu's you can reach very high scores. Also when you move another window over glxgears the score increases a lot, so it isn't very reliable.

If it were possible to get direct rendering then it wouldn't help much as a lot of data (hundreds of MB/s or even a few GB/s) would need to be sent over the network.
Thunderbird is offline   Reply With Quote
Old 09-20-04, 11:26 AM   #7
vincoof
Registered User
 
Join Date: Sep 2004
Location: France
Posts: 104
Send a message via ICQ to vincoof Send a message via AIM to vincoof
Default Re: X11 forwarding

I don't know what's the "real" relationship between direct rendering and hardware-accelerated rendering, but I'm sure glxgears (as well as other GL apps) run fast enough not to be executed by the MESA driver. For instance, when I log into system2 (locally) and run glxgears I get around 4500 FPS ; and when I log into system2 remotely from system 1, glxgears gives me around 6500 FPS. Both applications are executed on the same CPU, but the former is rendered on a 5600U and the letter on a 5900XT, which would explain the framerate gain. So I'm pretty sure the application benefits from system 1 graphics card's hardware acceleration, as long as a 5900XT is faster than 5600U

As for full performance, I know that I need a rock-solid network to handle graphics-consuming applications, but actually it's not a problem for me. I need stability first. And you would be impressed to see how fast the GL instructions can be executed over the network ! GLX looks like very well designed.
vincoof is offline   Reply With Quote
Old 09-20-04, 12:13 PM   #8
Thunderbird
 
Join Date: Jul 2002
Location: Netherlands, Europe
Posts: 2,105
Default Re: X11 forwarding

Software rendering doesn't have to mean mesa. The nvidia drivers contain a form of software rendering too.
Thunderbird is offline   Reply With Quote

Old 09-20-04, 02:15 PM   #9
vincoof
Registered User
 
Join Date: Sep 2004
Location: France
Posts: 104
Send a message via ICQ to vincoof Send a message via AIM to vincoof
Default Re: X11 forwarding

Whatever software renderer is used, if we consider that software rendering is slower than hardware acceleration (which would be pretty obvious, isn't it !) then glxgears could not be reasonably executed faster remotely if the software renderer is used in this case.

When direct rendering is disabled, does that necessarily means that no hardware acceleration can happen ? Or is it just a "common assumption" ?

Thanks for your patience !
vincoof is offline   Reply With Quote
Old 09-20-04, 08:47 PM   #10
danieljh
Registered User
 
Join Date: May 2004
Posts: 11
Default Re: X11 forwarding

If my memory serves correctly, direct rendering refures to going through the kernel directly to the screen. If you are log in remotely, I don't think you could render directly. On the other hand you are getting the correct version string, even if you are not getting complete access to all of the extensions. (Network implementation not finished???)

OpenGL has been network aware from the beginning. Remember it started on IRIX (Unix), and X11 forwarding was a requirement back then. We used to remote display applications all of the time, in fact it was a trick to get two CPU's working on your problem instead of one. The remote machine would handle some of OpenGL and then pass the rest to the second machine and you could get some pipeline performance increases.

You should be seeing hardware accelerated framerate from X forwarding up to the bandwidth of your network connection (which isn't much).
danieljh is offline   Reply With Quote
Old 09-21-04, 02:30 AM   #11
vincoof
Registered User
 
Join Date: Sep 2004
Location: France
Posts: 104
Send a message via ICQ to vincoof Send a message via AIM to vincoof
Default Re: X11 forwarding

Ok, it all makes sense now. Thanks a ton daniel !

You exactly got the point : I tried to mimic what I did with SGI workstations when I was in the university. It was pretty awesome. Now I assume I just need to be patient with my linux boxes, as NVIDIA drivers do not seem to be complete in this regard (maybe I'm just asking too much for now ). Though I'm glad it already works for "simple" OpenGL apps. I wasn't sure I could even start glxgears. All the GL/X stuff rocks big time. Stunning design.
vincoof is offline   Reply With Quote
Reply


Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


Similar Threads
Thread Thread Starter Forum Replies Last Post
Gigabyte's X11 notebook weighs less than a kilogram News Archived News Items 0 05-31-12 01:10 PM
Port forwarding with a virgin super hub. ATOJAR Networking And Security 12 05-07-12 03:34 PM

All times are GMT -5. The time now is 11:12 PM.


Powered by vBulletin® Version 3.7.1
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Copyright 1998 - 2014, nV News.