PyLuxCoreTools GUI

Discussion related to the Engine functionality, implementations and API.
User avatar
Dade
Developer
Posts: 1538
Joined: Mon Dec 04, 2017 8:36 pm

Re: PyLuxCoreTools GUI

Post by Dade » Sat Mar 17, 2018 9:31 am

BTW, you should try also:

Code: Select all

make -j 12 pyluxcoretools ; python3 samples/pyluxcoretool/pyluxcoretool.py 
because this just uses only PySide without pyluxcore.
Support LuxCoreRender project with salts and bounties

User avatar
B.Y.O.B.
Developer
Posts: 1825
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: PyLuxCoreTools GUI

Post by B.Y.O.B. » Sat Mar 17, 2018 9:32 am

Dade wrote:
Sat Mar 17, 2018 9:20 am
Does this work (i.e. the command line version) ?
No, it also crashes.

edit: python3 samples/pyluxcoretool/pyluxcoretool.py also crashes.

A gdb run:

Code: Select all

~/P/l/L/LuxCore [139]› gdb python3
GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.3) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from python3...(no debugging symbols found)...done.
(gdb) r samples/py
pyluxcoredemo/              pyluxcoreserializationdemo/ pyluxcoretool/              pysideluxcoredemo/
(gdb) r samples/py
pyluxcoredemo/              pyluxcoreserializationdemo/ pyluxcoretool/              pysideluxcoredemo/
(gdb) r samples/pyluxcoretool/pyluxcoretool.py netnodeui
Starting program: /usr/bin/python3 samples/pyluxcoretool/pyluxcoretool.py netnodeui
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x0000000000216296 in ?? ()
(gdb) r samples/pyluxcoretool/pyluxcoretool.py netnode
The program being debugged has been started already.
Start it from the beginning? (y or n) y

Starting program: /usr/bin/python3 samples/pyluxcoretool/pyluxcoretool.py netnode
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x0000000000216296 in ?? ()
(gdb) list
1	dl-debug.c: Datei oder Verzeichnis nicht gefunden.
(gdb) bt
#0  0x0000000000216296 in ?? ()
#1  0x00007ffff57f00e8 in std::future_category() () from ./lib/pyluxcore.so
#2  0x00007ffff3930719 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007ffff7dea1da in call_init (l=<optimized out>, argc=argc@entry=3, argv=argv@entry=0x7fffffffe0b8, 
    env=env@entry=0x7fffffffe0d8) at dl-init.c:78
#4  0x00007ffff7dea2c3 in call_init (env=<optimized out>, argv=<optimized out>, argc=<optimized out>, 
    l=<optimized out>) at dl-init.c:36
#5  _dl_init (main_map=main_map@entry=0xc42b70, argc=3, argv=0x7fffffffe0b8, env=0x7fffffffe0d8) at dl-init.c:126
#6  0x00007ffff7deed00 in dl_open_worker (a=a@entry=0x7fffffff7538) at dl-open.c:577
#7  0x00007ffff7dea094 in _dl_catch_error (objname=objname@entry=0x7fffffff7528, 
    errstring=errstring@entry=0x7fffffff7530, mallocedp=mallocedp@entry=0x7fffffff7520, 
    operate=operate@entry=0x7ffff7deea30 <dl_open_worker>, args=args@entry=0x7fffffff7538) at dl-error.c:187
#8  0x00007ffff7dee44b in _dl_open (
    file=0x7ffff27ee870 "/usr/lib/python3/dist-packages/apt_pkg.cpython-34m-x86_64-linux-gnu.so", mode=-2147483646, 
    caller_dlopen=<optimized out>, nsid=-2, argc=3, argv=0x7fffffffe0b8, env=0x7fffffffe0d8) at dl-open.c:661
#9  0x00007ffff75f002b in dlopen_doit (a=a@entry=0x7fffffff7750) at dlopen.c:66
#10 0x00007ffff7dea094 in _dl_catch_error (objname=0xad7fd0, errstring=0xad7fd8, mallocedp=0xad7fc8, 
    operate=0x7ffff75effd0 <dlopen_doit>, args=0x7fffffff7750) at dl-error.c:187
#11 0x00007ffff75f062d in _dlerror_run (operate=operate@entry=0x7ffff75effd0 <dlopen_doit>, 
    args=args@entry=0x7fffffff7750) at dlerror.c:163
#12 0x00007ffff75f00c1 in __dlopen (file=<optimized out>, mode=<optimized out>) at dlopen.c:87
#13 0x0000000000582ff1 in _PyImport_GetDynLoadFunc ()
#14 0x000000000059753e in _PyImport_LoadDynamicModule ()
#15 0x00000000005977aa in ?? ()
#16 0x000000000055c0ef in PyEval_EvalFrameEx ()
#17 0x000000000055eb65 in PyEval_EvalCodeEx ()
#18 0x000000000055add3 in PyEval_EvalFrameEx ()
#19 0x000000000055f9ec in ?? ()
#20 0x000000000050b7fa in PyObject_Call ()
#21 0x0000000000558760 in PyEval_EvalFrameEx ()
#22 0x000000000055eb65 in PyEval_EvalCodeEx ()
#23 0x000000000055add3 in PyEval_EvalFrameEx ()
#24 0x000000000055a8fd in PyEval_EvalFrameEx ()
#25 0x000000000055a8fd in PyEval_EvalFrameEx ()
#26 0x000000000055a8fd in PyEval_EvalFrameEx ()
#27 0x000000000055f9ec in ?? ()
#28 0x00000000004b7816 in _PyObject_CallMethodIdObjArgs ()
#29 0x00000000004ad503 in PyImport_ImportModuleLevelObject ()
#30 0x00000000004a25a7 in ?? ()
#31 0x000000000050b7fa in PyObject_Call ()
#32 0x000000000050adcc in PyEval_CallObjectWithKeywords ()
#33 0x0000000000558dc8 in PyEval_EvalFrameEx ()
#34 0x000000000055eb65 in PyEval_EvalCodeEx ()
#35 0x000000000055f86b in PyEval_EvalCode ()
#36 0x0000000000576d61 in ?? ()
#37 0x000000000055c0ef in PyEval_EvalFrameEx ()
#38 0x000000000055eb65 in PyEval_EvalCodeEx ()
#39 0x000000000055add3 in PyEval_EvalFrameEx ()
#40 0x000000000055a8fd in PyEval_EvalFrameEx ()
#41 0x000000000055a8fd in PyEval_EvalFrameEx ()
#42 0x000000000055a8fd in PyEval_EvalFrameEx ()
#43 0x000000000055a8fd in PyEval_EvalFrameEx ()
#44 0x000000000055f9ec in ?? ()
#45 0x00000000004b7816 in _PyObject_CallMethodIdObjArgs ()
#46 0x00000000004ad503 in PyImport_ImportModuleLevelObject ()
#47 0x00000000004a25a7 in ?? ()
#48 0x000000000050b7fa in PyObject_Call ()
#49 0x000000000050adcc in PyEval_CallObjectWithKeywords ()
#50 0x0000000000558dc8 in PyEval_EvalFrameEx ()
#51 0x000000000055eb65 in PyEval_EvalCodeEx ()
#52 0x000000000055f86b in PyEval_EvalCode ()
---Type <return> to continue, or q <return> to quit---
#53 0x0000000000576d61 in ?? ()
#54 0x000000000055c0ef in PyEval_EvalFrameEx ()
#55 0x000000000055eb65 in PyEval_EvalCodeEx ()
#56 0x000000000055add3 in PyEval_EvalFrameEx ()
#57 0x000000000055a8fd in PyEval_EvalFrameEx ()
#58 0x000000000055a8fd in PyEval_EvalFrameEx ()
#59 0x000000000055a8fd in PyEval_EvalFrameEx ()
#60 0x000000000055a8fd in PyEval_EvalFrameEx ()
#61 0x000000000055f9ec in ?? ()
#62 0x00000000004b7816 in _PyObject_CallMethodIdObjArgs ()
#63 0x00000000004ad503 in PyImport_ImportModuleLevelObject ()
#64 0x00000000004a25a7 in ?? ()
#65 0x000000000050b7fa in PyObject_Call ()
#66 0x000000000050adcc in PyEval_CallObjectWithKeywords ()
#67 0x0000000000558dc8 in PyEval_EvalFrameEx ()
#68 0x000000000055eb65 in PyEval_EvalCodeEx ()
#69 0x000000000055f86b in PyEval_EvalCode ()
#70 0x0000000000576d61 in ?? ()
#71 0x000000000055c0ef in PyEval_EvalFrameEx ()
#72 0x000000000055eb65 in PyEval_EvalCodeEx ()
#73 0x000000000055add3 in PyEval_EvalFrameEx ()
#74 0x000000000055a8fd in PyEval_EvalFrameEx ()
#75 0x000000000055a8fd in PyEval_EvalFrameEx ()
#76 0x000000000055a8fd in PyEval_EvalFrameEx ()
#77 0x000000000055a8fd in PyEval_EvalFrameEx ()
#78 0x000000000055f9ec in ?? ()
#79 0x00000000004b7816 in _PyObject_CallMethodIdObjArgs ()
#80 0x00000000004ad503 in PyImport_ImportModuleLevelObject ()
#81 0x00000000004a25a7 in ?? ()
#82 0x000000000050b7fa in PyObject_Call ()
#83 0x000000000050adcc in PyEval_CallObjectWithKeywords ()
#84 0x0000000000558dc8 in PyEval_EvalFrameEx ()
#85 0x000000000055eb65 in PyEval_EvalCodeEx ()
#86 0x000000000055f86b in PyEval_EvalCode ()
#87 0x0000000000576d61 in ?? ()
#88 0x000000000055c0ef in PyEval_EvalFrameEx ()
#89 0x000000000055eb65 in PyEval_EvalCodeEx ()
#90 0x000000000055add3 in PyEval_EvalFrameEx ()
#91 0x000000000055a8fd in PyEval_EvalFrameEx ()
#92 0x000000000055a8fd in PyEval_EvalFrameEx ()
#93 0x000000000055a8fd in PyEval_EvalFrameEx ()
#94 0x000000000055a8fd in PyEval_EvalFrameEx ()
#95 0x000000000055f9ec in ?? ()
#96 0x00000000004b7816 in _PyObject_CallMethodIdObjArgs ()
#97 0x00000000004ad503 in PyImport_ImportModuleLevelObject ()
#98 0x00000000004a25a7 in ?? ()
#99 0x000000000050b7fa in PyObject_Call ()
#100 0x000000000050adcc in PyEval_CallObjectWithKeywords ()
#101 0x0000000000558dc8 in PyEval_EvalFrameEx ()
#102 0x000000000055eb65 in PyEval_EvalCodeEx ()
#103 0x000000000055f86b in PyEval_EvalCode ()
#104 0x0000000000576d61 in ?? ()
#105 0x000000000055c0ef in PyEval_EvalFrameEx ()
#106 0x000000000055eb65 in PyEval_EvalCodeEx ()
#107 0x000000000055add3 in PyEval_EvalFrameEx ()
#108 0x000000000055a8fd in PyEval_EvalFrameEx ()
#109 0x000000000055a8fd in PyEval_EvalFrameEx ()
#110 0x000000000055a8fd in PyEval_EvalFrameEx ()
#111 0x000000000055a8fd in PyEval_EvalFrameEx ()
#112 0x000000000055f9ec in ?? ()
#113 0x00000000004b7816 in _PyObject_CallMethodIdObjArgs ()
---Type <return> to continue, or q <return> to quit---
#114 0x00000000004ad503 in PyImport_ImportModuleLevelObject ()
#115 0x00000000004a25a7 in ?? ()
#116 0x000000000055c0ef in PyEval_EvalFrameEx ()
#117 0x000000000055eb65 in PyEval_EvalCodeEx ()
#118 0x000000000055add3 in PyEval_EvalFrameEx ()
#119 0x000000000055a8fd in PyEval_EvalFrameEx ()
#120 0x000000000055f9ec in ?? ()
#121 0x00000000004b7816 in _PyObject_CallMethodIdObjArgs ()
#122 0x00000000004ad503 in PyImport_ImportModuleLevelObject ()
#123 0x00000000004a25a7 in ?? ()
#124 0x000000000050b7fa in PyObject_Call ()
#125 0x000000000050adcc in PyEval_CallObjectWithKeywords ()
#126 0x0000000000558dc8 in PyEval_EvalFrameEx ()
#127 0x000000000055f9ec in ?? ()
#128 0x000000000050b7fa in PyObject_Call ()
#129 0x000000000050adcc in PyEval_CallObjectWithKeywords ()
#130 0x000000000046f157 in PyErr_PrintEx ()
#131 0x000000000047abe1 in PyRun_SimpleFileExFlags ()
#132 0x00000000005c1373 in Py_Main ()
#133 0x000000000047b171 in main ()
(gdb)
I switched to netnode instead of netnodeui halfway, but you can see that the crashing address is the same.
Support LuxCoreRender project with salts and bounties

User avatar
Dade
Developer
Posts: 1538
Joined: Mon Dec 04, 2017 8:36 pm

Re: PyLuxCoreTools GUI

Post by Dade » Sat Mar 17, 2018 9:46 am

It looks like a problem that has nothing to do with PySide or the GUI. Does your compiled pyluxcore.so work ? If you try to use it for BlendLuxCore or:

Code: Select all

david@i7-3930k:~/projects/luxcorerender/LuxCore$ cd lib/
david@i7-3930k:~/projects/luxcorerender/LuxCore/lib$ python3
Python 3.4.3 (default, Nov 28 2017, 16:41:13) 
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyluxcore
>>> pyluxcore.Version()
'2.0alpha6'
>>> 
Do you have the required DLLs (Embree, etc.) in your LD_LIBRARY_PATH ?
Support LuxCoreRender project with salts and bounties

User avatar
B.Y.O.B.
Developer
Posts: 1825
Joined: Mon Dec 04, 2017 10:08 pm
Location: Germany
Contact:

Re: PyLuxCoreTools GUI

Post by B.Y.O.B. » Sat Mar 17, 2018 10:04 am

Sorry for wasting your time, seems my brain has not booted yet.
When I copy everything into a folder, it works.
scrn_2018-03-17_11-01-41.png
By the way, you need to check here if the returned filename is empty (when the user aborts the file selection):
https://github.com/LuxCoreRender/LuxCor ... /ui.py#L86
Support LuxCoreRender project with salts and bounties

User avatar
Dade
Developer
Posts: 1538
Joined: Mon Dec 04, 2017 8:36 pm

Re: PyLuxCoreTools GUI

Post by Dade » Sat Mar 17, 2018 10:19 am

B.Y.O.B. wrote:
Sat Mar 17, 2018 10:04 am
By the way, you need to check here if the returned filename is empty (when the user aborts the file selection):
https://github.com/LuxCoreRender/LuxCor ... /ui.py#L86
Fell free to fix it :mrgreen:
Support LuxCoreRender project with salts and bounties

acasta69
Developer
Posts: 65
Joined: Tue Jan 09, 2018 3:45 pm

Re: PyLuxCoreTools GUI

Post by acasta69 » Sun Mar 18, 2018 3:14 pm

neo2068 wrote:
Sat Mar 17, 2018 8:59 am
Hi! On windows I get an error when I try to install PySide. It seems that it is only supported until python 3.4.

Code: Select all

Collecting PySide
  Using cached PySide-1.2.4.tar.gz
    Complete output from command python setup.py egg_info:
    only these python versions are supported: [(2, 6), (2, 7), (3, 2), (3, 3), (3, 4)]
Apparently all development effort is now on Qt5 and PySide2...
However it should still be possible to install and use PySide:
https://stackoverflow.com/a/48451297
https://www.lfd.uci.edu/%7Egohlke/pythonlibs/#pyside

I have not tried to use those wheels yet.
Support LuxCoreRender project with salts and bounties

Windows 10 64 bits, i7-4770 3.4 GHz, RAM 16 GB, GTX 970 4GB v382.05

User avatar
Dade
Developer
Posts: 1538
Joined: Mon Dec 04, 2017 8:36 pm

Re: PyLuxCoreTools GUI

Post by Dade » Sun Mar 18, 2018 3:32 pm

acasta69 wrote:
Sun Mar 18, 2018 3:14 pm
neo2068 wrote:
Sat Mar 17, 2018 8:59 am
Hi! On windows I get an error when I try to install PySide. It seems that it is only supported until python 3.4.

Code: Select all

Collecting PySide
  Using cached PySide-1.2.4.tar.gz
    Complete output from command python setup.py egg_info:
    only these python versions are supported: [(2, 6), (2, 7), (3, 2), (3, 3), (3, 4)]
Apparently all development effort is now on Qt5 and PySide2...
However it should still be possible to install and use PySide:
https://stackoverflow.com/a/48451297
https://www.lfd.uci.edu/%7Egohlke/pythonlibs/#pyside

I have not tried to use those wheels yet.
They works: https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyside

I used them for packing the alpha7: https://github.com/LuxCoreRender/Window ... ME.txt#L33

P.S. they don't maintain PySide 1 anymore but there isn't yet a PySide 2 public version.
Support LuxCoreRender project with salts and bounties

neo2068
Developer
Posts: 87
Joined: Tue Dec 05, 2017 6:06 pm

Re: PyLuxCoreTools GUI

Post by neo2068 » Mon Mar 19, 2018 9:26 pm

Thanks Dade, for the link. Now, I can compile it. :D
i7 5820K, 32 GB RAM, NVIDIA Geforce GTX 1080 + GTX 780, Windows 10 64bit, Blender 2.79b
Support LuxCoreRender project with salts and bounties

User avatar
Dade
Developer
Posts: 1538
Joined: Mon Dec 04, 2017 8:36 pm

Re: PyLuxCoreTools GUI

Post by Dade » Fri Mar 23, 2018 11:30 am

The NetConsoleUI is near to have the bare minimum features to be usable (NetNodeUI already has). This is a screenshot of NetConsoleUI and NetNodeUI running side by side:
net.jpg
NetConsoleUI has now some information about the current job, commands to start a new job, stop and force an update. There is a also a tab to show the queue of pending jobs.

The tab with the list of rendering nodes is the last missing feature before to have the very bare minimum to be usable.
Support LuxCoreRender project with salts and bounties

jensverwiebe
Supporting Users
Posts: 141
Joined: Tue Jan 09, 2018 6:48 pm

Re: PyLuxCoreTools GUI

Post by jensverwiebe » Fri Mar 30, 2018 12:08 pm

When looking for eastereggs on sunday .... :lol:

On macOS > 10.10, pyside seems to be a nogo.
This has several reasons such as SIP, retina support, py version etc. etc..
I could never got past shiboken with a custommade qt 4.8. ( typically you need min. qt5.10 )

This is all out of reach for common users i fear.

I prepared a bashscript as substitution.
Unfortunately even this is not as good as the linux one, cause my custom jumpto
function fails with osx sed incompatibilities. So it had to be simplified to always start over for next choice.
Its a pita ....

Post Reply