I propose the following solution to enable software rendering in the
portable version of TigerVNC:


(1) When Xvnc is built with build-xorg, add
--with-dri-driver-path=../lib/dri to the Xorg configure options

(2) Modify vncserver as follows:

Index: unix/vncserver
===================================================================
--- unix/vncserver      (revision 4288)
+++ unix/vncserver      (working copy)
@@ -220,7 +220,8 @@

 # Now start the X VNC Server

-$cmd = $exedir."Xvnc :$displayNumber";
+chdir($exedir);
+$cmd = "./Xvnc :$displayNumber";
 $cmd .= " -desktop " . &quotedString($desktopName);
 $cmd .= " -httpd $vncJavaFiles" if ($vncJavaFiles);
 $cmd .= " -auth $xauthorityFile";


This ensures that the current working directory of the Xvnc process is
the same as the directory in which the binary resides.  Thus, if
libswrast_dri.so is installed in ../lib/dri relative to where Xvnc is
installed, it should always work.  This change doesn't affect the CWD of
the parent shell.

This is a little hackish, so I need some feedback on it.  Adam, I
particularly need you and Cendio to weigh in on this.  I couldn't see
any obvious reasons why it would cause a problem.

I'm not sure who all uses build-xorg, but it was my understanding that
"distribution builds" of TigerVNC are all using a different mechanism,
which this hopefully doesn't affect.

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Tigervnc-devel mailing list
Tigervnc-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/tigervnc-devel

Reply via email to