NVil Forum

General Category => NVILL Discussion => Topic started by: rubberDuck on October 10, 2017, 08:09:58 pm

Title: Making NVil run on Linux...
Post by: rubberDuck on October 10, 2017, 08:09:58 pm
Have anyone managed to successfully run NVil under Wine or through a local Mono installation in Linux environment?

What I already tried:
1. Wine: with dotnet40 installation through winetricks (sucks because it requires WINEARCH=win32, so not really useful for production), SlimDX for .NET 4.0.
2. Wine: with .NET 4.0 installed through redistributable MSI package. SlimDX also installed.
3. Same as (1), but with an additional installation of d3d9_43 (through winetricks).
4. Same as (1), but with an additional installation of d3d9 (through winetricks).
5. Ran with Mono in pure Debian environment.
6 .Some more combinations that I can't recall ATM.

The closest I could get to a fully working NVil, is what can be seen on the screenshot below. Pretty much nothing works. UI is does not respond, there are artifacts leaking from the desktop to the main window (if I run NVil in its own window - not the case on the screenshot), viewport is not rendered at all. :(

Title: Re: Making NVil run on Linux...
Post by: kevjon on October 10, 2017, 11:39:17 pm
I like the flat look to the buttons.
Title: Re: Making NVil run on Linux...
Post by: steve on October 11, 2017, 01:53:58 am
I attempted Nvil on linux some time ago, but failed.

Title: Re: Making NVil run on Linux...
Post by: steve on October 11, 2017, 01:57:58 am
I like the flat look to the buttons.

The rounded buttons can be disabled in Nvil via "Edit > Preferences > Colors > Enable visual style" (untick/disable that option and restart Nvil)

The rounded buttons will also be disabled if you have disabled windows service "Themes"

Title: Re: Making NVil run on Linux...
Post by: kevjon on October 11, 2017, 09:06:13 am

The rounded buttons can be disabled in Nvil via "Edit > Preferences > Colors > Enable visual style" (untick/disable that option and restart Nvil)


Thanks for that tip. I just tried and it works well for default interface buttons but not for custom buttons (which is the majority of my interface). No big deal, but the flatter buttons do give the interface a slightly more modern look.

Sorry rubberDuck, back to the topic at hand.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on October 11, 2017, 09:10:38 pm
Sorry rubberDuck, back to the topic at hand.
No problemo. ;)

I attempted Nvil on linux some time ago, but failed.
I wonder if the broken UI is caused by some incompatibility of Wine and .NET 4.0 or is it related to D3D9.

Anyway, I just installed the most recent version of Mono - 5.2.0 SR4 (5.2.0.224) and gave NVil-May-16-17 a go.
Ran it directly from shell via: mono NVil\ 1.0 exe.
Code: [Select]
Unhandled Exception:
System.MissingFieldException: Field 'DigitalFossil.AbstractGraphicWindow.IsSteam' not found.
[ERROR] FATAL UNHANDLED EXCEPTION: System.MissingFieldException: Field 'DigitalFossil.AbstractGraphicWindow.IsSteam' not found.
Title: Re: Making NVil run on Linux...
Post by: steve on October 11, 2017, 09:20:28 pm
For Nvil to run on mono, I believe Nvil would need to be compiled for mono.
I do not think Slimdx is compatible with mono, you would probably need sharpDX.



Title: Re: Making NVil run on Linux...
Post by: rubberDuck on October 11, 2017, 11:30:00 pm
Interesting.
The problem is that SharpDX is a nuget package. I tried running it through nuget.exe (Nuget CLI), but nuget itself won't run at all. Currently testing on Wine with dotnet40 installed through winetricks.
Seems like nuget can't detect mscoree.dll (which is set to 'native' in winecfg):

Code: [Select]
***@debian:~$ wine ~/.wine/drive_c/users/***/Temp/nuget.exe
err:module:import_dll Library mscoree.dll (which is needed by L"C:\\windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorsvw.exe") not found
err:module:LdrInitializeThunk Main exe initialization for L"C:\\windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorsvw.exe" failed, status c0000135
err:service:service_send_command service protocol error - failed to write pipe!
err:module:import_dll Library mscoree.dll (which is needed by L"C:\\users\\***\\Temp\\nuget.exe") not found
err:module:LdrInitializeThunk Main exe initialization for L"C:\\users\\***\\Temp\\nuget.exe" failed, status c0000135

Maybe it will work with .NET 4.0 installed through a redistributable .msi.

Have you already explored this route? Wine with Mono (its windows version http://dl.winehq.org/wine/wine-mono/4.7.1/, not the Linux one) or .NET 4.0 and SharpDX?
Title: Re: Making NVil run on Linux...
Post by: steve on October 12, 2017, 03:36:45 am
I did not explain.
Nvil would probably need to use sharpdx, so Nvil would need to be changed internally to use sharpdx.

I do not see any easy route for Nvil on Linux.


Title: Re: Making NVil run on Linux...
Post by: rubberDuck on October 12, 2017, 12:43:25 pm
Yeah, I guess you're right.  :-\

Well, there are still two years left until Microsoft cuts the extended support of Windows 7. Perhaps during this time Wine community will come up with a better .NET 4.0 and DX compatibility, who knows. I'll keep my fingers crossed for that.
Title: Re: Making NVil run on Linux...
Post by: steve on October 12, 2017, 04:04:04 pm
Whatever happens, win7 is the last MS_windows I will be using, it is just "Software bloat" now. It is only Nvil that has kept me with MS_windows, but for how much longer I do not know.

Title: Re: Making NVil run on Linux...
Post by: steve on October 13, 2017, 08:04:34 am
Thanks for that tip. I just tried and it works well for default interface buttons but not for custom buttons (which is the majority of my interface). No big deal, but the flatter buttons do give the interface a slightly more modern look.

You would need to go with icons. I am using text icons for a custom UI I am building.

Example:-


Title: Re: Making NVil run on Linux...
Post by: kevjon on October 13, 2017, 10:58:36 am
That UI is looking good steve. I'll be interested in seeing it when you've finished.

The text and the square box is a single image file ?

So when creating a new button you only have "show image" checked, "show text" is not checked ?
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on October 13, 2017, 02:29:26 pm
Whatever happens, win7 is the last MS_windows I will be using, it is just "Software bloat" now. It is only Nvil that has kept me with MS_windows, but for how much longer I do not know.
Me too. I'm already running Debian on two machines and the performance, as well as overall user experience, is amazing. Night and day when compared to the time when I had Vista and Seven installed on them. And I consider Seven to be Microsoft's best operating system ever.
I'm holding off with conversion of my workstation to a Linux machine until the end of Seven's lifecycle. There are still a couple of programs that I use which don't have official Linux production builds yet (like Unity - still experimental). But there are only a couple of them left.
---

I'm not an expert in this kind of things, but if IStonia ever decides to port NVil to Linux, then Mono + OpenTK combo might be worth investigating.

Mono compatibility: http://www.mono-project.com/docs/about-mono/compatibility/
Mono class status pages: http://go-mono.com/status/
Mono doesn't support WPF and they have no plans of implementing it. Possible solutions are to use GTK# accross Windows, Linux and OS X systems (http://www.mono-project.com/docs/gui/gtksharp/) or split the UI and use native toolkits for each platform. I've also seen XWT being mentioned as another option (https://github.com/mono/xwt).

OpenTK:
https://github.com/opentk/opentk/
Quote
The Open Toolkit library is a fast, low-level C# binding for OpenGL, OpenGL ES and OpenAL. It runs on all major platforms and powers hundreds of apps, games and scientific research.
Use OpenTK to add cross-platform 3d graphics, audio, compute and haptics to your C# application. Integrate it into your existing user interface or use it standalone without any external dependencies.
Title: Re: Making NVil run on Linux...
Post by: IStonia on October 14, 2017, 10:01:38 am
I don't think I will be able to look into this soon. It is a very huge task.
Title: Re: Making NVil run on Linux...
Post by: kevjon on October 14, 2017, 08:10:20 pm
I've been running Win10 since it was first released. Very happy with it. It runs all my old and new software really well.

Only thing I found slightly annoying about it is that you need to go through and adjust your privacy and advertising settings. There is plenty of info out there on how to do that.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on October 15, 2017, 01:21:28 am
Quote
I don't think I will be able to look into this soon. It is a very huge task.
I understand. I'm not pressing, because for the time being the gain wouldn't probably be worth the effort yet. However please keep it in mind. Perhaps someday when you have nothing more important to do, you'd sit by your workstation and WHAM! Next month we have a brand new NVil on Linux.  :D

I've been running Win10 since it was first released. Very happy with it. It runs all my old and new software really well.

Only thing I found slightly annoying about it is that you need to go through and adjust your privacy and advertising settings. There is plenty of info out there on how to do that.
Hi Kevjon. It's not the speed that is the main problem, but data mining and disclosure of private data to third party affiliates and business partners, whoever they might be. Unless you are running an Enterprise edition (acquirable through volume licensing), you can't turn telemetry completely off as it resets to Basic level. And even the Security setting in Enterprise (lowest telemetry setting in this edition) still sends the data out. It's impossible to know what kind of data gets passed to MS servers without decrypting telemetry packets or analyzing the source code - which is closed of course.

Quote
adjust your privacy and advertising settings
There shouldn't be any advertising software embedded into operating system in the first place. Especially in a system for which people pay. Won't you agree? ::)
Title: Re: Making NVil run on Linux...
Post by: kevjon on October 15, 2017, 08:38:54 am

There shouldn't be any advertising software embedded into operating system in the first place. Especially in a system for which people pay. Won't you agree? ::)

I'd prefer there wasn't but luckily there are plenty of web pages around to show you how to turn it off.
Its embedded in quite a few places within the operating system. https://www.howtogeek.com/269331/how-to-disable-all-of-windows-10s-built-in-advertising/ (https://www.howtogeek.com/269331/how-to-disable-all-of-windows-10s-built-in-advertising/)

I had a quick google and some web pages state that data mining in 7 & 8 is the same as 10.

Anyway, not trying to sell you on the idea of 10.

Back to the topic at hand !
Blender has a linux version.
Title: Re: Making NVil run on Linux...
Post by: kevjon on March 24, 2018, 09:51:51 pm
I was just watching a youtube on Virtual Box https://www.virtualbox.org/ (https://www.virtualbox.org/)

I wonder if this was installed under Linux whether your could run Windows 7/8/10 virtually inside Linux and use Nvil.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on March 25, 2018, 10:30:20 pm
Hi Kevjon.
I don't think this would work. In fact, I'm fairly sure it wouldn't. While with virtualization we can run pretty much all of the current OS'es and their desktop and console applications perfectly well, I have yet to see an example of a modern 3D-enabled program running flawlessly in VirtualBox. There are many problems with 3D acceleration in virtualized environments, which include very little VRAM you can dedicate to the guest system, VRAM clashes and possibility of overwrites, and some more (or so I've read).

Otherwise, we would already have hundreds of YouTube videos showing how well 3D games perform on VirtualBox or other similar software.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on March 28, 2018, 12:11:23 am
Kevjon,

I decided to give it a try, because you never know. :) On VirtualBox 5.2.8 with host extensions installed (2D and 3D acceleration enabled and 256MB VRAM allocated to guest system) and VirtualBox running on Windows 7 Pro host (with the same guest system) I tried the following:

Basic Direct3D support (guest additions installed from safe mode): only 1024x768, slow NVil GUI redraw and poor performance in general. Lots of redraw artifacts (black rectangles of varied dimensions) are appearing on screen during some actions.

Experimental Direct3D support (guest additions installed from safe mode): very slow empty viewport performance (~17-23 fps), but my custom radial menus are working and there are no no visual artifacts appearing anywhere. Same desktop resolution limit for some reason. This is the closest I could get to a working NVil.

Guest additions without Direct3D (installed normally) -OR- guest OS without guest additions installed: SlimDX crashes because of no Direct3D present.

So in both D3D cases, NVil running on a virtualized Win 7 is unsuitable for production. :(

What puzzles me is that when I run Win 7 on my Debian laptop, I can not only choose pretty much any desktop resolution in VirtualBox, but the resolution of guest Windows 7 desktop scales to fit VirtualBox window size. I don't know, perhaps there's some problems with host extensions for Win7.
Title: Re: Making NVil run on Linux...
Post by: kevjon on March 28, 2018, 08:51:03 am
Hi RD

I thought about my suggestion some more and decided even if you had got Nvil running flawlessly with virtual box it doesn't really free you from winodws although it would be a more convenient solution than a dual boot computer.
Title: Re: Making NVil run on Linux...
Post by: miica on June 23, 2018, 06:01:32 am
A heads-up to those who want to give Wine a try,
I been trying to run Nvil at Linux too.. and then I read that 64 bit .NET not working in Wine (https://forum.winehq.org/viewtopic.php?f=2&t=29489).
So we are out of luck  :'(

Edit 29th June 2018:
I have made another attempt with wine, and found that SlimDX installs on wine32 but with problem on wine64, so it's not just .NET.. and I thought maybe I can live with it running on 32 bit system, but after a few days of trying different combination of options, the furthest I can get is still the same as what rubberDuck report on his first post, Nvil runs, displaying UI and freeze.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on June 23, 2018, 09:52:31 pm
Hello,
I have good news and bad news.

Good news is that I just finished a short modelling session in NVil on Debian. Well, sort of... ;)

After reading your post Miica, I decided to give it one more go. This time using a completely different method: with UltraVNC server installed on my current workstation (Windows 7) and TurboVNC client on a 10-years old Debian laptop. The result: success.

On TurboVNC's "Tight+Medium Quality JPEG" preset, the performance feels like something around 30 fps. It may not be lighting fast, but well enough to let me work in NVil without much inconvenience. Additionally, polycount only affects the server computer, so as long as it has some juice left for encoding, or the LAN clogs up, frame rate on the client system will remain stable.
Delay from keypresses and mouse buttons is barely noticeable.

Of course the bad news is that this method still requires a separate Windows machine. Though the server may be configured to run headless.

Title: Re: Making NVil run on Linux...
Post by: miica on June 25, 2018, 08:38:28 am
That's very clever, hahaha.. and I remembered in my previous company, where we have limited 3ds max license, we have one or two machine that we remote into (using Windows Remote Desktop Connection) to use 3ds max, it kinda works, job gets done.

but.. for a single person workflow, I think these are hard to overcome:
1. need to start up and run another machine (this won't be a problem in a company where the machine can be run 24 hours)
2. transfering mesh between Nvil to Maya (I did this a lot, as most of my final mesh edits will be in Maya)

Title: Re: Making NVil run on Linux...
Post by: rubberDuck on August 20, 2018, 09:20:51 pm
Moonlight looks interesting (https://moonlight-stream.com/ (https://moonlight-stream.com/)).

If it's true what they say on their page then it's much faster than Turbo/UltraVNC. And it's also GPL. The caveat is that it restricts you to NVIDIA cards only. I'm also unsure if everything can be streamed with it or just a selection of games.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on September 07, 2018, 02:03:06 pm
I gave Moonlight a try, but it turns out that it requires NVIDIA Geforce Experience software, which in turn requires you to be signed-in to NVIDIA services just to take advantage of streaming. So it's a dead end.


I did some further research on virtualization and found some articles about IOMMU (https://en.wikipedia.org/wiki/Input%E2%80%93output_memory_management_unit) and GPU passthrough.

Passthrough requires both: CPU and motherboard to be IOMMU compatible, a second dedicated video card with GPU ROM that supports UEFI, a second monitor connected to isolated video card, and of course UEFI compatible Windows version that will run as a guest system. So this solution isn't exactly cheap...

I've read that VirtualBox doesn't support passthrough other than USB if I'm not mistaken, so Xen, qemu/kvm or VMware should be used instead.

There's a good article on Arch wiki about setting up PCI passthrough: https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF if someone is interested.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on December 23, 2018, 01:52:42 am
I managed to launch NVil on Wine 3.20 32-bit development version. It works but viewports are super slow so it's not possible to do any actual work. There are also some problems with user interface: slow redraw, "&" characters in menus, some windows (like "Preferences") when opened are pushed into background behind the main NVil window, and fonts are hard to read.

(https://www.dropbox.com/s/gl986c89iyicnub/nvil-wine-320.jpg?dl=1)
Title: Re: Making NVil run on Linux...
Post by: IStonia on February 15, 2019, 12:53:54 pm
Check this info.
https://www.rocket3f.com/kunena/talks/528-working-fine-in-linux
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on February 15, 2019, 02:02:31 pm
Hi IStonia,
Do you think you could ask CarstenHintz to post a guide on how he managed to do it?
Like which WINE version did he use, which DLLs he had to manually replace (and from which sources - MS, winetricks?). In general: what were the steps he had to go through because their order is usually very important when making a program successfully run under WINE.
Title: Re: Making NVil run on Linux...
Post by: IStonia on February 16, 2019, 11:48:54 am
Check the new info.
https://www.rocket3f.com/kunena/talks/528-working-fine-in-linux
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on February 16, 2019, 11:00:08 pm
I read the post, but I had no luck so far.

Installation of dotnet461 via PoL pulls older versions of dotnet (probably as dependencies) and some of them are crashing during installation. The closest I could get to a working NVil today, is broken and unresponsive UI and an error dialog:
(https://www.dropbox.com/s/hau1te9j9v60tmk/Screenshot_2019-02-16_23-25-19.png?dl=1)
This is after installing all dotnet versions from 2.0 to 4.6.2.

After installing only the following: dotnet461, core fonts and SlimDX, NVil doesn't even start:
Code: [Select]
0012:err:module:import_dll Library mscoree.dll (which is needed by L"C:\\windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorsvw.exe") not found
0012:err:module:attach_dlls Importing dlls for L"C:\\windows\\Microsoft.NET\\Framework\\v4.0.30319\\mscorsvw.exe" failed, status c0000135
000f:err:service:process_send_command service protocol error - failed to write pipe!
000f:fixme:service:scmdatabase_autostart_services Auto-start service L"clr_optimization_v4.0.30319_32" failed to start: 1053
0009:err:module:fixup_imports_ilonly mscoree.dll not found, IL-only binary L"NVil 1.0.exe" cannot be loaded
0009:err:module:attach_dlls Importing dlls for L"C:\\NVil\\NVil 1.0.exe" failed, status c0000135
I tried with WINE 3.20, 4.1 and 4.1-staging.
I'm on Debian Buster, with nvidia-driver 390.87-8 amd64 installed.

Perhaps next time I'll try with pure WINE and winetricks.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on February 16, 2019, 11:02:25 pm
By the way, I think adding post attachments is broken:
Quote
An Error Has Occurred!
Cannot access attachments upload path!
Title: Re: Making NVil run on Linux...
Post by: IStonia on February 17, 2019, 12:02:34 am
What is your Linux version? Are you trying to install 32-bit or 64-bit version?

Please check if the attachment upload problem is fixed.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on February 17, 2019, 01:17:41 am
What is your Linux version? Are you trying to install 32-bit or 64-bit version?
Code: [Select]
$ uname -a
Linux 4.19.0-2-amd64 #1 SMP Debian 4.19.16-1 (2019-01-17) x86_64 GNU/Linux
$ wine --version
wine-4.0 (Debian 4.0-1)
$ winetricks --version
20181203 - sha256sum: b4b29a961905bfed1db98f10e2f09a356b719861fc8602ffbf813a22579b2848
I'm currently trying to install NVil on a 32-bit WINEPREFIX.

At the moment I'm facing a problem with SlimDX installation refusing to find DXSETUP.EXE for some reason. However it copies SlimDX.dll to
Code: [Select]
/windows/Microsoft.NET/assembly/GAC_32/SlimDX/v4.0_4.0.13.43__b1b0c32fd1ffe4f9/SlimDX.dllso perhaps it does install even though it claims it failed. Just to be sure, I copied SlimDX.dll to NVil's directory.
When I launch NVil, its window is overstretched horizontally, viewports are blank and the interface does not respond.

(https://www.dropbox.com/s/ol9icdg0q5ghjok/Screenshot_2019-02-17_02-06-13.png?dl=1)

Maybe something else also needs to be installed with winetricks? I don't know.


Quote
Please check if the attachment upload problem is fixed.
There's a different problem now:
Code: [Select]
The attachments upload directory is not writable.  Your attachment or avatar cannot be saved.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on February 17, 2019, 01:37:32 am
Perhaps I should install d3dx9 with winetricks, but apparently cabextract has a problem with the archive:
Code: [Select]
$ WINEPREFIX=~/.wine-nvil32 winetricks d3dx9
Using winetricks 20181203 - sha256sum: b4b29a961905bfed1db98f10e2f09a356b719861fc8602ffbf813a22579b2848 with wine-4.0 (Debian 4.0-1) and WINEARCH=win32
Executing w_do_call d3dx9
Executing load_d3dx9
Executing cabextract -q -d /home/myuser/.wine-nvil32/dosdevices/c:/windows/temp/_d3dx9 -L -F *d3dx9*x86* /home/myuser/.cache/winetricks/directx9/directx_Jun2010_redist.exe
Executing cabextract -q -d /home/myuser/.wine-nvil32/dosdevices/c:/windows/system32 -L -F d3dx9*.dll /home/myuser/.wine-nvil32/dosdevices/c:/windows/temp/_d3dx9/apr2005_d3dx9_25_x86.cab
/home/myuser/.wine-nvil32/dosdevices/c:/windows/temp/_d3dx9/apr2005_d3dx9_25_x86.cab: WARNING; file possibly truncated by 262432 bytes.
/home/myuser/.wine-nvil32/dosdevices/c:/windows/temp/_d3dx9/apr2005_d3dx9_25_x86.cab: no valid cabinets found
------------------------------------------------------
Note: command cabextract -q -d /home/myuser/.wine-nvil32/dosdevices/c:/windows/system32 -L -F d3dx9*.dll /home/myuser/.wine-nvil32/dosdevices/c:/windows/temp/_d3dx9/apr2005_d3dx9_25_x86.cab returned status 1. Aborting.
I already tried purging winetricks cache in ~/.cache/winetricks, to no avail. Cabextract always returns status 1 when it extracts a downloaded copy of directx_Jun2010_redist.exe.

I used a workaround and unpacked this .exe in WINE and ran the installer from there. Then I have overriden all d3dx9_* libraries with "(native, builtin)" in winecfg, but it didn't change anything.
Title: Re: Making NVil run on Linux...
Post by: IStonia on February 17, 2019, 01:53:42 am
He mention this "Linux Mint 18.3". Does it matter?
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on February 17, 2019, 02:18:13 am
It shouldn't. At least not to a point where a Windows program runs perfectly fine on Mint's WINE while at the same time it doesn't work at all on Debian's WINE. Probably something needs to be installed from the repository, or some .dlls overriden with native Windows ones.

After all, Mint is based on Ubuntu (or Debian, in case of LMDE) while Ubuntu is based on Debian.
Title: Re: Making NVil run on Linux...
Post by: IStonia on February 17, 2019, 04:22:46 am
At the moment I'm facing a problem with SlimDX installation refusing to find DXSETUP.EXE for some reason. However it copies SlimDX.dll to
Code: [Select]
/windows/Microsoft.NET/assembly/GAC_32/SlimDX/v4.0_4.0.13.43__b1b0c32fd1ffe4f9/SlimDX.dllso perhaps it does install even though it claims it failed.

SlimDX installation is not just installing SlimDX.dll. The installation failing message means something is missing and the related installation did not happen.

Try installing "Visual C++ Redistributable 2010".
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on February 18, 2019, 02:08:06 pm
Try installing "Visual C++ Redistributable 2010".
I installed it, but unfortunately it didn't change anything.SlimDX still throws an error (even though it later says the installation has completed):
(https://www.dropbox.com/s/b5qdno3t6ahef1m/Screenshot_2019-02-17_11-43-27.png?dl=1)


"Yes" button takes me here:
https://docs.microsoft.com/en-us/dotnet/framework/deployment/initialization-errors-managing-the-user-experience?version=(null)&processName=DXSETUP.exe&platform=0000&osver=2&isServer=0&shimver=4.0.30319.0 (https://docs.microsoft.com/en-us/dotnet/framework/deployment/initialization-errors-managing-the-user-experience?version=(null)&processName=DXSETUP.exe&platform=0000&osver=2&isServer=0&shimver=4.0.30319.0)


I downloaded and ran netfx_setupverifier tool to check if maybe .NET is not installed correctly, but the tool says it's ok.

Here are my steps so far: https://github.com/ajz3d/wine-nvil/blob/master/wine-nvil.sh (https://github.com/ajz3d/wine-nvil/blob/master/wine-nvil.sh)
Title: Re: Making NVil run on Linux...
Post by: IStonia on February 18, 2019, 06:01:52 pm
Have you installed DirectX9?
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on February 21, 2019, 05:40:15 pm
(https://www.dropbox.com/s/zopmby3x2f464bg/nvil-debian-testing.png?dl=1)

Success!

In the end, I used PlayOnLinux with Wine 3.20 (32-bit) and the following additional components:
(In that order)

Then I installed SlimDX 32-bit.

It's running ok, but not flawless. Frame rate is excellent, but there are several minor problems that I have noticed:

There were at least two reasons why I think NVil didn't want to work on my system before.

Winetricks, contrary to PoL, uses cabextract to retrieve selected files from cabinet archives (-F option). Current version of cabextract available in Debian Buster (testing) repository uses libmspack 0.8-1 which has a regression related to -F (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=912687). It is solved in libmspack 0.9.1-1, but for now it is only available in repository of Debian Sid (unstable).

This bug broke installation of d3dx9 in pure WINE+winetricks. I tried to install d3dx9 manually via dxsetup.exe and while it installed successfully, something was still wonky.

At some point I have noticed that I didn't have i386 version of nvidia drivers installed on my multiarch Debian. I solved this by installing nvidia-driver-libs-i386.

So, next goal is to run NVil under 64-bit wineprefix. This is going to be much harder.
Title: Re: Making NVil run on Linux...
Post by: kevjon on April 27, 2019, 10:31:10 pm
Chris Titus https://youtu.be/lI09QLkqZiE (https://youtu.be/lI09QLkqZiE) has started running a series of videos on getting windows programs running under linux, it may be of interest and he may touch on the how to solve the remaining issues you are experiencing in future videos. He uses Debian 10 (Buster) with the 5.0 kernel.

I just tried on Mint 19 following Carstens advice using 32 bit slimdx.
I only installed MS core fonts and dotnet461 and got the same results as you with regard to menus, splash screen & radial menus. Installing vcrun10 or dx9 made no difference.

I could not get the 64 bit version to work at all. It might be worth buying CrossOver https://www.codeweavers.com/products (https://www.codeweavers.com/products) which is the paid for version of Wine and it may resolve the 32bit or 64bit problem.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on July 18, 2019, 03:37:21 pm
Enabling AA turned out to be quite easy. I had to add the following DWORD to "Windows" registry:
Code: [Select]
HKEY_CURRENT_USER->Software->Wine->Direct3D->SampleCountand set it to 2, 4, 8, 16 or 32. The disadvantage is that HUD fonts become slightly blurry.

More info: https://wiki.winehq.org/Useful_Registry_Keys (https://wiki.winehq.org/Useful_Registry_Keys)
Title: Re: Making NVil run on Linux...
Post by: DevinSep on October 01, 2019, 11:37:56 am
Does this line disable AA for all the apps running or just NVil?
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on October 01, 2019, 04:42:22 pm
It doesn't disable anti-aliasing. It enables it for the whole WINEPREFIX, so it should affect all programs that you have installed in it.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on April 22, 2020, 08:19:23 am
I tried to create a new 32-bit wineprefix for NVil by following the list of winetricks verbs that I once posted (http://digitalfossils.com/nvil-forum//index.php?topic=4451.25#msg17858), but starting NVil always ends up with:
Code: [Select]
002d:err:ole:CoGetContextToken apartment not initialised
and the interface looking like in this post (http://digitalfossils.com/nvil-forum//index.php?topic=4451.25#msg17847).
I tried many combinations of various dotnetxx verbs to no avail.
Dotnet40 by itself isn't sufficient, because SlimDX installation will fail with the following error message:
Code: [Select]
DXSETUP.EXE - .NET Framework Initialization
Unable to find a version of the runtime to run this application.
Installing dotnet3x seems to solve this.

If anyone is able to run NVil on a 32-bit wineprefix, and can reproduce a working installation every time, please post your Wine version and the list of winetricks verbs that you use. Thanks.
Title: Re: Making NVil run on Linux...
Post by: kevjon on July 26, 2020, 12:50:15 am
Nvil (32 bit) is now working Ok for me with Play on Linux and wine 5.13. Must have been some recent updates to wine which has made it go from not being able to generate the interface to working Ok.

It does have black bars top and bottom of the splash screen and ampersands after all the menu items but apart from that seems to run Ok on my initial tests of running a few commands on a cube.

Nvil (64 bit) still crashes though
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on July 29, 2020, 08:56:25 am
Kevjon, did you have to install any additional components (like dotnet46, d3dx9, etc.), or does it work with Mono now?
Last time I tried to run NVil on Wine 5.5 (development) I couldn't get it to work at all.
Title: Re: Making NVil run on Linux...
Post by: kevjon on July 30, 2020, 09:53:29 am
RD

I just did a clean 32bit install in play on linux with a new virtual drive and it works without any additional components installed or fonts. I did install slimdx x86 of course into the virtual drive.

I am using Solus Budgie with kernel 4.9.227-160.lts
I also am using AMD RX580 graphic card which uses the kernel drivers rather than AMD's proprietary drivers.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on August 05, 2020, 07:06:06 pm
I just did a clean 32bit install in play on linux with a new virtual drive and it works without any additional components installed or fonts. I did install slimdx x86 of course into the virtual drive.

I am using Solus Budgie with kernel 4.9.227-160.lts
I also am using AMD RX580 graphic card which uses the kernel drivers rather than AMD's proprietary drivers.
Thanks. So it works with just Mono now, that's good news.
I just launched NVil on Wine 5.13/PoL and indeed it runs smoothly, though I need to test it more.
I'll give 64-bit version a try once Wine 5.13 amd64 shows up in PoL downloads.
Title: Re: Making NVil run on Linux...
Post by: kevjon on August 06, 2020, 02:21:10 am
I have found that radial menus cause objects to disappear momentarily and after using a radial menu short cut keys get stuck till you hit them again.

You can probably work around this issue with hot windows rather than radial menus. I need to test further.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on August 06, 2020, 12:28:45 pm
Yeah, the problem with brief disappearance of the scene caused by radial menus is something that I've been seeing since Wine 3.20. It's very annoying, so I had to completely rebuild my config by moving stuff from radial menus to User Tool Windows.

I don't use hot windows anymore because they cause the viewport to blink. Also, on several occasions I saw hot windows breaking and not being rendered again until I restart NVil.

Does NVil crash your PoL wineprefix when you try to exit the program? NVil saves config changes on exit, so the crash (which happens every time), makes it impossible to save user preferences.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on August 06, 2020, 12:37:53 pm
Here's the output of PoL debugger:
Code: [Select]
=================================================================
    Native Crash Reporting
=================================================================
Got a UNKNOWN while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================

=================================================================
    Managed Stacktrace:
=================================================================
      at <unknown> <0xffffffff>
      at NtDll:NtQueryDirectoryFile <0x00012>
      at System.IO.Enumeration.FileSystemEnumerator`1:FindNextEntry <0x000b7>
      at System.IO.Enumeration.FileSystemEnumerator`1:MoveNext <0x001a7>
      at System.Collections.Generic.LargeArrayBuilder`1:AddRange <0x00115>
      at System.Collections.Generic.EnumerableHelpers:ToArray <0x00167>
      at System.IO.MonoLinqHelper:ToArray <0x00037>
      at System.IO.DirectoryInfo:GetFiles <0x00067>
      at System.IO.DirectoryInfo:GetFiles <0x00037>
      at System.IO.DirectoryInfo:GetFiles <0x00063>
      at DigitalFossil.AnimationDesign.AnimationDesignGraphicWindow:OnClosing <0x003e3>
      at System.Windows.Forms.Form:OnClosing <0x0007a>
      at System.Windows.Forms.Form:WmClose <0x00351>
      at System.Windows.Forms.Form:WndProc <0x00257>
      at DigitalFossil.AnimationDesign.AnimationDesignForm:WndProc <0x0006f>
      at ControlNativeWindow:OnMessage <0x0002f>
      at ControlNativeWindow:WndProc <0x00136>
      at System.Windows.Forms.NativeWindow:Callback <0x000cc>
      at System.Windows.Forms.NativeWindow:Callback <0x00067>
      at <unknown> <0xffffffff>
      at DevExpress.Utils.Win.Hook.ControlWndHook:CallWindowProc <0x00012>
      at DevExpress.Utils.Win.Hook.ControlWndHook:WindowProc <0x000df>
      at DevExpress.Utils.Win.Hook.ControlWndHook:WindowProc <0x00067>
      at <unknown> <0xffffffff>
      at System.Windows.Forms.UnsafeNativeMethods:CallWindowProc <0x00012>
      at System.Windows.Forms.NativeWindow:DefWndProc <0x000af>
      at System.Windows.Forms.NativeWindow:DefWndProc <0x00073>
      at System.Windows.Forms.Control:DefWndProc <0x0002f>
      at System.Windows.Forms.Form:DefWndProc <0x0013f>
      at System.Windows.Forms.Control:WndProc <0x004f6>
      at System.Windows.Forms.ScrollableControl:WndProc <0x0007b>
      at System.Windows.Forms.ContainerControl:WndProc <0x0004b>
      at System.Windows.Forms.Form:WmSysCommand <0x001e7>
      at System.Windows.Forms.Form:WndProc <0x00383>
      at DigitalFossil.AnimationDesign.AnimationDesignForm:WndProc <0x0006f>
      at ControlNativeWindow:OnMessage <0x0002f>
      at ControlNativeWindow:WndProc <0x00136>
      at System.Windows.Forms.NativeWindow:Callback <0x000cc>
      at System.Windows.Forms.NativeWindow:Callback <0x00067>
      at <unknown> <0xffffffff>
      at DevExpress.Utils.Win.Hook.ControlWndHook:CallWindowProc <0x00012>
      at DevExpress.Utils.Win.Hook.ControlWndHook:WindowProc <0x000df>
      at DevExpress.Utils.Win.Hook.ControlWndHook:WindowProc <0x00067>
      at <unknown> <0xffffffff>
      at System.Windows.Forms.UnsafeNativeMethods:DispatchMessageW <0x00012>
      at ComponentManager:System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop <0x006ab>
      at ThreadContext:RunMessageLoopInner <0x00749>
      at ThreadContext:RunMessageLoop <0x0005b>
      at ThreadContext:RunMessageLoop <0x00087>
      at System.Windows.Forms.Application:DoEvents <0x0003b>
      at DigitalFossil.AnimationDesign.StartForm:Run_InMainThread <0x000f7>
      at DigitalFossil.AnimationDesign.StartForm:Run_InMainThread <0x00063>
      at DigitalFossil.AnimationDesign.StartForm:Main <0x02453>
      at <Module>:runtime_invoke_void_object <0x0006c>
=================================================================
wine: Unhandled page fault on read access to 00000000 at address 00000000 (thread 0024), starting debugger...
winedbg: Internal crash at 0x7bc25319
Title: Re: Making NVil run on Linux...
Post by: kevjon on August 08, 2020, 11:03:56 pm
I customised the interface by adding a button with the command "open box tool" to usertools1 window. Checked that it worked then closed Nvil.

When I restarted Nvil the button and window was still there.

When I started Nvil in PoL with the Debug Option it did not show any errors on closing it down.

Quote
I'll give 64-bit version a try once Wine 5.13 amd64 shows up in PoL downloads.
I know at the moment I cannot get the 64 bit version of Nvil working as Slimdx64 is looking for dotnet4.0 and I cannot install that with PoL in a 64 bit virtual drive. Presumably someone needs to write a 64 bit version of dotnet4.0. Will amd64 solve that ?
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on August 09, 2020, 11:37:20 am
I see. Hmm, perhaps it's the proprietary nvidia-driver that crashes wineprefix on my end. Everything is possible with closed source software.

Regarding 64-bit, what I meant is running NVil with Mono 64-bit instead of dotnet4x. 64-bit version of Wine 5.13 is still unavailable in PoL, so I guess we can't try this path yet.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on August 09, 2020, 04:27:31 pm
So, IStonia implemented a command for saving user settings on demand, which will be handy regardless of whether one runs NVil on Windows or Wine:
http://digitalfossils.com/nvil-forum//index.php?topic=4977.msg18439#new (http://digitalfossils.com/nvil-forum//index.php?topic=4977.msg18439#new)

I tested this command on dotnet4x and Mono PoL wineprefixes, and it crashes big time on the latter. Might be something with how Mono handles serialization functions used by dotnet to dump program's configuration to XML files. I only wonder why it doesn't crash on your machine. Maybe your wineprefix uses a different Mono version?

Could you please run find -iname "wine-mono*" in your wineprefix path and post the output of this command? It should be something like:
Code: [Select]
/home/***/.PlayOnLinux/wineprefix/nvil32_mono/drive_c/users/***/Local Settings/Temporary Internet Files/Content.IE5/9G05QPLX/wine-mono-5.1.0-x86
Title: Re: Making NVil run on Linux...
Post by: kevjon on August 10, 2020, 12:16:12 am
Hi RD

When I search using this command
find /home/****/.PlayOnLinux/wineprefix/Nvilx32 -iname "wine-mono*"
Note: I used my username rather than asterisks in the path.

"wine-mono*" is not coming up with anything

I checked I was using the find command correctly by searching for other files in the Wineprefix and it found those files Ok.

BTW On the same computer I have Nvil 32 bit running in PopOS 2004. I did however have to install Dotnet40 with PoL to install slimdx. I was able to save customise changes Ok in this one also. I ran find on its wineprefix for "wine-mono*" and it also came up with nothing.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on August 10, 2020, 12:10:43 pm
Okay, thanks.
I have just created a Wine 5.13 Staging wineprefix and saving preferences doesn't crash NVil anymore.  8)
Must have been something with vanilla 5.13 which my system didn't like.
Title: Re: Making NVil run on Linux...
Post by: kevjon on August 10, 2020, 01:36:02 pm
Good news RD

In PopOS 2004 I now have Nvil working in a 64bit wine prefix using system wine which is 5.0

I grabbed the DirectX9.0c installer from an old game (IL2) and installed that with PoL. (I couldn't get the web installer to work when downloaded from microsoft as it looks for the required Microsoft OS)
I downloaded DotNet4.0 x64 package from Microsoft and installed that with PoL
I then installed slimdx64 with PoL
Installed Corefonts & Tahoma from PoL

It has the same issues as the 32 bit versions, black bars on splash, menu ampersands, radial menu temporarily causes objects to disappear etc
It is also saving my config changes without issues.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on August 10, 2020, 04:09:20 pm
Whaaat!? :o
But... these are fantastic news! In fact, this is a real goddamn breakthrough! :D

I'm going to try it myself ASAP. But first, can you post the sha256sum of your DirectX9.0c redistributable installer? I'm not sure if I have the same one. Mine is from June 2010 and I think I got it from Microsoft website, so I suspect it won't work(?):
Code: [Select]
8746ee1a84a083a90e37899d71d50d5c7c015e69688a466aa80447f011780c0d  directx_Jun2010_redist.exe
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on August 10, 2020, 04:28:19 pm
All right, I followed your steps (on Wine 5.0-4), but SlimDX complains that it is:
Code: [Select]
Unable to find a version of the runtime to run this application.It is unable to find .NET Framework, which I have just installed from:
Code: [Select]
65e064258f2e418816b304f646ff9e87af101e4c9552ab064bb74d281c38659f  dotNetFx40_Full_x86_x64.exeDid you override any libraries in wineprefix configuration before installing SlimDX? mscoree perhaps?
Title: Re: Making NVil run on Linux...
Post by: kevjon on August 11, 2020, 10:17:43 am
I used the same one directx_Jun2010_redist.exe (I don't know what the sha is as I copied it from CD of game)

Yep that is the one I used dotNetFx40_Full_x86_x64.exe

Quote
Did you override any libraries in wineprefix configuration before installing SlimDX? mscoree perhaps?
No

I tried to recreate the same steps on Solus in a 64bit wineprefix without luck. From the PoL debug menu it appears that Slimdx did not install correctly and Solus would not allow me to install dotNetFx40_Full_x86_x64.exe. It kept saying there is a newer one installed even though I created a new 64 bit wineprefix and didn't install any dotnet files from PoL.

Solus does have an older kernel than Pop.

What is the best way to tell the difference between 32 bit or 64 bit in Nvil. Is it opening a certain amount of faces or exporting a certain amount of faces ?
I'd like to see if the 64 bit install is actually doing something the 32 bit version can't do or all as I have actually done is install a 32 bit version of Nvil on 64 bit wine prefix.

BTW I've been doing these tests on PoP and Solus as both are highly rated distros for people trying to get their windows games to work on linux
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on August 11, 2020, 12:40:58 pm
Quote
I don't know what the sha is as I copied it from CD of game
You can calculate SHA256 hash of any file by running:
Code: [Select]
sha256sum FILE
Quote
Quote
Did you override any libraries in wineprefix configuration before installing SlimDX? mscoree perhaps?
No
That's odd, because unless you're installing dotnet with winetricks (or PoL's "Install Components") then I believe you need to change at least mscoree to native first, or otherwise wineprefix won't use the installed .NET DLLs. This is how I understand it.
Quote
I tried to recreate the same steps on Solus in a 64bit wineprefix without luck. From the PoL debug menu it appears that Slimdx did not install correctly and Solus would not allow me to install dotNetFx40_Full_x86_x64.exe. It kept saying there is a newer one installed even though I created a new 64 bit wineprefix and didn't install any dotnet files from PoL.
The reason you cannot install dotNetFx40_Full_x86_x64.exe on your Solus 64-bit wineprefix might be that PoL automatically installs Mono if it is already downloaded. And you can't have both: dotnet and mono installed at the same time as dotnet installer will complain that there's already a current version of .NET present on the system.

When you create a wineprefix with PoL, it checks if there's a mono installer in ~/.cache/wine and uses it. Therefore, if you plan on installing dotnet, temporarily move those installers somewhere else before creating the wineprefix.

If you see drive_c/windows/mono directory in your wineprefix, then it's an indication that Mono is installed (unless the directory is empty, of course).
Quote
What is the best way to tell the difference between 32 bit or 64 bit in Nvil. Is it opening a certain amount of faces or exporting a certain amount of faces ?
I'd like to see if the 64 bit install is actually doing something the 32 bit version can't do or all as I have actually done is install a 32 bit version of Nvil on 64 bit wine prefix.
I don't know what the best way is, but you could try creating some geometry and subdivide it until a dialog window pops up telling you that NVil has just run out of memory. The dialog will display OutOfMemoryException or something like that. You can keep a memory monitoring program open to see how the memory allocated to NVil 1.0 grows on each subdivision. The out of memory exception should pop up once you reach ~2.5-3 GB of RAM, though it might also crash without showing the dialog. If it doesn't, and you are able to subdivide further, much beyond 3 GB and up to your maximum RAM, then you're running a 64-bit version.
Title: Re: Making NVil run on Linux...
Post by: kevjon on August 12, 2020, 11:51:43 am
Quote
8746ee1a84a083a90e37899d71d50d5c7c015e69688a466aa80447f011780c0d  directx_Jun2010_redist.exe
Its the same sha256sum (thanks for the tip on how to find out)

Quote
The reason you cannot install dotNetFx40_Full_x86_x64.exe on your Solus 64-bit wineprefix might be that PoL automatically installs Mono if it is already downloaded. And you can't have both: dotnet and mono installed at the same time as dotnet installer will complain that there's already a current version of .NET present on the system.

When you create a wineprefix with PoL, it checks if there's a mono installer in ~/.cache/wine and uses it. Therefore, if you plan on installing dotnet, temporarily move those installers somewhere else before creating the wineprefix.
Thanks, Following this tip allowed me to install MSDotNet4 on Solus in 64 bit prefix.
Nvil ran but there were a lot of fixme errors in the debug menu.

I subdivided a cube a lot but could not get the memory above 1.8GB. Subdividing is heavy on CPU usage. Eventually Nvil crashed with
"Unhandled exception: 0xe0434352 in 32-bit code (0x7b02adf0)"
I suspect this means it is actually running in 32 bit mode on 64 bit prefix.

Anyway next weekend I'll do some work in the 64 bit prefix version on PoP and see how stable it is.
Title: Re: Making NVil run on Linux...
Post by: kevjon on August 16, 2020, 11:18:41 am
I've added gdiplus from PoL to my wine setup and it helps the interface to run smoother and cures the weird display issues with the View>Display>Show Viewport buttons
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on August 16, 2020, 12:15:33 pm
Nice find, Kevjon! It seems that it also fixes issues with splash image and docked user tool windows (UTWs).

Without gdiplus, buttons of top-docked UTWs were rendered incorrectly after UI initialization, and I had to refresh them either by hovering the cursor over all buttons or resizing the program window.

I tested the above on wineprefix with mono.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on January 28, 2021, 06:12:03 pm
Ok, something must have changed either in NVil or in Wine because gdiplus no longer helps as much as it did before. Splash screen again contains black borders and from time to time NVil throws an exception:
Code: [Select]
See the end of this message for details on invoking \njust-in-time (JIT) debugging instead of this dialog box.\n\n************** Exception Text **************\nSystem.InvalidOperationException: The operation is invalid [GDI+ status: Win32Error]
  at System.Drawing.GDIPlus.CheckStatus (System.Drawing.Status status) [0x0020c] in <4e5326be950f45168a17e3e7e065db24>:0
  at System.Drawing.Graphics.DrawImage (System.Drawing.Image image, System.Int32 x, System.Int32 y, System.Int32 width, System.Int32 height) [0x00025] in <4e5326be950f45168a17e3e7e065db24>:0
  at System.Drawing.Graphics.DrawImage (System.Drawing.Image image, System.Drawing.Rectangle rect) [0x0002c] in <4e5326be950f45168a17e3e7e065db24>:0
  at (wrapper remoting-invoke-with-check) System.Drawing.Graphics.DrawImage(System.Drawing.Image,System.Drawing.Rectangle)
  at System.Windows.Forms.PictureBox.OnPaint (System.Windows.Forms.PaintEventArgs pe) [0x00097] in <4b7d326f792d4378bd436300c6961411>:0
  at System.Windows.Forms.Control.PaintWithErrorHandling (System.Windows.Forms.PaintEventArgs e, System.Int16 layer) [0x00043] in <4b7d326f792d4378bd436300c6961411>:0
  at System.Windows.Forms.Control.WmPaint (System.Windows.Forms.Message& m) [0x00219] in <4b7d326f792d4378bd436300c6961411>:0
  at System.Windows.Forms.Control.WndProc (System.Windows.Forms.Message& m) [0x003cb] in <4b7d326f792d4378bd436300c6961411>:0
  at System.Windows.Forms.Control+ControlNativeWindow.OnMessage (System.Windows.Forms.Message& m) [0x00001] in <4b7d326f792d4378bd436300c6961411>:0
  at System.Windows.Forms.Control+ControlNativeWindow.WndProc (System.Windows.Forms.Message& m) [0x000b3] in <4b7d326f792d4378bd436300c6961411>:0
  at System.Windows.Forms.NativeWindow.Callback (System.Windows.Forms.Message& m) [0x00025] in <4b7d326f792d4378bd436300c6961411>:0

\n************** Loaded Assemblies **************\nmscorlib\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/4.5/mscorlib.dll\n----------------------------------------\nNvil 1.0\n    Assembly Version: 2.3.7661.27908\n    Win32 Version: 2.3.7661.27908\n    CodeBase: file:///C:/nvil/Nvil%201.0.exe\n----------------------------------------\nWorkShop\n    Assembly Version: 2.3.7661.27803\n    Win32 Version: 2.3.7661.27803\n    CodeBase: file:///C:/nvil/WorkShop.dll\n----------------------------------------\nBasicD3DClasses\n    Assembly Version: 2.3.7661.27793\n    Win32 Version: 2.3.7661.27793\n    CodeBase: file:///C:/nvil/BasicD3DClasses.dll\n----------------------------------------\nCharacterClasses\n    Assembly Version: 2.3.7661.27790\n    Win32 Version: 2.3.7661.27790\n    CodeBase: file:///C:/nvil/CharacterClasses.dll\n----------------------------------------\nSystem.Windows.Forms\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Windows.Forms/4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll\n----------------------------------------\nSystem\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System/4.0.0.0__b77a5c561934e089/System.dll\n----------------------------------------\nSystem.Drawing\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Drawing/4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll\n----------------------------------------\nAccessibility\n    Assembly Version: 4.0.0.0\n    Win32 Version: \n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/Accessibility/4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll\n----------------------------------------\nDevExpress.Utils.v10.2\n    Assembly Version: 10.2.4.0\n    Win32 Version: 10.2.4.0\n    CodeBase: file:///C:/nvil/DevExpress.Utils.v10.2.dll\n----------------------------------------\nDevExpress.XtraBars.v10.2\n    Assembly Version: 10.2.4.0\n    Win32 Version: 10.2.4.0\n    CodeBase: file:///C:/nvil/DevExpress.XtraBars.v10.2.dll\n----------------------------------------\nDevExpress.Data.v10.2\n    Assembly Version: 10.2.4.0\n    Win32 Version: 10.2.4.0\n    CodeBase: file:///C:/nvil/DevExpress.Data.v10.2.dll\n----------------------------------------\nDevExpress.XtraEditors.v10.2\n    Assembly Version: 10.2.4.0\n    Win32 Version: 10.2.4.0\n    CodeBase: file:///C:/nvil/DevExpress.XtraEditors.v10.2.dll\n----------------------------------------\nSystem.Data\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Data/4.0.0.0__b77a5c561934e089/System.Data.dll\n----------------------------------------\nSystem.Xml\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Xml/4.0.0.0__b77a5c561934e089/System.Xml.dll\n----------------------------------------\nSlimDX\n    Assembly Version: 4.0.13.43\n    Win32 Version: \n    CodeBase: file:///C:/windows/Microsoft.NET/assembly/GAC_32/SlimDX/v4.0_4.0.13.43__b1b0c32fd1ffe4f9/SlimDX.dll\n----------------------------------------\nSystem.Core\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Core/4.0.0.0__b77a5c561934e089/System.Core.dll\n----------------------------------------\nSystem.Configuration\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Configuration/4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll\n----------------------------------------\nSystem.Numerics\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Numerics/4.0.0.0__b77a5c561934e089/System.Numerics.dll\n----------------------------------------\nSystem.ComponentModel.TypeConverter\n    Assembly Version: 4.1.0.0\n    Win32 Version: 4.0.0.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/4.5/Facades/System.ComponentModel.TypeConverter.dll\n----------------------------------------\nSystem.Management\n    Assembly Version: 4.0.0.0\n    Win32 Version: 4.6.57.0\n    CodeBase: file:///C:/windows/mono/mono-2.0/lib/mono/gac/System.Management/4.0.0.0__b03f5f7f11d50a3a/System.Management.dll\n----------------------------------------\n\n************** JIT Debugging **************\n

I'm currently running NVil on Wine 6.0 via Mono because my other (older) NVil wineprefixes stopped working for some reason.
Title: Re: Making NVil run on Linux...
Post by: kevjon on January 29, 2021, 09:15:27 am
Have you tried creating a new wineprefix for Nvil and changing your POL installed wine versions to 5.12 or 5.13 ?
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on January 29, 2021, 12:15:07 pm
I didn't try creating new 5.13 wineprefixes because NVil 32-bit on Wine 6.0 (Mono) works fine so far, but I had to reinstall the prefix without gdiplus of course (because of the exception I mentioned).

My two old wineprefixes are based on 5.13 (Mono) and 5.13 (.NET 4.0) and they stopped working in a sense that fonts disappeared from all UI elements, except for menus and HUD. All other GUI elements (buttons, Scene Hierarchy, even the popup notifying about updates) are without text, which is strange, because I did not change anything at all in those prefixes.

Sadly, the 64-bit NVil version still fails to run, even on Wine 6.0. I think we will never be able to successfully set it up (not while NVil is based on .NET 4.0 and SlimDX). This slowly starts pushing me away from the program toward other software.
Title: Re: Making NVil run on Linux...
Post by: kevjon on January 29, 2021, 01:07:26 pm
If you want to use Linux, blender is about your only option.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on January 29, 2021, 02:05:34 pm
Yes, this might be. Of course there's also Modo, but its price is ludicrous if one looks only for a dedicated modeling solution.

Because it's a pain to work with a dense geometry in NVil via Wine, due to memory limit imposed by a 32-bit architecture, for the last couple of months I found myself spending more time with Blender than with NVil when doing traditional modeling.

Unfortunately, while Blender is a great DCC suite and I use it for many tasks, I find its modeling tools not as streamlined and fast to work with as NVil's. Let's just say that they're not exactly the Zen of modeling I'm used to thanks to NVil.
Title: Re: Making NVil run on Linux...
Post by: rubberDuck on August 25, 2021, 09:18:15 pm
Success! I finally got NVil x64 up and running using Lutris:
https://github.com/ajz3d/lutris-nvil-installation-scripts (https://github.com/ajz3d/lutris-nvil-installation-scripts)
Title: Re: Making NVil run on Linux...
Post by: chikega on August 31, 2021, 05:42:58 am
Is NVil written in C#? I'm just assuming since it runs on the .Net framework. I know there a few other languages than run on the .Net framework, but C# is the most popular. With .Net 5 and 6, it appears that making an application cross-platform would be more approachable, n'est-ce pas? :)