Daz Studio and Linux

1454648505154

Comments

  • I was just about to create a comment here because my dForce wasn't working and I thought I had to downgrade to driver 520 like @holzkohlen suggested, but I just figured my issue out myself:

    My Specs:
    Up-to-date Fedora 37
    GPU: RTX3080
    Nvidia Driver Version: 525.60.11
    - I did the nvidia-libs install as suggested by the kind gentleman further up in this thread and the GPU showed up in the render settings, but didn't in the dForce settings.

    My Fix was to remove everything opencl related so the nvidia-driver's opencl gets to be "first in line" (at least that's what I think the issue is).
    I recently switched back from AMD to Nvidia (unrelated AMD driver issues with blender) so I had some mesa packages still installed.

    So I removed everything opencl related except:

    [joni@linuxjoni02 ~]$ sudo dnf list --installed | grep -i opencl
    opencl-filesystem.noarch                             1.0-16.fc37                         @fedora                                                   
    wine-opencl.i686                                     7.22-2.fc37                         @updates                                                  
    wine-opencl.x86_64                                   7.22-2.fc37                         @updates

     

    DAZ overall works great on Linux for me and I'm happy to be able to work with it again on my Nvidia GPU.

  • IceCrMnIceCrMn Posts: 2,129

    On my opensuse "tumbleweed" install everything more or less worked out of the box.

    I used zypper to install wine-staging

    then I ran wine winecfg in konsole.

    and set the deafult windows version to WIndows 10.

    Then I downloaded DIM from the daz site, right clicked it and selected open with wine.

    Wine then installed DIM for me. No problems.

    Starting up DIM for the first time I left everything at default to see how it would go.

    It wanted to install the "default sets" so I clicked ok, and let it go.

    It installed them just fine, no problems.

    It even put an DS icon in the desktop for me.

    Clicking it starts up DS just fine, no problems.

    Smart content worked right out of the box.

    No GPU shows in the Render Settings pane though.

    So CPU only for rendering, and dforce doesn't work.

    Tumbleweed is currently on nvidia driver 525.60.11.

    I could probably downgrade the driver to 517 and get it going, just haven't fiddled with it yet.

    note: I never got this far with my gentoo system.

     

    tl;dr

    opensuse tumbleweed using wine-staging Studio and Smart Content install with no issues or extra configuration and function correctly.

    Only problem; GPU not getting used but is detected.

  • IceCrMn said:

    On my opensuse "tumbleweed" install everything more or less worked out of the box.

    I used zypper to install wine-staging

    then I ran wine winecfg in konsole.

    and set the deafult windows version to WIndows 10.

    Then I downloaded DIM from the daz site, right clicked it and selected open with wine.

    Wine then installed DIM for me. No problems.

    Starting up DIM for the first time I left everything at default to see how it would go.

    It wanted to install the "default sets" so I clicked ok, and let it go.

    It installed them just fine, no problems.

    It even put an DS icon in the desktop for me.

    Clicking it starts up DS just fine, no problems.

    Smart content worked right out of the box.

    No GPU shows in the Render Settings pane though.

    So CPU only for rendering, and dforce doesn't work.

    Tumbleweed is currently on nvidia driver 525.60.11.

    I could probably downgrade the driver to 517 and get it going, just haven't fiddled with it yet.

    note: I never got this far with my gentoo system.

     

    tl;dr

    opensuse tumbleweed using wine-staging Studio and Smart Content install with no issues or extra configuration and function correctly.

    Only problem; GPU not getting used but is detected.

     

    Did you install nvidia libs and DXVK into your wine prefix like suggested a few pages back?

  • IceCrMnIceCrMn Posts: 2,129

    No I haven't.

    After having used DS on opensuse for a few days I discovers that dforce is actually working.

    The only thing I'm missing is GPU acceleration for iray renders.

    Everything else "just worked".

    Not sure what nvidia-libs I need or what  DXVK is, I'll have a look what opensuse offers for those.

  • IceCrMnIceCrMn Posts: 2,129

    Installed DXVK and ran the shell script in /usr/libexec/dxvk/bin/

    to install it to my wine prefix. My GPU still isn't showing in DS.
  • IceCrMnIceCrMn Posts: 2,129

    Here's a screenshot of my winecfg and of my zypper search for "nvidia".

    On opensuse there isn't an "nvidia-libs package that I can find.

    I think that the "Compute" package provides for all of them, though I'm not sure.

    Thank you for your help.

    Screenshot_20221229_192439.png
    675 x 763 - 101K
    txt
    txt
    zypperSearch.txt
    4K
  • IceCrMnIceCrMn Posts: 2,129

    Seeing this in the log;

    2022-12-29 17:31:36.336 [WARNING] :: ..\..\..\..\..\src\pluginsource\DzIrayRender\dzneuraymgr.cpp(377): Iray [ERROR] - GPU:RENDER ::   0.0   GPU    rend error: NvAPI call NvAPI_Initialize returned an error:
    2022-12-29 17:31:36.336 [WARNING] :: ..\..\..\..\..\src\pluginsource\DzIrayRender\dzneuraymgr.cpp(377): Iray [ERROR] - GPU:RENDER ::   0.0   GPU    rend error:   
    2022-12-29 17:31:36.337 [WARNING] :: ..\..\..\..\..\src\pluginsource\DzIrayRender\dzneuraymgr.cpp(377): Iray [WARNING] - CUDA:RENDER ::   0.0   CUDA   rend warn : CUDA module initialization failed.
    2022-12-29 17:31:36.337 [WARNING] :: ..\..\..\..\..\src\pluginsource\DzIrayRender\dzneuraymgr.cpp(377): Iray [WARNING] - CUDA:RENDER ::   0.0   CUDA   rend warn : The version of your CUDA driver is 0.0, but 11.8 is the required minimum
    2022-12-29 17:31:36.337 [WARNING] :: ..\..\..\..\..\src\pluginsource\DzIrayRender\dzneuraymgr.cpp(377): Iray [WARNING] - CUDA:RENDER ::   0.0   CUDA   rend warn : Please update your display driver (current version ) (www.nvidia.com) to at least 522.06.

     

    I'm running driver 525.60.11-15.1 from the main repo.
     

  • KitsumoKitsumo Posts: 1,215

    IceCrMn said:

    Seeing this in the log;

    2022-12-29 17:31:36.336 [WARNING] :: ..\..\..\..\..\src\pluginsource\DzIrayRender\dzneuraymgr.cpp(377): Iray [ERROR] - GPU:RENDER ::   0.0   GPU    rend error: NvAPI call NvAPI_Initialize returned an error:
    2022-12-29 17:31:36.336 [WARNING] :: ..\..\..\..\..\src\pluginsource\DzIrayRender\dzneuraymgr.cpp(377): Iray [ERROR] - GPU:RENDER ::   0.0   GPU    rend error:   
    2022-12-29 17:31:36.337 [WARNING] :: ..\..\..\..\..\src\pluginsource\DzIrayRender\dzneuraymgr.cpp(377): Iray [WARNING] - CUDA:RENDER ::   0.0   CUDA   rend warn : CUDA module initialization failed.
    2022-12-29 17:31:36.337 [WARNING] :: ..\..\..\..\..\src\pluginsource\DzIrayRender\dzneuraymgr.cpp(377): Iray [WARNING] - CUDA:RENDER ::   0.0   CUDA   rend warn : The version of your CUDA driver is 0.0, but 11.8 is the required minimum
    2022-12-29 17:31:36.337 [WARNING] :: ..\..\..\..\..\src\pluginsource\DzIrayRender\dzneuraymgr.cpp(377): Iray [WARNING] - CUDA:RENDER ::   0.0   CUDA   rend warn : Please update your display driver (current version ) (www.nvidia.com) to at least 522.06.

     

    I'm running driver 525.60.11-15.1 from the main repo.
     

    Nvidia-libs is here https://github.com/SveSop/nvidia-libs. Just a warning, it includes dxvk, so it may conflict with the version you already installed. But worst case scenario, if you have to reinstall, wine-staging and Nvidia-libs should be enough to get Iray and dForce working.

  • IceCrMnIceCrMn Posts: 2,129

    Thank you.

    I'll have a look at this in the morning and see what I can do.

  • Has anyone tried running Windows/Daz Studio in QEMU/KVM? It is my understanding that PCI passthrough works, so Windows will see any GPUs as it normally would, but the catch is that the GPU must be configured by the BIOS/UEFI in a different PCI set, and then will not be available to the host OS anymore.

    I'm thinking of trying this out by adding a second low-end GPU to my system, specifically for the purpose of running DS with dForce under QEMU.

    Was wondering if anyone has tried this, or are all efforts through WINE?

  • IceCrMnIceCrMn Posts: 2,129

    I treid some months back on gentoo with qemu, but couldn't get PCI passsthrough working, so no chance of GPU acceleration.

    I've only got 1 GPU so maybe it was lack of hardware.

    With opensuse I've been much more successful.

    As I posted before everything except for the GPU is working with nothing more than wine.

    DS can see the GPU and even reports on it.

    Once I get a complete build environment today, I plan to give that nvidia-libs from github a try.

  • Thanks! Looking forward to your results.

  • IceCrMnIceCrMn Posts: 2,129

    First, let me start with, tumbleweed isn't the best choice to do this with.

    Any rolling release is going to problematic simply because of the update pace.

    That said...

    Still can't get DS to use the GPU for rendering.

    It will use it for other things like dforce, but nothing for rendering.

    I gave up on it after working on it most of the day.

    Spent many hours installing compilers, libraries, etc,.etc.

    The github source won't compile for me for nvidia-libs.

    I think I'm using the build script incorrectly.

    I just made a temp dir in the downloads folder and did as my regular user

    ./nvidia-libs-master/package-setup.sh temp

    here's a short copy/paste of the build fail

    ../../../nvidia-libs-master/dlls/nvcuda/nvcuda.c:3305:1: error: expected declaration specifiers before ‘CUresult’ 3305 | CUresult WINAPI wine_cuGraphicsD3D11RegisterResource(CUgraphicsResource *pCudaResource, ID3D11Resource *pD3DResource, unsigned int Flags) | ^~~~~~~~ ../../../nvidia-libs-master/dlls/nvcuda/nvcuda.c:3317:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘{’ token 3317 | { | ^ /usr/include/wine/windows/threadpoolapiset.h:36:31: error: old-style parameter declarations in prototyped function definition 36 | WINBASEAPI TP_POOL* WINAPI CreateThreadpool(void*) __WINE_DEALLOC(CloseThreadpool) __WINE_MALLOC; | ^~~~~~~~~~~~~~~~ ../../../nvidia-libs-master/dlls/nvcuda/nvcuda.c:3337: error: expected ‘{’ at end of input ../../../nvidia-libs-master/dlls/nvcuda/nvcuda.c:3337: warning: control reaches end of non-void function [-Wreturn-type] winegcc: /usr/bin/gcc failed ninja: build stopped: subcommand failed.

     

    I booted back to windows to play with DS for a bit with GPU rendering+SSIM.

    I do miss the GPU only toys, like SSIM, but I can live without them, just going to be alot slower to render things.

     

    Screenshot_20221230_074229.jpg
    3840 x 2160 - 534K
  • IceCrMnIceCrMn Posts: 2,129

    In teh DS log I still see;

    2022-12-30 19:35:25.720 [WARNING] :: ..\..\..\..\..\src\pluginsource\DzIrayRender\dzneuraymgr.cpp(377): Iray [WARNING] - POST:RENDER ::   1.0   POST   rend warn : SSIM is not available on CPU and will be disabled.
    2022-12-30 19:35:25.720 Iray [INFO] - POST:RENDER ::   1.0   POST   rend info : Postprocessing SSIM estimator is enabled
    2022-12-30 19:35:25.727 [WARNING] :: ..\..\..\..\..\src\pluginsource\DzIrayRender\dzneuraymgr.cpp(377): Iray [ERROR] - POST:RENDER ::   1.0   POST   rend error: No CUDA capable GPUs found
    2022-12-30 19:35:25.728 [WARNING] :: ..\..\..\..\..\src\pluginsource\DzIrayRender\dzneuraymgr.cpp(377): Iray [ERROR] - POST:RENDER ::   1.0   POST   rend error: CUDA driver version is insufficient for CUDA runtime version

    So , seems like DS can't detect what driver I'm using and what CUDA version.

    <see DS log>

    I also have the build logs for ninja and meson

    ---

    also, my Steam games won't launch either.

    Client starts, games install, just won't launch them.

    Looks like that's going to be a per-game adventure to get them running.

    txt
    txt
    log.txt
    57K
  • Actually, I only wanted the GPU for dForce sine I render in Blender on real Linux. OK, nvidia-libs from Githubit is, then. Thanks again!

  • IceCrMnIceCrMn Posts: 2,129
    edited December 2022

    Opensuse+wine seems to be working well and was very easy to get up and going.

    All I had to do was install wine-staging, then use it to install DIM.

    DIM installed everything else.

    Once DS was installed I told it where my libraries were and I was back up and running in no time.

    Filament viewport, Smart Content, dforce, autofit, UI sliders and viewport gizmo, veiwport iray preview, everything I've tried works.

    Except for GPU iray rendering.

    I guess I shouldn't be to upset.

    The mac users get neither Filament nor GPU for iray.

    Right now, I'm just out the GPU iray rendering.

     

    edit: DIM won't let me save my password. The 'remember me' box isn't selectable.

    Post edited by IceCrMn on
  • IceCrMnIceCrMn Posts: 2,129

    Here's a render I just did.

    2022-12-30 22:45:47.548 [INFO] :: Finished Rendering
    2022-12-30 22:45:47.598 [INFO] :: Total Rendering Time: 10 minutes 15.33 seconds
    2022-12-30 22:46:47.359 [INFO] :: Saved image: C:\users\david\Documents\DAZ 3D\Studio\Render Library\first opensuse render.png
    2022-12-30 22:46:47.520 Iray [INFO] - IRAY:RENDER ::   1.0   IRAY   rend info : Device statistics:
    2022-12-30 22:46:47.521 Iray [INFO] - IRAY:RENDER ::   1.0   IRAY   rend info : CPU: 178 iterations, 11.155s init, 586.316s render

     

    linux render test.jpg
    3000 x 3000 - 1019K
  • KitsumoKitsumo Posts: 1,215
    edited December 2022

    @IceCrMn , I'm not familiar with Tumbleweed, but I don't think nvidia-libs really needs to be compiled. I think that's just for people who want to make mods to the source code or compile it for a different platform. But I could be wrong. All I did was run the setup_nvlibs.sh that they show under Wineprefix.

    It's been a while since I've done it, but as I remember, from the time I got Daz Studio installed, installing nvidia-libs took like 3-4 minutes or so. If you want, I could share my desktop with you on Discord, Zoom, etc. and go through the whole process. Just send me a PM if you want to try it, if not, no worries.

    EDIT: I just realized the instructions on Github aren't very clear. Just download the zip file for nvlibs and unzip it in your wine profile for DS. Then open a console inside that nvilibs folder and run the setup sh file.

    Screenshot_20221231_055639.png
    880 x 667 - 77K
    Screenshot_20221231_055652.png
    880 x 667 - 63K
    Post edited by Kitsumo on
  • generalgameplayinggeneralgameplaying Posts: 517
    edited December 2022

    TheMysteryIsThePoint said:

    Has anyone tried running Windows/Daz Studio in QEMU/KVM? It is my understanding that PCI passthrough works, so Windows will see any GPUs as it normally would, but the catch is that the GPU must be configured by the BIOS/UEFI in a different PCI set, and then will not be available to the host OS anymore.

    I'm thinking of trying this out by adding a second low-end GPU to my system, specifically for the purpose of running DS with dForce under QEMU.

    Was wondering if anyone has tried this, or are all efforts through WINE?

    I used to use qemu/kvm a lot, including windows gaming, and development machines. Unfortunately i have forgotten some of the lessons :). At some point, after some update of kvm, everything broke. But i was also confining stuff a bit by flags, and did not try to re-setup, starting afresh with simplicity. Went bare-metal then, after having had Windows 7 upgraded to Windows 10 in a VM and working, using swappable hd-cages on the machine (worse performance than internal SATA, but older HW). In fact transfering the VM drive (qcow2) to a bare hard disk and starting up windows worked fine. I think the license stopped working at some point, possibly after upgrading the SSD :(, don't fully remember.

    I would have had a small passively cooled GPU for the OS, and then something appropriate for VM/s. In fact i mostly used AMD-GPUs for GPU-hevier stuff, and maybe some small (some used) Matrox card. One model of Nvidia for a passive small footprint card had also been in use. I parked the cards for vm-use on pci-stub via exclusions in GRUB/commandline already for startup. I also have used an nvidia Quadro something, small-ish workstation card in a VM, also tried gaming with it (several years ago, the card is now in my room-temperature-ice-vault, just in case - also because hardware that might work on older systems with linux and kvm... i tried some and kept some).

    Some people reported issues with some NVIDIA cards detecting VMs somehow, and then denying to work, for consumer cards. And there may be issues with using shared portions of the card for an nvidia workstation card license-wise - whilie i assume the licensing isn't the problem, with full pass-through. I'd assume pci-pass-through is the right way to go with an nvidia (consumer) card. I do remember a small NVIDIA consumer card working in full pass-through with a linux-VM (~mninecraft dev / some "game" dev). In any case it should be researched beforehand, as more people try more hardware now, it seems.

    Generally there usually is information available about which GPUs work with pass-through, but i do remember, that sometimes there might have been issues with the host-gpu, meaning not all combinations might harmonize - this has mostly been on AMD-FX-based systems, so this may be totally different with more modern or server/workstation hardware. Issues may be fixable in some instances, but some care might be necessary for the hardware choice.

    Extra to a laptop, i am planning to use a workstation for rendering too, and i am not decided, if i jump in with windows, or try the tasty path of wine, or go qemu/kvm with a windows vm and full pass-through again. Since i'll need some more time to set it up somewhere where it makes sense, i'm postponing my decision.

    So in short, at least i would check:

    - Do your Motherboard and CPU support the odds and ends (IOMMU is imperative, maybe some processor flags / properties / experience of other people).

    - Does my GPU support pci-pass-through with qemu-kvm. (If YES, the license question may be solved. If NOT, the necessary features probably won't work with the qemu/kvm native gpu sharing, or you'll have to install the NVIDIA vGPU software to make anything work at all, see licensing below.)

    - Do i need a license for my planned setup, if i am using an NVIDIA workstation card with VMs? This depends on other stuff one might have in mind, e.g. sharing the card amongst multiple test-vms for client/server architectures or with host and vm, so it doesn't idle and the memory is put to good use. Explicitly gpu-pass-though is mentioned in a piece of NVIDIA documentation, and it is not counted as a vGPU, as the card is handeled by the driver in the VM exclusively, so this is the way to go. https://docs.nvidia.com/grid/10.0/grid-vgpu-user-guide/index.html ; (Can't tell if the kvm features of GPU sharing demand for a vGPU license, as qemu/kvm might emulate the sharing without using any vGPU-specific features - if that was planned i would still research on the license question, in case NVIDIA bans such use in their license, or in case qemu/kvm might use vGPU features under the hood, to be on the safe side.)

    - What GPU can the host use, so it harmonizes with the passed through one (and the rest of passed-through or otherwise present HW). This could be a non-issue, if the only problem had been IOMMU-groups (see below), not sure IRQs or what not could be an issue with some very simple cards (possibly they didn't work due to IOMMU being on at all and some other piece of HW not in use with the vm, maybe no issue with a modern system, just be prepared for potential incompatibilities, so don't buy extra random stuff.).

    - Setup for pci-stub / whatever they have now, prevent drivers from loading on startup of the host. Kernel flags and VM flags (much has changed or been added, setting the wrong thing means performance impact, security-wise there are choices too).

    IOMMU-groups may be important to really separate hardware, or even for pass-through working at all. I forgot if you can randomly assign things, but i think it also depends on the MB and the PCIe-slots, so that's why i would rather have a MB with lots of PCIe-slots, and i might have run the host-GPU on a PCI slot and the VM-GPUs on PCIe, but that's probably not needed - i typically would put through a USB card or a controller and a GPU to the vm, which then also may share the IOMMU-group, which makes sense, if you want to separate keyboards/workplaces/monitors for host vs. vm/s).

    - Nowadays, Windows 10/11 and a VM - do they need a TPM (emulated works?)? Have not tried nor checked on this just recently.

    - (I've not been using libvirt nor user-mode, either of which may have simplified a lot of the setup, but instead passing the vm to a less privileged user on starting it. Those details may be important too, and/or up to taste or security needs. Essentially, i did not rely on VMs for bare security, though it can be another hurdle for an attacker, in theory. Main purpose has always been to run different kind of systems and separate development environments.)

     

     

    You probably are aware of all that, and there may be actual recipes for setup out there, it's just the details i remember from windows-gaming with qemu-kvm and pci-pass-through for the GPU. Probably was using debian-stable underneath (always wanted to go arch, due to more recent features on kvm/qemu, but so far haven't).

    Post edited by generalgameplaying on
  • IceCrMnIceCrMn Posts: 2,129
    edited December 2022

    Kitsumo said:

    @IceCrMn , I'm not familiar with Tumbleweed, but I don't think nvidia-libs really needs to be compiled. I think that's just for people who want to make mods to the source code or compile it for a different platform. But I could be wrong. All I did was run the setup_nvlibs.sh that they show under Wineprefix.

    It's been a while since I've done it, but as I remember, from the time I got Daz Studio installed, installing nvidia-libs took like 3-4 minutes or so. If you want, I could share my desktop with you on Discord, Zoom, etc. and go through the whole process. Just send me a PM if you want to try it, if not, no worries.

    EDIT: I just realized the instructions on Github aren't very clear. Just download the zip file for nvlibs and unzip it in your wine profile for DS. Then open a console inside that nvilibs folder and run the setup sh file.

     

    Thank you.
    I had downloaded the wrong git.
    After seeing the files and folders in your screenshot I realized what had happened.
    I clicked the "releases" button on the right side and got to the download I needed.
    https://github.com/SveSop/nvidia-libs/releases/tag/v0.7.6
    ...at the bottom under "assets" it's the tarball called nvidia-libs-0.7.6.tar.xz
    ---
    after I got the correct package; I deleted my .wine folder and started over.
    Yesterday I installed countless things trying make progress, so starting over seemed the best approach.
    ---
    Happy to report everything works now. :)

    The current release sees my GPU and I can render on it.
    ---
    This worked out to be very simple actually.
    The steps I took;
    1. install opensuse "tumbleweed"
    2. install wine-staging
    3. download nvidia-libs from above link
    4 install nvidia-libs following kitsumo's screenshots and instructions
    5. Install DIM using wine
    6 use DIM to install everything for Studio.

     

    A big thank you to everyone that worked on this project,that wrote the software and also helped me figure out what I was doing wrong.

    My Windows 10 install just became a very expensive video game console LOL.

     

    Benchmark scene render results,

    2022-12-31 10:45:33.632 [INFO] :: Finished Rendering 2022-12-31 10:45:33.685 [INFO] :: Total Rendering Time: 4 minutes 32.1 seconds 2022-12-31 10:45:33.700 [INFO] :: Loaded image: r.png 2022-12-31 10:45:33.727 [INFO] :: Saved image: C:\users\david\AppData\Roaming\DAZ 3D\Studio4\temp\RenderAlbumTmp\Render 1.jpg 2022-12-31 11:10:14.627 [INFO] :: Saved image: C:\users\david\Documents\DAZ 3D\Studio\Render Library\opensuse benchmark render 1.png 2022-12-31 11:10:14.658 Iray [INFO] - IRAY:RENDER :: 1.0 IRAY rend info : Device statistics: 2022-12-31 11:10:14.658 Iray [INFO] - IRAY:RENDER :: 1.0 IRAY rend info : CUDA device 0 (NVIDIA GeForce RTX 3060): 1645 iterations, 2.011s init, 265.046s render
    Post edited by IceCrMn on
  • generalgameplaying said:

    TheMysteryIsThePoint said:

    Has anyone tried running Windows/Daz Studio in QEMU/KVM? It is my understanding that PCI passthrough works, so Windows will see any GPUs as it normally would, but the catch is that the GPU must be configured by the BIOS/UEFI in a different PCI set, and then will not be available to the host OS anymore.

    I'm thinking of trying this out by adding a second low-end GPU to my system, specifically for the purpose of running DS with dForce under QEMU.

    Was wondering if anyone has tried this, or are all efforts through WINE?

    I used to use qemu/kvm a lot, including windows gaming, and development machines. Unfortunately i have forgotten some of the lessons :). At some point, after some update of kvm, everything broke. But i was also confining stuff a bit by flags, and did not try to re-setup, starting afresh with simplicity. Went bare-metal then, after having had Windows 7 upgraded to Windows 10 in a VM and working, using swappable hd-cages on the machine (worse performance than internal SATA, but older HW). In fact transfering the VM drive (qcow2) to a bare hard disk and starting up windows worked fine. I think the license stopped working at some point, possibly after upgrading the SSD :(, don't fully remember.

    I would have had a small passively cooled GPU for the OS, and then something appropriate for VM/s. In fact i mostly used AMD-GPUs for GPU-hevier stuff, and maybe some small (some used) Matrox card. One model of Nvidia for a passive small footprint card had also been in use. I parked the cards for vm-use on pci-stub via exclusions in GRUB/commandline already for startup. I also have used an nvidia Quadro something, small-ish workstation card in a VM, also tried gaming with it (several years ago, the card is now in my room-temperature-ice-vault, just in case - also because hardware that might work on older systems with linux and kvm... i tried some and kept some).

    Some people reported issues with some NVIDIA cards detecting VMs somehow, and then denying to work, for consumer cards. And there may be issues with using shared portions of the card for an nvidia workstation card license-wise - whilie i assume the licensing isn't the problem, with full pass-through. I'd assume pci-pass-through is the right way to go with an nvidia (consumer) card. I do remember a small NVIDIA consumer card working in full pass-through with a linux-VM (~mninecraft dev / some "game" dev). In any case it should be researched beforehand, as more people try more hardware now, it seems.

    Generally there usually is information available about which GPUs work with pass-through, but i do remember, that sometimes there might have been issues with the host-gpu, meaning not all combinations might harmonize - this has mostly been on AMD-FX-based systems, so this may be totally different with more modern or server/workstation hardware. Issues may be fixable in some instances, but some care might be necessary for the hardware choice.

    Extra to a laptop, i am planning to use a workstation for rendering too, and i am not decided, if i jump in with windows, or try the tasty path of wine, or go qemu/kvm with a windows vm and full pass-through again. Since i'll need some more time to set it up somewhere where it makes sense, i'm postponing my decision.

    So in short, at least i would check:

    - Do your Motherboard and CPU support the odds and ends (IOMMU is imperative, maybe some processor flags / properties / experience of other people).

    - Does my GPU support pci-pass-through with qemu-kvm. (If YES, the license question may be solved. If NOT, the necessary features probably won't work with the qemu/kvm native gpu sharing, or you'll have to install the NVIDIA vGPU software to make anything work at all, see licensing below.)

    - Do i need a license for my planned setup, if i am using an NVIDIA workstation card with VMs? This depends on other stuff one might have in mind, e.g. sharing the card amongst multiple test-vms for client/server architectures or with host and vm, so it doesn't idle and the memory is put to good use. Explicitly gpu-pass-though is mentioned in a piece of NVIDIA documentation, and it is not counted as a vGPU, as the card is handeled by the driver in the VM exclusively, so this is the way to go. https://docs.nvidia.com/grid/10.0/grid-vgpu-user-guide/index.html ; (Can't tell if the kvm features of GPU sharing demand for a vGPU license, as qemu/kvm might emulate the sharing without using any vGPU-specific features - if that was planned i would still research on the license question, in case NVIDIA bans such use in their license, or in case qemu/kvm might use vGPU features under the hood, to be on the safe side.)

    - What GPU can the host use, so it harmonizes with the passed through one (and the rest of passed-through or otherwise present HW). This could be a non-issue, if the only problem had been IOMMU-groups (see below), not sure IRQs or what not could be an issue with some very simple cards (possibly they didn't work due to IOMMU being on at all and some other piece of HW not in use with the vm, maybe no issue with a modern system, just be prepared for potential incompatibilities, so don't buy extra random stuff.).

    - Setup for pci-stub / whatever they have now, prevent drivers from loading on startup of the host. Kernel flags and VM flags (much has changed or been added, setting the wrong thing means performance impact, security-wise there are choices too).

    IOMMU-groups may be important to really separate hardware, or even for pass-through working at all. I forgot if you can randomly assign things, but i think it also depends on the MB and the PCIe-slots, so that's why i would rather have a MB with lots of PCIe-slots, and i might have run the host-GPU on a PCI slot and the VM-GPUs on PCIe, but that's probably not needed - i typically would put through a USB card or a controller and a GPU to the vm, which then also may share the IOMMU-group, which makes sense, if you want to separate keyboards/workplaces/monitors for host vs. vm/s).

    - Nowadays, Windows 10/11 and a VM - do they need a TPM (emulated works?)? Have not tried nor checked on this just recently.

    - (I've not been using libvirt nor user-mode, either of which may have simplified a lot of the setup, but instead passing the vm to a less privileged user on starting it. Those details may be important too, and/or up to taste or security needs. Essentially, i did not rely on VMs for bare security, though it can be another hurdle for an attacker, in theory. Main purpose has always been to run different kind of systems and separate development environments.)

     

     

    You probably are aware of all that, and there may be actual recipes for setup out there, it's just the details i remember from windows-gaming with qemu-kvm and pci-pass-through for the GPU. Probably was using debian-stable underneath (always wanted to go arch, due to more recent features on kvm/qemu, but so far haven't).

    Thank you for the time it took to communicate all of that. I find myself preferring a QEMU/KVM solution. I'll research before I build my second system. Thanks again!

  • generalgameplayinggeneralgameplaying Posts: 517
    edited January 2023

    TheMysteryIsThePoint said:

    Thank you for the time it took to communicate all of that. I find myself preferring a QEMU/KVM solution. I'll research before I build my second system. Thanks again!

    Sure.

    Two details:

    - IOMMU (groups) may be AMD-specific. If you run INTEL-CPUs, it'll probably be VT-d (and for others.... other). Best is if others have verified the CPU/MB/GPU work with passthrough and offer isolation.

    - Not so relevant: Moving from VM to swappable drives with bare metal, GPU und CPU stayed the same (CPU was with host flag, so was reported the same type), so windows had had some clues. Maybe it also decreased the installation count in the background, and after changing the SSD again, it denied to activate it again. One would have to be prepared for having to buy a new OS-license, as nowadays Windows tends to bind it's licenses to hardware. (Minor changes seem ok, but what's multiple minor changes...)

    Post edited by generalgameplaying on
  • KitsumoKitsumo Posts: 1,215

    IceCrMn said:

    ---
    Happy to report everything works now. :)

    The current release sees my GPU and I can render on it.
    ---

    I'm glad it's working for you.

    I believe there's a post somewhere in this thread to fix the PostgreSQL CMS, but I haven't tried it yet since I don't use it. Happy rendering!

  • IceCrMnIceCrMn Posts: 2,129

    I don't have any problems with the CMS.

    It's worked fine form the start.

    Very easy to get it all running on opensuse.

    Someone really should update the install instructions on the git page for nvidia-libs though.

    It's not accurate at all.

     

  • IceCrMnIceCrMn Posts: 2,129

    I'm not even seeing a performance difference between the Windows install and the linux/wine install.

    Everything is running so well I'm seriously considering version locking the entire setup, except for the nvidia-drivers.

    The current beta can't see my GPU, but I think this is a driver issue.

    The current General Release(4.21.0.5) is running very well and everything works.

  • KitsumoKitsumo Posts: 1,215

    IceCrMn said:

    I don't have any problems with the CMS.

    It's worked fine form the start.

    ...

     Well, turns out it was a PEBKAC issue (problem exists between keyboard and chair) - I didn't have it installed in DIM cheeky. It's working.

    I know there used to be a whole tutorial for getting it running in Wine, but I guess that's all taken care of now. It's amazing the amount of progress Wine has had in the last few years.

  • IceCrMnIceCrMn Posts: 2,129

    Yep, it's very easy now.Depending what distro is used.

    I installed wine-staging with zypper.

    Then installed DIM by right clicking the installer and selecting "open with wine".

    Clicked DIM on the desktop and simply started to install stuff.

    After the Default set was installed. I started DS and everything worked.

    Then I went about setting up my content folders in CMS.

    Then I installed my plugins, entered the activation keys, closed DS.

    Installed nvidia-libs after I found out about it, thank you all gain for all the work that went into that.

    It took about 10 minutes total after I was told how to install nvidia-libs to get everything up and running.

  • IceCrMnIceCrMn Posts: 2,129

    I forgot to note...

    Don't bother with wine prefixes.Prefixes are to isolate each software in it's own Windows install.

    Prefixes just complicate a simple process.

    Which leads to endless problems.

    Like having DIM installed on Windows Install "A"

    Then installing CMS on Windows install "B".

    Then installing DS on Windows install "C"

  • gochtgocht Posts: 1
    edited January 2023

    No luck for me. Managed to have DAZ show both GPUs after installing dxvk and nvidia-libs but rendering did not work via GPU. I already spent more time on this than I should have so I am leaving this more as a warning ;-). System: Debian 11 (bullseye), Nvidia Driver Version 525.60.13, wine-8.0-rc4 (Staging) (also tried wine-7.1 (Staging)).

    Edit: got it to work, I needed to set DXVK_ENABLE_NVAPI=1 for GPU rendering to work.

    Post edited by gocht on
Sign In or Register to comment.