Daz Studio and Linux

1444547495054

Comments

  • ssoplerssopler Posts: 22
    edited March 2022

    Well, i spotted this line in the Daz 4.20 logs:

    Iray [INFO] - IRAY:RENDER ::   1.1   IRAY   rend info : Your NVIDIA driver supports CUDA version up to 11.6; iray requires CUDA version 11.4; all is good.

     

    If that is really the case, the staging (or lutris) implementation of this may fail. The nvidia-libs package i have put together have some cuda tweaks yet to be upstream, and actually works with most of the CUDA SDK 11.4 stuff. Staging fails running most these samples, but it does ofc not automagically mean it will not work with DAZ. Just saying if you use lutris version of wine + nvoptix and still experience problems, you could give the nvidia-libs package a try for the tweaked nvcuda version.

    Ill do some digging and see if that it actually IS the case tho.

    EDIT: Just looked at my logs from DAZ 4.20 -

    010c:trace:nvcuda:Unknown7_func0_relay (11040, 0x622ddca9, 0x101ef78)

     

    This function needs to be called for nvcuda to work with CUDA 11.4, and is NOT included in upstream staging/lutris versions of wine. So.. yeah, as of now you seem to need my nvidia-libs package to get that working

    Post edited by ssopler on
  • loopenoxloopenox Posts: 48

    ssopler said:

    as of now you seem to need my nvidia-libs package to get that working

    And it's working perfectly!  :D

    Thanks a lot!

  • loopenoxloopenox Posts: 48

    Something else: How does Studio run for you guys with quite heavy scenes? Since upgrading to Wine 7.2 (and my new system overall) I've noticed that Studio is running fine until something happens and suddenly everything is getting really sluggish, especially the viewport. For example the highlighting while hovering over parts lags behind the mouse one or two seconds if things get really bad. For example just a couple minutes ago the big scene (which makes Studio use about 12GB or RAM) worked fine until I opened the Property Hierarchy panel. Opening that made Studio freeze for 10 minutes (which is somewhat understandable) but after that it was in that forementioned sluggish state until I closed it and reopened it together with the scene. So maybe some sort of memory leak? I can't reliably reproduce that behavior, it just either happens or it doesn't.

    Additionally to that quite often posing also bugs out a bit. For example you have the universal tool activated, grab a hand, click and move but nothing happens. A couple seconds later the hand finally moved. If you grab a finger and move it, sometimes it behaves similarly but on top of it the finger snaps into a different pose first before accepting your posing. First I thought it's some posing morph that interferes but checked for that and it's not the case. This can also be really mixed in the same session. One time grabbing and moving a limb can work perfectly and a couple clicks later it needs some thinking before doing the move. Overall kinda like it was a couple years ago until they more or less fixed it. 

    So yeah, really curious how things work for you guys in heavy scenes involving multiple characters, items and stuff.

  • I am not in Linux but I am having massive issues with the interface these days. I am on a MacBook Pro with M1 Pro processor and when I use my magic mouse (which is a native Apple device) the whole interface is not only very lagging but also responds to clicks and scrolling in a very weird way. It feels like I have only 50% of the precision and responses that I should actually have on a decent computer. 

    I am wondering why that is. Maybe the mouse triggers some responses in the interface that are not as intended. I am still observing ... switching to using the trackpad only for a while to see if it is really just the mouse that causes these problems. 

  • Kyan001Kyan001 Posts: 75
    edited April 2022

    ssopler said:

    I am not the heaviest of forum readers tbh, but i still use DAZ a bit (uhm.. lot at times..). Anyway, i have found wine-7.3 and wine-7.4 to have some instability issues with DAZ, so for now i cant say other than that you should use wine-staging-7.1 or wine-staging-7.2.

    What i have found troublesome aswell is wine versions with "Proton patches" in the likes of "Fullscreen Hack" Afaik no distros provide this directly, but people might be using lutris builds with this.. like https://github.com/lutris/wine/releases/download/lutris-7.1/wine-lutris-7.1-x86_64.tar.xz

    Further, once you have set that up (no, a comprehensive how-to-use-wine is not coming here.. other places are better at that). I found enabling wine's virtual desktop in with the same resolution as your monitor makes things work quite nice with DAZ.

    .........

    The next hero will be someone who will create a .sh file to set up the whole stuff without struggling. LOL

    Post edited by Kyan001 on
  • Hi!

    I haven't read all 47 pages of this thread, but am I correct in thinking that Wine 7.0 will let me run the latest Daz Studio?

    My system is a Ryzen with a ton of RAM, and a Radeon RX590 8GB, running elementaryOS 5.1.7 (ubuntu 18.04 based). I'm planning on using the YaLux plugin for my renders.

    Am I missing any obvious problems or limitations with my plan?

  • ssoplerssopler Posts: 22

    pedalingprogrammer said:

    Hi!

    I haven't read all 47 pages of this thread, but am I correct in thinking that Wine 7.0 will let me run the latest Daz Studio?

    My system is a Ryzen with a ton of RAM, and a Radeon RX590 8GB, running elementaryOS 5.1.7 (ubuntu 18.04 based). I'm planning on using the YaLux plugin for my renders.

    Am I missing any obvious problems or limitations with my plan?

    It should work, as WineHQ still builds wine packages for 18.04. I cannot really comment on how this would work with Radeon when it comes to Vulkan, as i do not use Radeon. I think there are like 3 different "driver options" to choose from - that have varying degree of Vulkan implementation.

    Not sure what YaLux plugin is? Some sort of bridge-plugin-thingy to get GPU rendering for Radeon? The OpenSource version of IRAY engine kind of? :)

  • ssoplerssopler Posts: 22

    loopenox said:

    Something else: How does Studio run for you guys with quite heavy scenes? Since upgrading to Wine 7.2 (and my new system overall) I've noticed that Studio is running fine until something happens and suddenly everything is getting really sluggish, especially the viewport. For example the highlighting while hovering over parts lags behind the mouse one or two seconds if things get really bad. For example just a couple minutes ago the big scene (which makes Studio use about 12GB or RAM) worked fine until I opened the Property Hierarchy panel. Opening that made Studio freeze for 10 minutes (which is somewhat understandable) but after that it was in that forementioned sluggish state until I closed it and reopened it together with the scene. So maybe some sort of memory leak? I can't reliably reproduce that behavior, it just either happens or it doesn't.

    Additionally to that quite often posing also bugs out a bit. For example you have the universal tool activated, grab a hand, click and move but nothing happens. A couple seconds later the hand finally moved. If you grab a finger and move it, sometimes it behaves similarly but on top of it the finger snaps into a different pose first before accepting your posing. First I thought it's some posing morph that interferes but checked for that and it's not the case. This can also be really mixed in the same session. One time grabbing and moving a limb can work perfectly and a couple clicks later it needs some thinking before doing the move. Overall kinda like it was a couple years ago until they more or less fixed it. 

    So yeah, really curious how things work for you guys in heavy scenes involving multiple characters, items and stuff.

    It can be a bit sluggish at times, but i can't say i use extremely advanced scenes. I do not really have a comparison with windows, so for all i know it would be sluggish there aswell. I have noticed sometimes if using 2-3 characters, especially with body hair will cause some lagg. I usually just hide such things from the viewport when doing posing, and enable it again for rendering. I had a lot of random issues and hang/crashing with wine-7.3/7.4, but either i managed to drop a patch, or it was fixed upstream with 7.5.

    I do however use a custom wine version + custom kernel with fsync patches. Have not done benchmarks to compare, but it usually gives better performance in games (and is what Steam Proton is using)... And i compile wine optimized to my own system

    -march=native

    I like to think this helps :) (Actually typing this while compiling a minor update with some SSE2 patches i found on wine-dev.. like to think it can't hurt).

    I don't think i have used past my 16GB ram just loading a scene, but doing renders can pop 20+GB at times, even for my not-so-advanced scenes :) I can do some testing and see what happens if i load some 5-6 furry characters and see what kind of mem consumption i have. But i would expect it to be somewhat laggish to pose characters then. I feel mouse precision is not working that well, but again - i don't really have a comparison with windows. I know upstream WineHQ has worked quite a bit at the whole direct input part of wine, and that Valve is contributing with that, but it IS issues with recent wine when it comes to input in games, so it could be relevant if you compare to older wine versions. I started using DAZ recently, so i have not used older wine versions than like 6.20 or thereabouts with DAZ.

  • ssoplerssopler Posts: 22

    Loaded 5 characters in a scene, some which had body hair. Mem usage - 10.9GB. Loaded property hiearchy pane, did not experience any issues with that particularly (not really sure how to use it tho.. as i am a newbie when it comes to DAZ).

    I use "Texture Shaded" for my viewport when posing tho. Posing with IRAY is certainly very slow and awkward imo, and i have had huge issues with Filament(PBR) in case that is what you use @endlessloving.

    Using IRAY on the viewport made my system use 15.6GB ram, and is not useful for posing.

    Render the scene used 17.2GB (1440p image). Clearing the scene, and everything back to normal again. If you are into compiling wine/kernel yourself, i can provide you with my custom winesource on github? Depending on distro and whatnot, it is NOT for the beginner to do that tho devil

  • I was able to get Daz Central installed with lutris. There were some issues with lirary files that I had to reinstall and gamemod was confusing wine as to the arch and the Dazcentral installer complained about trying to install a 64-bit program on a 32-bit machine.

    I got the point  where I could install Daz Studio and it seems to be stuck on building interface. the WIneserver is running at about 100% CPU. My guess is that there is some other issue.

    Can anyone advise on how long the building interface phase should take?

  • ssoplerssopler Posts: 22

    piconewton said:

    I was able to get Daz Central installed with lutris. There were some issues with lirary files that I had to reinstall and gamemod was confusing wine as to the arch and the Dazcentral installer complained about trying to install a 64-bit program on a 32-bit machine.

    I got the point  where I could install Daz Studio and it seems to be stuck on building interface. the WIneserver is running at about 100% CPU. My guess is that there is some other issue.

    Can anyone advise on how long the building interface phase should take?

     

    Nah.. well, usually just takes a few seconds.

    As pointed out earlier in this thread, i do not use Lutris, so i don't really know what "runner" is used and all that... cos that is somewhat important. The Lutris provided "custom" versions of wine have a few patches that might interfere with DAZ i might think. DAZCentral is also not overly smooth when running with Wine tbh. I have gotten a much better experience using DAZInstallManager https://www.daz3d.com/install-manager-info

  • NylonGirlNylonGirl Posts: 1,816

    What happened to Rogerbee?

  • TiZTiZ Posts: 21

    Hi there! Just thought I'd report on my own findings and what I'm doing.

    I'm using KDE Neon 5.24.5, which is currently still based on Ubuntu 20.04. I have a MSI Stealth GS65 with a GeForce RTX 2060. The system is currently configured to run Xorg primarily on the NVidia GPU. I am using Bottles installed via Flatpak to run DAZ Studio. I installed it with the Caffe 7.7 runner in a bottle made as an application environment, and used Daz Central to install it. It complained about something failing to install, but Studio ran just fine. Unlike when I tried to install it via bare Wine, dForce was working out of the box, and there were no wonky fonts.

    GPU Iray rendering was a bit of a struggle, but this thread helped me get it up and running! 3Delight was somehow even slower than CPU-only Iray, so I really wanted to get Iray working. The first stumbling block was that CUDA was not working in the bottle, tested with CUDA-Z. There is a DLSS switch in the bottle preferences that installs dxvk-nvapi, which is the first step to making it work. CUDA-Z started seeing it, but Studio did not. I also installed PhysX via the components tab, but I am not sure I actually needed it. Because what made it work was the nvidia-libs package! Thank you so much for maintaining that, because now I have Iray and it's fast and gorgeous!

    There are a lot of advantages to running Studio on Linux. For one, if you have a BTRFS file system, you can take advantage of transparent compression and deduplication. Zstandard is just *so* much better than gzip used by Studio. If you have transparent compression enabled on your filesystem or the folder where your library is, you can just decompress any given gzipped file and instantly save space. I have a POSIX sh script that recursively finds and decompresses all gzipped files in a folder (requires zcat and sponge from moreutils). You can also use deduplication; run `duperemove -b 4k -hrd` on all your library folders periodically. Between those two things, I have 38GB of content stored within 20GB!

    Case-sensitivity will bite you on Linux when manually installing stuff; some content creators are inconsistent with their casing. I want to write another script to clean up that sort of situation. And I also want to write a script that helps with moving content between different library folders (if it doesn't already exist anywhere within DAZ, that is!)

    But overall, DAZ Studio has been a positive experience on Linux this way. Thanks to all the community members who contribute to making that happen.

  • loopenoxloopenox Posts: 48

    TiZ said:

    Case-sensitivity will bite you on Linux when manually installing stuff; some content creators are inconsistent with their casing.

    That was one of the first sorta painful things that I've experienced when I dove into all this, haha. But I think recently the average Linux distros get shipped with new case insensitive settings for the file system. I didn't try it yet but I think you can set partitions to work like that. Might be THE solution for a partition where you have all your DAZ content stored.

  • KitsumoKitsumo Posts: 1,216
    edited May 2022

    Having a bit of trouble trying to get this working in Lutris

    My GPU shows up as "CUDA 4294967295 - NVIDIA GeForce ... (WDDM - Display)"

    I've installed wine-nvoptix-v0.2 and nvidia-libs-0.7.5, but still no luck.

    Any suggestions?

    Also: I'm using DS 4.20.0.17. Do I need an earlier version?

    Edit: Nevermind. Got it.

    Post edited by Kitsumo on
  • TiZTiZ Posts: 21
    edited May 2022

    loopenox said:

    TiZ said:

    Case-sensitivity will bite you on Linux when manually installing stuff; some content creators are inconsistent with their casing.

    That was one of the first sorta painful things that I've experienced when I dove into all this, haha. But I think recently the average Linux distros get shipped with new case insensitive settings for the file system. I didn't try it yet but I think you can set partitions to work like that. Might be THE solution for a partition where you have all your DAZ content stored.

    That's called casefolding, and it's the one feature BTRFS doesn't have that I would really love. T_T Ext4, the de-facto default file system for the past decade plus, does have it. BTRFS is default now in only a few distros, with Fedora coming to mind first.

    Post edited by TiZ on
  • Kitsumo said:

    Edit: Nevermind. Got it.

    What was your solution?

  • keremgo3dkeremgo3d Posts: 9

    I was thinking about a big switch from many years of using Windows to a linux based operating system in the near future and DAZ Studio is my favorite software. BUT to be honest; I absolutely know nothing about Linux based Operating Systems myself. Zero experience. And yet my thought was getting rid off the Windows completely.

    I just having interested in it because someone I know revived my second generation Core i7 laptop from 2013 which I've thought dying with a slow death... It was EXTREMELY slow with it is original Windows 7 and heat of it rises so much, I was really thinking that the laptop is dying. Yet it works just perfect now with a PC Linux OS system. I've given away my laptop to him to get him back on track (he is into producing music) -- however he worked really hard to learn linux and build the system that fits to him...

    Not sure that I can do the same but that performance change made me think using a Linux based OS for my 3D work to get the most out of from my humble PC like handling heavier scenes and getting renders done faster. 

  • KitsumoKitsumo Posts: 1,216
    edited June 2022

    email_3846561 said:

    Kitsumo said:

    Edit: Nevermind. Got it.

    What was your solution?

    Not sure, I think it was installing nvidia-libs. Since then I've had to uninstall Lutris to fix an unrelated issue and I haven't been able to get Iray working again, so it's back to square one.frown

    Update: So it looks like updating to Kubuntu 22.04 is what broke it for some reason. I did a clean install with 20.04 and it worked first try.

    Post edited by Kitsumo on
  • prazethprazeth Posts: 0

    hello everyone... noob here, i just want to share my experience installing daz 3d in linux...

    first of all, i'm not a programmer or anything. I started using linux when microsoft starting to automatically update their OS without my knowledge and had cost me my internet data plan. long story short, i'm a regular guy who knows almost nothing about linux environment.(well.. maybe i know a little bit about it now). For me, i choose flatpak wine installer called bottles (https://flathub.org/apps/details/com.usebottles.bottles)... with that, i can run daz 3d installer and run it without much a problem... what's not working now is the postgresql cms system, but basic testing of daz3d studio seems run just fine... here's some screenshot in the attachment... i hope this could help fellow noob like me.laugh

    screen02.jpg
    1440 x 900 - 259K
  • ac3dac3d Posts: 0

    for the last week I've been exploring the viability of using Daz in linux -- been through lots of distros popular and small

    so the best case scenario currently is;
    Garudo Linux (i use xfce4 just cause I prefer this DE)

    • I used standard wine-staging install just for Daz and all related stuff like
      Postgresql and addons for Daz that require files in the Daz install like plugin DLLs
    • Nvidia Libs symlink method works to expose cuda device and get that to use cuda. Monitoring VRAM and everything looks standard.
    • Lutris can also work
    • Bottles has the most issues being sandboxed (issues with nvidia libs),
      exposing directories works but still very much the worst manager to use
    • Rendering into new window CTRL+R, works with current DAZ Beta, using basic G8/8.1 files and performance is fine -- no Desktop Environment slowdown (like cpu fallback effect)
    • CUDA performance inside the viewport is the big issue, it runs kneecapped, maybe 25-40% of what it's suppose to run at
       

    In my eyes that last bulet point is the final step to then possibly daily drive linux if you use Daz. Hopefully Sveinar has some inputs on this, and might find a performance fix for the viewport.

    Will keep my current Garuda install on dual boot for now, can rest on installing distros and basically wait for some kind of update to fix the last issue.

  • ac3dac3d Posts: 0

    for the last week I've been exploring the viability of using Daz in linux -- been through lots of distros popular and small

    so the best case scenario currently is;
    Garudo Linux (i use xfce4 just cause I prefer this DE)

    • I used standard wine-staging install just for Daz and all related stuff like
      Postgresql and addons for Daz that require files in the Daz install like plugin DLLs
    • Nvidia Libs symlink method works to expose cuda device and get that to use cuda. Monitoring VRAM and everything looks standard.
    • Lutris can also work
    • Bottles has the most issues being sandboxed (issues with nvidia libs),
      exposing directories works but still very much the worst manager to use
    • Rendering into new window CTRL+R, works with current DAZ Beta, using basic G8/8.1 files and performance is fine -- no Desktop Environment slowdown (like cpu fallback effect)
    • CUDA performance inside the viewport is the big issue, it runs kneecapped, maybe 25-40% of what it's suppose to run at
       

    In my eyes that last bulet point is the final step to then possibly daily drive linux if you use Daz. Hopefully Sveinar has some inputs on this, and might find a performance fix for the viewport.

    Will keep my current Garuda install on dual boot for now, can rest on installing distros and basically wait for some kind of update to fix the last issue.

  • ac3d said:

    • CUDA performance inside the viewport is the big issue, it runs kneecapped, maybe 25-40% of what it's suppose to run at
       

    In my eyes that last bulet point is the final step to then possibly daily drive linux if you use Daz. Hopefully Sveinar has some inputs on this, and might find a performance fix for the viewport.

    Will keep my current Garuda install on dual boot for now, can rest on installing distros and basically wait for some kind of update to fix the last issue.

     

    Not really sure how to meassure the expected performance of CUDA in the viewport. I am assuming you are using iray and moving stuff around is horribly laggish vs. windows. I do not know if there is a solution to this as of now. nvcuda is a relay library between nvcuda.dll <-> libcuda.so so certainly a huge overhead is expected. Some of the cuda calls has to do with various context storage functions/switching and are probably not very optimized (completely undocumented internal functions not available publically).

    And as previously mentioned some place up the thread here, as of now (sept 2022) i cannot figure out how to fix SDK 11.6+ apps to run.. so if the iray engine gets updated to run OptiX-7.5 or something like that, i think we are all SOL on running cuda. I have not given up, but i have hit a brick wall atm.

  • ac3dac3d Posts: 0

    ssopler said:

    ac3d said:

    • CUDA performance inside the viewport is the big issue, it runs kneecapped, maybe 25-40% of what it's suppose to run at
       

    In my eyes that last bulet point is the final step to then possibly daily drive linux if you use Daz. Hopefully Sveinar has some inputs on this, and might find a performance fix for the viewport.

    Will keep my current Garuda install on dual boot for now, can rest on installing distros and basically wait for some kind of update to fix the last issue.

     

    Not really sure how to meassure the expected performance of CUDA in the viewport. I am assuming you are using iray and moving stuff around is horribly laggish vs. windows. I do not know if there is a solution to this as of now. nvcuda is a relay library between nvcuda.dll <-> libcuda.so so certainly a huge overhead is expected. Some of the cuda calls has to do with various context storage functions/switching and are probably not very optimized (completely undocumented internal functions not available publically).

    And as previously mentioned some place up the thread here, as of now (sept 2022) i cannot figure out how to fix SDK 11.6+ apps to run.. so if the iray engine gets updated to run OptiX-7.5 or something like that, i think we are all SOL on running cuda. I have not given up, but i have hit a brick wall atm.

     

    At least things are close to working 1:1 . Theoretically usable if someone can stomach using Texture Shaded viewports only until they Render to Window.

  • ssoplerssopler Posts: 22

    I see that there is a new DAZ Studio release, and this release has a update IRAY engine.

    Just from a quick glance, it seems as IRAY 2022.0.1 uses/requires CUDA 11.6. I have not yet tested this, but if it is the case, chances are HIGH that it will fail with current nvcuda wine implementation. Just so people are aware in case it fails to load.

     

    Time permitting i will do some testing (full wineprefix backup ++ so i can roll back if needed be) to verify this, but i have some fears...

  • ssopler said:

    I see that there is a new DAZ Studio release, and this release has a update IRAY engine.

    Just from a quick glance, it seems as IRAY 2022.0.1 uses/requires CUDA 11.6. I have not yet tested this, but if it is the case, chances are HIGH that it will fail with current nvcuda wine implementation. Just so people are aware in case it fails to load.

     

    Time permitting i will do some testing (full wineprefix backup ++ so i can roll back if needed be) to verify this, but i have some fears...

    The DS with updated Iray is not yet available to anyone outside Daz.

  • ssoplerssopler Posts: 22

    Richard Haseltine said:

    The DS with updated Iray is not yet available to anyone outside Daz.

    Yeah, it seems 4.21 still uses the old IRAY engine, and CUDA 11.4, so it works so far. Once it is updated and quite possibly needs CUDA 11.6+ it will probably not work since i am unable to get around the "CUDA RunTime checker" thingy that NVIDIA in their ultimate wisdom has implemented to make sure it wont work wink

  • generalgameplayinggeneralgameplaying Posts: 517
    edited October 2022

    Peter Wade said:

    A virtual machine is not really a solution. You would have to install Windows in it, so all you would be doing was using Windows again but running it in a virtual machine inside Linux instead of natively.

    It really depends on how much interst there is among the Wine developers for applications like DS. I have heard there is a special version of Wine for running games, it would be nice if someone started on one for 3D software but I doubt if there is much chance of that.

    It could make sense, if performance would be near en-par. 

    For one thing, i'd rather virtualize windows on base of linux, than the other way round. For another thing, a linux-based workstation-like hardware may have more uses (+-versatile, if you have them, big plus for KVM and things like QEMU) than a windows-based one. And further, installing software in a VM, keeps the host system cleaner and potentially more safe (thinking of random folders with content writable by all users, making sense depends things like complexity and side effects of the software, of course - just for separating complex work environments, virtualization can be a valid solution).

     

    Concerning games vs 3d software, gaming is just so big in comparison. On the good side, they do try to make stuff work, not sure with workstation graphics cards though. For me there are so many side conditions, that i might put windows on it, just for the uncertainties. 

     

    However with an NVIDIA workstation card, i am not sure if i need extra licenses for virtual machines, which again would be a reason against running Studio in one, as well as against having the card by that vendor in the first place. So there is more questions to be made sure of...

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

    Wow, after 2 weekends of wrestling with my PC, I finally got Iray/Optix working again. So apparently SveSop/wine-nvoptix doesn't seem to work anymore (at least not for me - it wouldn't install). But SveSop/nvidia-libs does work and it includes dxvk-nvapi, nvoptix and a few other things. Thanks to @ssopler and everyone else involved for their hard work.

    As a bonus, I didn't even have to use Lutris (that's broken for me too). Wine-staging and nvidia-libs was all I needed.

    I really hope Daz 3D will consider adding Cycles renderer as an option. It may be more work in the short run, but it would make things a lot easier on a lot of users, not just Linux users, but people who want to render on AMD, Intel or Apple GPUs.

  • Just in case someone comes across the same issue: dforce simulation seems to be broken with the Nvidia 520 driver. It would not work for me on Arch or Mint, while I did not have any issues previously. I just downgraded to 515 via Mint's driver manger and after a reboot dforce is working again. I've no idea what causes this issue but I'd recommend not upgrading for now.

Sign In or Register to comment.