Yes, it worked on Linux, after some tweaking, directly from Gramps, choosing PDF output.
I got it working by starting lualatex with the TeX file generated in a previous session, in my Linux terminal. And by doing that, I could check the errors and warnings, especially those that mentioned missing styles. And I was able to install those styles by adding a selection of the packages that are mentioned on the wiki here:
https://gramps-project.org/wiki/index.php/Addon:GenealogyTree#Linux
This worked for me, because I know how to install those packages, and also feel safe experimenting with these things. And that’s an interactive process, based on trial an error, which is not for everyone.
Anyway, when I got that right, I could do the same from Gramps, and I still can, for a small tree. It still fails when I select myself and 10 generations, because in that case, lualatex stops with an arithmetic overflow, whatever that may mean. I saw it run out of memory with other settings, and in both cases, Gramps still tells me that the PDF can not be found. I’m testing this with 5.1, because I’m not ready to migrate, and will probably skip 5.2 anyway.
My personal conclusion is, that you can use the PDF output, if lualatex is installed with all the required styles, on Linux. And over here. it always failed in Windows, even when I followed the instructions to configure MikTeX in such a way that it would download all missing resources on the fly. And there, the message saying that the PDF wasn’t there came so fast, that I knew that the tool didn’t even start.
I knew that, because I know that it can take a few minutes, even on my high end PC, and on Windows, the error appeared after a few seconds.
And on this PC, the program may even run for a minute or more, before it ends with that arithmetic overflow, or runs out of memory. And in either case, you will not know what happened, because even with Nick’s latest patch, you won’t see what the program actually did.
When I run it in terminal, lualatex produces a lot of output, and as far as I can see, it does not send the error text to the proper channel, being stderr, like it should. And that behavior makes it very difficult to give proper feedback to a ‘normal’ user.