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

Newegg Daily Deals

Reply
 
Thread Tools
Old 04-22-09, 11:08 AM   #1
bdmw1
Registered User
 
Join Date: Apr 2009
Posts: 7
Default Remote Access + Hardware acceleration

I need to write a program which makes use of the H.264 video decoding hardware acceleration provided by the Nvidia driver. I want to setup a NX (NoMachines) server where 3 developers will share it as the development machine and to execute the program on it. Now, my questions are as follow:

1) Assuming that I installed the Nvidia video card on the server and three of us can time-share the video card (Let's no worry about performance for now). Would this setup work well under NX? i.e. Could the video be seen on the client machine?

2) Assuming that I installed 3 Nvidia video card on each of the client machines, can I make use the video card on the client to do the decoding while the program is executed on the server?

3) If NoMachines can't support remote access along with hardware acceleration, is there any remote access software out there which would do the trick for me?

When I tried 1) above, and execute my program on the NX Client, I got the following error msg:

>>> Xlib: extension "NV-GLX" missing on display ":1008.0".
>>> after vdp_device_create,vdp_st=1
>>> Segmentation fault (core dumped)

When I type "xvinfo" on the terminal, it outputs

>>> X-Video Extension version 2.2
>>> screen #0
>>> no adaptors present

Any help is greatly appreciated.
bdmw1 is offline   Reply With Quote
Old 04-22-09, 07:03 PM   #2
junksiu
Registered User
 
Join Date: Jun 2008
Posts: 21
Default Re: Remote Access + Hardware acceleration

I am not familiar with NX, but is there a X server running in the server box?
junksiu is offline   Reply With Quote
Old 04-22-09, 09:36 PM   #3
bdmw1
Registered User
 
Join Date: Apr 2009
Posts: 7
Default Re: Remote Access + Hardware acceleration

Yes, there's an X Server running on the server box. Also, if I run the program directly on the server box (without the uses of NX), it works just fine.
bdmw1 is offline   Reply With Quote
Old 04-22-09, 09:45 PM   #4
JaXXoN
Registered User
 
Join Date: Jul 2005
Location: Munich
Posts: 910
Default Re: Remote Access + Hardware acceleration

VirtualGL might be capable of what you are looking for:
with VGL, 3D applications running on a server render to a virtual
framebuffer which is then captured, JPEG encoded and sent
to a modifed VNC viewer. I tried this out some times ago:
performance wise it wasn't too bad, but the latencies
caused by the software encoding have been awfully high
so that it wasn't good enough for i.e. remote gaming. However,
it might be good enough for video playback: most modern video
players can decode to a GL texture that VGL should be able to
transfer (but i didn't yet tried that out).

regards

Bernhard
JaXXoN is offline   Reply With Quote
Old 04-22-09, 10:41 PM   #5
bdmw1
Registered User
 
Join Date: Apr 2009
Posts: 7
Default Re: Remote Access + Hardware acceleration

Thanks Bernhard.

The major problem I have with VNC (or other similar program) is that it doesn't allow multiple user logon. Since three of my developers plan to use the same server, I am not sure if VirtualGL will do the trick for me.

Justin
bdmw1 is offline   Reply With Quote
Old 04-23-09, 12:49 AM   #6
Stephen Warren
Moderator
 
Stephen Warren's Avatar
 
Join Date: Aug 2005
Posts: 1,327
Default Re: Remote Access + Hardware acceleration

For VDPAU specifically, the application must run on the machine that will decode and display the content; there's no remote protocol like there is for X itself.

I'm not really familiar with NX, so I can't comment on its capabilities.

Any remote access to what the X server is displaying (e.g. exporting the X desktop via VNC) isn't likely to provide a usable experience; the raw decoded video would have to be transported across your network at real-time speed and full resolution. That's unlikely to happen.

The best bet seems to be to install an NVIDIA GPU on each developer's client machine, and do the decode/display there. You could still come up with some mechanism to stream/share the compressed video data from the central development machine if you need - e.g. if the content is created there.
Stephen Warren is offline   Reply With Quote
Old 04-23-09, 02:19 AM   #7
bdmw1
Registered User
 
Join Date: Apr 2009
Posts: 7
Default Re: Remote Access + Hardware acceleration

Thanks Stephen.

Since we are doing development, we don't particularly worry about the video quality. i..e we can use a very small window to display the decoded video and some frame drop is acceptable. However, as it stands now, i can't even execute my program if I remote log on to my server. This is the error code I got when I launch my program:

>>> Xlib: extension "NV-GLX" missing on display ":1008.0".
>>> after vdp_device_create,vdp_st=1
>>> Segmentation fault (core dumped)

The reason why we can't have the program run on the client side is that all development activities will be happening on the server only (source code only available at the server), so even if each one of them has a NVIDIA GPU, we still can't run/debug the program on the client side.

Any other suggestion? Million thanks in advance.

Justin
bdmw1 is offline   Reply With Quote
Old 04-23-09, 06:24 AM   #8
JaXXoN
Registered User
 
Join Date: Jul 2005
Location: Munich
Posts: 910
Default Re: Remote Access + Hardware acceleration

Quote:
Originally Posted by Stephen Warren View Post
Any remote access to what the X server is displaying (e.g. exporting the X desktop via VNC) isn't likely to provide a usable experience; the raw decoded video would have to be transported across your network at real-time speed and full resolution. That's unlikely to happen.
With good encoding/decoding hardware and a descent connection, it should work.
At least the guys at onlive.com think they can make a business out of it :-)
Here's a demo: http://www.youtube.com/watch?v=s7fq8NmiV8U

regards

Bernhard
JaXXoN is offline   Reply With Quote

Old 04-23-09, 07:40 AM   #9
JaXXoN
Registered User
 
Join Date: Jul 2005
Location: Munich
Posts: 910
Default Re: Remote Access + Hardware acceleration

Quote:
Originally Posted by bdmw1 View Post
The major problem I have with VNC (or other similar program) is that it doesn't allow multiple user logon.
Please note that every user can start it's own vncserver in background:

1. Login to the development server i.e. using ssh and type
Code:
vncserver -depth 24 :1
You will be asked for a password.

2. On the client, type:
Code:
vncviewer <serverip>:1
And type in the password.

3. To shutdown the vncserver, type
Code:
vncserver -kill :1
Please note that every user has to use a different unique display number
(":2", ":3", etc.)

Video playback worksnot too bad (VLC on Fedora 10) for small videos, but is
not very smooth for 720p material (maybe 10 fps). BTW: no special VirtualGL
required for this

regards

Bernhard
JaXXoN is offline   Reply With Quote
Old 04-23-09, 06:12 PM   #10
Stephen Warren
Moderator
 
Stephen Warren's Avatar
 
Join Date: Aug 2005
Posts: 1,327
Default Re: Remote Access + Hardware acceleration

Quote:
Originally Posted by bdmw1 View Post
>>> Xlib: extension "NV-GLX" missing on display ":1008.0".
>>> after vdp_device_create,vdp_st=1
>>> Segmentation fault (core dumped)
Is NX a replacement X server? VDPAU relies on the X server using the NVIDIA driver, which certainly isn't the case for a vncserver X server. It sounds like NX would be in the same boat, but I haven't looked into it at all.

Running N real X servers definitely isn't an option with a single GPU. For one, only 1 X server is active (on the current VT) at a time. Even if this weren't the case, VDPAU currently only supports decoding a single stream at a time.

I'm not sure if using multiple NVIDIA GPUs in the server system, and running multiple X servers, will work either; I think they're still bound by the same VT limitation (since VTs are global in Linux, not per X server).

So in short, I'm not sure what to tell you. Sorry!
Stephen Warren is offline   Reply With Quote
Old 04-23-09, 06:59 PM   #11
junksiu
Registered User
 
Join Date: Jun 2008
Posts: 21
Default Re: Remote Access + Hardware acceleration

Jaxxon, can you elaborate a bit more on the development environment? Are the server and development machines on the same LAN or remote like work from home?

I do have experience with setting up linux diskless client while applications are run on the client machine, with all data/file resides in the server. The client box has no hard drive at all.
junksiu is offline   Reply With Quote
Old 04-24-09, 05:33 AM   #12
bdmw1
Registered User
 
Join Date: Apr 2009
Posts: 7
Default Re: Remote Access + Hardware acceleration

Bernhard, thanks for your tips on VNC. I could give it a try. However, from my experience, VNC is much slower than NX. As a developer, we can't tolerate any lag (at least when video is not running), that's why we choose NX instead.

Stephen, I don't know if NX is a replacement of X. I will try to find out.

junksiu, all machines, 3 developer's client machines and 1 server machine, are on the same LAN. Basically, all developers will NOT keep a copy of the source code on their local clients. I want to setup an environment where they could use a remote access software (Now my choice is NX since its response time is excellent), to log on to the common server to do their development.

The problem I have is that my program makes use of the VDPAU to perform video decoding. What I found is that when using remote access, I can't run the program anymore on the client machine (Nothing about performance, my program won't even started). One solution I could thought of is that I can copy the final executable to the client machine and execute the program from there; however, it won't work because our developer need to debug the program.

Any help will be greatly appreciated. I am so stuck.
bdmw1 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
Tom's Hardware tests OpenCL acceleration across photo editing apps News Archived News Items 0 06-11-12 06:10 PM
CS6 OpenCL support -- not quite hardware acceleration for all News Archived News Items 0 05-19-12 11:20 AM
PowerDVD Hardware Acceleration adrianhall General Software 11 06-08-10 03:46 PM
hardware T&L nosrema NVIDIA Linux 2 09-14-02 02:35 PM
Can I use 3-D acceleration in the framebuffer coredumped NVIDIA Linux 3 08-24-02 01:20 PM

All times are GMT -5. The time now is 08:33 AM.


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