[Thinlinc-technical] Rendering OpenGl Applications via ThinLinc Terminal Servers

Avijit Ashe avijitashe at iiitb.ac.in
Tue Jan 28 15:07:59 CET 2014


Yes, you were right about using gdb and my segmentation fault is related to something called 'fglrx' I am mentioning below.

------------------------------------------
(gdb) r
Starting program: /home/avijitashe/Desktop/glutspin 
[Thread debugging using libthread_db enabled]

Program received signal SIGSEGV, Segmentation fault.
0x0032aef6 in XF86DRIQueryExtension () from /usr/lib/fglrx/libGL.so.1

(gdb) c
Continuing.

Program terminated with signal SIGSEGV, Segmentation fault.
The program no longer exists.
----------------------------------------------
The above output appears when debugged at System2 (client), whereas on System1 (server) the code runs perfectly, just as I'd mentioned earlier. I am trying to find out about this issue from the net but please do help me if you know what could be done to resolve it. And thanks for the prompt reply.

warm regards,
Avijit 

________________________________________
From: Peter Astrand <astrand at cendio.se>
Sent: Tuesday, January 28, 2014 5:50 PM
To: Avijit Ashe
Cc: thinlinc-technical at lists.cendio.se
Subject: Re: [Thinlinc-technical] Rendering OpenGl Applications via ThinLinc Terminal Servers

On Tue, 28 Jan 2014, Avijit Ashe wrote:

> Hello all,
> I am trying to find out how to run a sample OpenGL code (written in C with freeglut) on the terminal server (that has all libraries
> installed), through my client (on another linux system, with no libraries installed). I simply want to run some code out of the server as
> the documentation of ThinLinc says it supports OpenGL.
...
> from my client (System 2) using the usual procedure;
>        gcc spin.c -lglut
> This line compiles it properly and there are no warnings or errors at all (just as it compiled when done on System 1)
>        ./a.out
> This must draw the window and display as in System 1 earlier but now gives "Segmentation fault" on my client (System 2)

Hi. This should work. You have two alternatives:

1) Use the builtin software based OpenGL implementation. This should work
ouf of the box, just run the application as you normally do. (However, due
to bugs in the Nvidia drivers, the software based OpenGL has been disabled
on our demo servers.)

2) Use VirtualGL, in conjunction with a real graphics card in the server.
This gives much better performance. When VirtualGL is setup, you can use
it by starting applications through "vglrun", ie "vglrun ./a.out".


I've tested your programs and it seems to work with both methods. I've not
been able to reproduce the segmentation fault. I've fixed a few minor
things though:

* Better indentation
* Include stdio.h
* Added build command to comment
* Print newlines after printf outputs

So unfortunately I cannot tell you why you get a segmentation fault. Try
building with debug information (-g) and run it in a debugger such as gdb.


Regards,
---
Peter Astrand           ThinLinc Chief Developer
Cendio AB               http://cendio.com
Teknikringen 8          http://twitter.com/ThinLinc
583 30 Linkoping        http://facebook.com/ThinLinc
Phone: +46-13-214600    http://google.com/+CendioThinLinc



More information about the Thinlinc-technical mailing list