Using CreationWorkshop on Linux with NVIDIA graphics

The Resin 3D DLP printer Wanhao Duplicator 7 originally has been offered with the free slicing software Creation Workshop available for download.1 Later on Wanhao seems to have bought the software company behind Creation Workshop and have developed new version, Wanhao D7 Workshop. The original download locations for the free software vanished. Users who have bought the printer after November 2018 were able to get a free license key. Others, who bought it before or obtained a used printer, had to buy one. Fortunately a user made the binaries of the original free opensource version available for download again at dropbox.2


Wanhao Duplicator D7+ 3D printer

Creation Workshop has been developed using .Net C# and can be used with Mono with Linux. Unfortunately this version of the Software does not work with mono on Linux depending on graphics hardware. There also has been a report of Creation Workshop crashing on the Raspberry Pi.3 45 From what I can tell it works with Intel graphics boards, but crashes with NVIDIA graphics boards. When running Creation Workshop with nvidia-drivers, it shortly opens a black window and then crashes with the console output below:

X11 Error encountered: 
  Error: BadMatch (invalid parameter attributes)
  Request:     151 (5)
  Resource ID: 0x840006E
  Serial:      1568
  Hwnd:        Hwnd, Mapped:False ClientWindow:0x840006E, WholeWindow:0x840006D, Zombie=False, Parent:[Hwnd, Mapped:True ClientWindow:0x8400064, WholeWindow:0x8400063, Zombie=False, Parent:[Hwnd, Mapped:True ClientWindow:0x8400062, WholeWindow:0x8400061, Zombie=False, Parent:[Hwnd, Mapped:True ClientWindow:0x8400060, WholeWindow:0x840005F, Zombie=False, Parent:[Hwnd, Mapped:True ClientWindow:0x840005E, WholeWindow:0x840005D, Zombie=False, Parent:[Hwnd, Mapped:True ClientWindow:0x840005C, WholeWindow:0x840005B, Zombie=False, Parent:[Hwnd, Mapped:True ClientWindow:0x840005A, WholeWindow:0x8400059, Zombie=False, Parent:[Hwnd, Mapped:True ClientWindow:0x8400058, WholeWindow:0x8400057, Zombie=False, Parent:[<null>]]]]]]]]
  Control:     UV_DLP_3D_Printer.GUI.Controls.ctlGL  at System.Environment.get_StackTrace () [0x00000] in <a6a5ba8fc13a4797a32a4dc4ae25c772>:0 
  at System.Windows.Forms.XplatUIX11.HandleError (System.IntPtr display, System.Windows.Forms.XErrorEvent& error_event) [0x00000] in <f8f55e5d29ae400f8589d196b5502445>:0 
  at OpenTK.Platform.X11.Glx.MakeCurrent (System.IntPtr , System.IntPtr , System.IntPtr ) [0x00000] in <6e87929761c543a4bfb6d5acaea62619>:0 
  at OpenTK.Platform.X11.Glx.MakeCurrent (System.IntPtr display, System.IntPtr drawable, OpenTK.ContextHandle context) [0x00000] in <6e87929761c543a4bfb6d5acaea62619>:0 
  at OpenTK.Platform.X11.X11GLContext.MakeCurrent (OpenTK.Platform.IWindowInfo window) [0x00000] in <6e87929761c543a4bfb6d5acaea62619>:0 
  at OpenTK.Graphics.GraphicsContext.MakeCurrent (OpenTK.Platform.IWindowInfo window) [0x00000] in <6e87929761c543a4bfb6d5acaea62619>:0 
  at OpenTK.GLControl.MakeCurrent () [0x00000] in <1b9440a0f8834418a8d369f909728a32>:0 
  at OpenTK.GLControl.OnHandleCreated (System.EventArgs e) [0x00000] in <1b9440a0f8834418a8d369f909728a32>:0 
  at System.Windows.Forms.Control.WmCreate (System.Windows.Forms.Message& m) [0x00000] in <f8f55e5d29ae400f8589d196b5502445>:0 
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x00000] in <f8f55e5d29ae400f8589d196b5502445>:0 
  at System.Windows.Forms.ScrollableControl.WndProc (System.Windows.Forms.Message& m) [0x00000] in <f8f55e5d29ae400f8589d196b5502445>:0 

From the output there seems to be a problem with OpenTK.Graphics, which turns out to be an incompatibility of the bundled version of the OpenTK .Net wrappers libraries bundled with this version of Creation Workshop. To fix this problem one can download newer versions of the wrapper dlls, which work together with nvidia-drivers, from

Downloads can be found here: opentk.2.0.0.nupkg and here: opentk.glcontrol.3.1.0.nupk.

After downloading, the dlls can be extracted from the nupk files using unzip. Then replace the the files OpenTK.dll and OpenTK.GLControl.dll in the Creation Workshop directory with the newer ones from the nuget packages.

Creation Workshop- running on Linux with NVIDIA Graphics

Afterwards Creation Workshop can simply be started from the terminal:

mithrandir@galadriel ~/Creation_Workshop_D7_v1.0.075 $ mono CreationWorkshop.exe

This way Creation Workshop has been run on Gentoo Linux on X86_64 architecture and on a NVIDIA Jetsons TX2 board with ARM64 architecture. Other platforms like the Raspberry, reported to be problematic, might work as well.


  1. wanhao-duplicator-7-d7-v1-5-setup-tutorial/
  2. google groups: D7 Plus – Some setup information
  3. : Creation Workshop on Linux
  4. CW does not work on Linux
  5. Problem launching CW on Ubuntu Linux 14.10

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

Minidlna patch for LG TVs

One year ago I wrote about using the ushare DLNA server for watching 3D stereo mpo images. In the meanwhile minidlna evolved and is now also capable of displaying the mpo file format. This led me to switching to minidlna as DLNA server, since it is the better DLNA-server for general use. In example it supports features like fast forward and fast rewind, which ushare does not support.  Unfortunately there are problems with minidlna in conjunction with some LG TVs. These TVs spam the DLNA-servers in the network with search requests, which leads to full CPU-load on the DLNA-server and unresponsiveness of the TVs user interface.¹ This even occurs when watching TV. I also experienced problems with harddisk recordings like the timeshift feature of the TV when network is connected. One may find out that the user interface of the TV is much smoother without network connection on these TVs. In the following I will show how to patch minidlna for not responding to these requests.

First of all download my patch against mindlna-1.1.5:

minidlna_lg_nosearch.patch.gz (1128 downloads)

The patch is based upon falk0069s older minidlna patch.² In case a LG device sends a search request, the minidlna-server just responds with 0. This removes load from both, the TV and the server and therefore leads to a better responsiveness. The patch should also work with current head.

Second download the minidlna-sources from:

Afterwards extract the minidlna-sources, change into the source directory and patch the sources:

cat minidlna_lg_nosearch.patch.gz | gunzip| patch -p1

Then build the sources by running ./configure and make.

Users of Debian-based arm-distributions like bananian might try out my prebuilt binary. One can download it from here: minidlnad.gz (1075 downloads) . After downloading unzip the binary and replace the binary of your existing minidlna installation with it.





1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

watching 3D stereo mpo images with ushare

Some months ago I got my brand new LG 55LA6608 3D TV. Of course I wanted to watch the 3d photos taken with the Fujifilm Finepix Real 3D camera with it. The images taken by the camera are being stored using the MPO file format. These images consist of two jpeg images and some metadata inside the exif header inside the MPO container. According to the specification the television is capable of playing this file format, which works fine when using in example an USB-stick. However, it is desireable to watch the images using a network connection, for example when the files are stored on a linux server.

For displaying videos or images from a server this and other television devices use the DLNA protocol, which is implemented by by various linux services like minidlna or ushare. None of the tested ones was capable to present the MPO files to the TV. The solution to enable ushare to do this is quite simple. The MPO mime type has to be added to ushares supported file formats. This can be done by adding the line

{ “mpo”,  UPNP_PHOTO, “http-get:*:image/mpo:”},

to the MIME_TYPE_LIST array in mime.c. This has been verified to work with the ushare-1.1a. For convenience one can download the patch for this from here:

ushare-mpo.patch (1755 downloads)

One can download the ushare sources from SourceForge. After downloading patch the ushare sources with the mpo-patch and build it. Build and usage instructions can be found in the readme file included in the ushare download from SourceForge. Do not forget to run ./configure –enable-dlna before running make for use with recent devices like the mentioned LG TV.

As usually, for gentoo users there is a more easy way: Create the directory


and place the patch file in it. Make sure that the dlna USE-flag is set in /etc/make.conf or /etc/portage/package.use. Afterwards emerge ushare again and enjoy watching your 3D MPO images stored on your linux box using your TV.



1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)

stereoscopic mplayer-1.1-r1

Recently the new mplayer-1.1-r1 ebuild appeared in portage. In the article stereoscopic mplayer-1.0_rc4_p20110322 I provided a modified patch for stereoscopic support in mplayer-1.0_rc4_p20110322. This patch does not work with the current version anymore. However, only a minor fix has been required. To use the new patch, just download it from here:  mplayer-stereoscopic-1.1-r1.patch (1942 downloads) and copy it to:


Afterwards emerge mplayer and play stereoscopic movies with:

mplayer -vo gl2:stereo some_movie_file.avi


1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

Flightgear-2.8.0 with quad buffered stereo

In the article Flightgear with quad buffered stereo I have written about how to get quad buffered stereo to work with the famous flight simulator FlightGear. Recently FlightGear-2.8.0 has been released. The problem with quad buffered stereo still persists with FlightGear-2.8.0 .

One expects to enable stereoscopic mode in FlightGear starting it with the following line:


When starting flightgear this way, one gets the following console output and no stereoscopic view:

Warning: detected OpenGL error ‘invalid operation’ after RenderBin::draw(,)

Getting FlightGear to work with quad-buffered stereo

The reason for the above error message and the resulting broken stereo mode is, that the stereo context does not get initialized properly. The details are described here: Flightgear with quad buffered stereo. Unfortunately the patch I proposed in the mentioned post does not work for flightgear-2.8.0. However, the good news is, it only required a slight modification, the WindowBuilder.cxx file no longer is in src/Main, but in the src/Viewer directory. You can download the new patch from here:  flightgear-2.8.0-stereoscopic.patch (2553 downloads)

Hopefully the patch finds its way into the next flightgear release.

As usual for quad buffered stereo, you have to use a professional graphics board that supports quad buffered stereo, like a NVIDIA Quadro FX or a Ati FireGL and proper display hardware, like shutter glasses, a HMD or a stereoscopic projection system, to benefit from it. To use the quad buffered stereo mode start flightgear with the environment variables mentioned above. Afterwards you probably have to enable quad buffered stereo mode by selecting the Stereoscopic View Options Item in the the View menu.

The Gentoo way

For gentoo users I have created an overlay. Like the previous one it contains patches and modified ebuilds for flightgear with working quad buffer support. You may get the overlay from here:  flightgear-2.8.0 overlay (2570 downloads) Download the overlay and extract it in /usr/local/portage. Be sure to include the following line in your /etc/make.conf:


Then emerge flightgear and enjoy it in three dimensions.

Have fun


1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)

glsldevil binaries

About one year ago I wrote about the OpenGL/GLSL debugger glsldevil in the article gentoo ebuild for glsldevil-1.1.5 and provided a gentoo ebuild for it. Unfortunately glsldevil seems not to be available anymore from the web page of the University of Stuttgart (, which has rendered the ebuild useless.

Edit 29/5/2012: The original download site of the University of Stuttgart is available again.

Since the license of glsldevil  permits redistribution, I decided to upload my local copy, to make glsldevil available for the public again. Unfortunately this only includes the Linux binaries (32bit and 64bit) and neither Windows binaries or the source code.

You can download the Linux binaries from here: [download#87]

For use with the ebuild, just copy the file to /usr/portage/distfiles/.



1 Star2 Stars3 Stars4 Stars5 Stars (2 votes, average: 5.00 out of 5)

nvidia-drivers-295.17 solve black screen problem

Using nvidia linux drivers from version 270.X to 275.X with some graphics boards, in example the Quadro FX 350M which is built into the Dell Precision M65 notebook,  resulted in a black screen or window for OpenGL applications. Even glxgears did only output a black window. The problem has been discussed on A downgrade to a lower driver version, in example the version 260.X drivers is not applicable anymore, since these drivers do dot build against a recent linux-3 kernel. A upgrade to newer drivers also was not possible, since driver versions from 285.X to 295.10 did not work at all for this graphics board. Recently version 295.17 of nvidias beta driver has become available, which solves this issue. Download links are available on

For gentoo users I have modified the nvidia-drivers  ebuild for the 295.17 driver. You can download my modified overlay, [download#83] and extract it in /usr/local/portage. Be sure to include the following line in your /etc/make.conf:


Afterwards you may emerge nvdidia-drivers-295.17.




1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)