Home Technical Talk

Someone testing Ubuntu 16.04?

polycounter lvl 3
Offline / Send Message
Fefs polycounter lvl 3
Hi! Today I was really upset with my windows updates and I decide to try work with Ubuntu for some time, I was looking if Polycount has something talking about this topic but the last time was for version 6.10...the one I installed today is 16.04, maybe we can talk again?

For now it is so easy to use, looks nice and now everything is fast (I never tried Ubuntu before, so it was very surprising).

I'm still instaling all I need to work, but substance painter is working already.

Is someone using this too? any tips? what software are you using?

Thanks!

Replies

  • Bek
    Options
    Offline / Send Message
    Bek interpolator
    I was mucking around with Manjaro (Arch based distro) awhile ago. I was very tempted to go with it as my main distro on a recent reinstall, but a few things kept me back on windows. Mainly arma3tools and the conundrum I have with amd drivers in linux. (With AMDGPU drivers, I get excellent (way better than windows) performance in modo, but they are missing extensions for Substance Painter 2 to work. With CCC I get slightly worse poor performance than I do in windows in modo, but SP2 works). It might be possible that to get the best of both worlds with the AMDGPU-PRO drivers, but they're not supported by Manjaro yet. Maybe I'll try a distro they work on. The other alternative is to take a gamble and buy a nvidia card and see if they solve that problem. Maybe when it's time to upgrade I'll do that.

    One quip I've seen about linux/windows that rings very true is "Windows assumes I am stupid, Linux proves it". So if you're tempted to give it a go, be ready for the odd challenge. Don't do it if deadlines are near, or make things easy on yourself by using a separate hdd. Having said that, pretty much everything worked out of the box for me. I didn't have to touch the commandline unless I wanted to. I expect the average user, assuming they don't need a specific program with no native version, download any of the popular distros and have it run fine. In my case (manjaro vs win10) I had less issues and spent less time setting up the former. With win10 I had to spend a fair few hours disabling telemetry, updates, uninstalling app packages (which broke search), and just generally dealing with stupid shit.

    Anyone tested Toolbag 2 under WINE? I forgot to try that. It's not essential though. I'd also be interested if anyone is using UE4 editor under linux, and if they've run into any issues. Handplane seemed to run under wine (didn't test it extensively), handplane baker didn't. I can't recall if I tested xNormal.... if I did, it didn't work.

    Anyway, if you're a modo/blender user, or if you know max/maya can run under wine, give linux a spin sometime. Even if it doesn't work out, it's a fun little experiment.  But if all works out you should have native access to a fairly impressive list of software (especially if you were to consider the same availabilities say, 5 years ago) :

    Modo
    Blender
    Substance Painter 2
    Substance Designer 5
    Unreal Engine 4
    Krita
    MightyBake

    zBrush should run fine in a windows VM. And as mentioned Handplane (not baker) works in Wine. Not sure about photoshop in wine. Google also tells me there was at some point an experimental linux build for Unity, so maybe that became a thing as well. I don't follow unity much.

    But anyway, if you're technical-minded or like mucking around, give it a go. If you want something that just works, stay with windows. In my case linux does almost everything I need it to do. Windows does everything I need it to do, plus a bunch of things I don't want it to do.
  • JedTheKrampus
    Options
    Offline / Send Message
    JedTheKrampus polycounter lvl 8
    Maya and Mudbox can be installed and made to run on almost any Linux distribution as well, although you will probably have to jump through some hoops to do so on Ubuntu compared to RHEL/CentOS.

    Mari and 3D-Coat both run really well on Linux too.

    The setup I've arrived at involved a couple of days of mucking about. I'm running a Windows 10 virtual machine to run a couple pieces of software (Zbrush, Toolbag, Photoshop if a freelance job requires it and maybe a few game engines here and there.) Windows video games run about as well as they would on an RX 460 on a bare-metal Windows installation. I've passed through an RX 460 to the VM to run these programs using vfio-pci, IOMMU, and QEMU and they all run pretty well. (You can run Zbrush just as well without passing through a video card though, even in Virtualbox, as long as you pass through a USB tablet.) I have a GTX 1070 that runs my Linux host on Nvidia's proprietary drivers and that runs Blender, Mari, Krita, Substance, and sometimes Mightybake. Out of these, Blender and Krita run quite a bit better on Linux and Mari is perhaps a little bit faster because the cache is on an ext4 filesystem instead of an NTFS filesystem. I have a cheap $15 HDMI switch to switch my Cintiq 13HD from one GPU to the other. Switching the tablet from one OS to the other requires pushing a button on this switch and adding or removing the tablet device from the VM in virt-manager.

    The host is running Fedora 24 because there's a lot of new-ish hardware in this machine. It's possible to set most of this stuff up in any distribution.

    The virtual machine connects to my LAN through a bridged connection and I'm running Synergy to share keyboard/mouse for general usage and Samba for file sharing between guest and host.

    Toolbag is pretty unlikely to run on Wine because it's using DX11 to render, which Wine doesn't implement well. If there were a way to force it to use the OpenGL renderer instead it would probably work fine.

    I didn't put together this setup for game art so much as writing rendering code because I was getting tired of adding/removing cards and drivers and rebooting to other operating systems. With this setup I can test all of the different AMD drivers on both Windows and Linux without too much trouble (I'm running a small throwaway Ubuntu VM just for AMDGPU-PRO), I can use Visual Studio remote debugging on the Linux host if I wish, and I can still capture debug info on my Nvidia card on Linux with Renderdoc and then use the Windows GUI to look at the data.
  • Fefs
    Options
    Offline / Send Message
    Fefs polycounter lvl 3
    Thanks for the tips!
    This one is not my principal machine yet, but if my experiments go well I want to make the transition for that and buy a better graphic card. This one have only a nvidia GT 730, is a i7 with 16gb ram.

    My first try was the substance painter, because in windows I was having a "missing update problem" that don't started the program anyway and the update never appear to work too.  In Ubuntu, I just had to use the command line to make the license be installed and done. Happiness forever again...

     I would like to make photoshop, x normal, topogun or 3dcoat, maya, zbrush, Ue4 work there.

    So thanks for the tips, now I can cut the research for some!

    Nice to know that 3d coat and mari works ok there, probably nuke work too right?

    I'm curious with marvelous designer too, I'll try.
  • Bek
    Options
    Offline / Send Message
    Bek interpolator

    My first try was the substance painter, because in windows I was having a "missing update problem" that don't started the program ... In Ubuntu, I just had to use the command line to make the license be installed and done.
    That wasn't the "api-ms-win-crt-runtime-l1-1-0.dll is missing" error was it? Because I literally just went through that the other day.

    You could also use Steam on ubuntu to install Painter (iirc you can redeem a steam code on your allegorithmic account if you don't have one already) if that makes license/updating easier for you, just a thought.

  • JedTheKrampus
    Options
    Offline / Send Message
    JedTheKrampus polycounter lvl 8
    Nuke should work although I've not tested it (it's got a native version.) Xnormal and Zbrush should work fine in a pretty normal Windows VM in Virtualbox or something similar, and that's how I'd recommend running them. Or, you could bake natively in Substance tools which is what I'd probably recommend. UE4 you'll have to compile from the source code, and some rendering features like distance field AO might not work without jumping through some hoops. I'd recommend skipping Photoshop, or perhaps keeping an install in your VM for checking PSDs from Krita. You can run an older version in Wine, but it's less reliable than running Krita natively. Topogun and 3D-Coat both will run natively, and out of the two of them 3D-Coat is probably easier to install and get working. For Marvelous Designer Wine is probably your best bet, but I'm not sure whether it would work well or not.

    If you don't want to run a Windows VM 3D Coat and Mudbox together are just about as good as Zbrush is.
  • thomasp
    Options
    Offline / Send Message
    thomasp hero character
    Bek said:

    If you want something that just works, stay with windows.

    this mirrors my experience - i've last ran ubuntu 14 LTS on a very standard i7/asus mobo/geforce system and it wasn't pretty. a big old work in progress that required a lot of googling for workarounds to stay on top of issues. just trying to configure and run some application that was not part of ubuntu's 'app-store' had the potential to turn into an afternoon's worth of entertainment all by itself.
    seriously, that thing - without a tech guy around and with the requirement to potentially run a whole range of applications that did not ship with it originally or are intended for a different linux flavor altogether - good luck!

    in the end i nuked my installation from orbit. only way to be sure!

  • Fefs
    Options
    Offline / Send Message
    Fefs polycounter lvl 3
    Yeah, it is still work in progress, make the VM run the win10 was a bit boring, and I was expecting it to be faster than is now, but I'll try some more, just because I liked all the rest so far.

    @Bek yep this is the one, making me like crazy trying to fix. 

    @JedTheKrampus  I'll try to work most with the VM and natives, I read that photoshop in wine is a nightmare but krita is interesting, I was looking a guy at youtube working with it and it's look very stable and almost the same as photoshop, I'dont need anything very fancy for work there so if is good I can try change.  
    Never tried to sculpt in 3Dcoat, but it is turning in something so complete, that must be good so I'll force myself to work more with it. 

    I remember too that I need after effects, I'll try to run it in VM. Adobe is a problem here....I imagined that this software was supposed to work fine everywhere. 

    @thomasp Haha, Yes! The experience is still ok for me, cool to try new stuff, I'm a little noob but till now google helped. The part of "Windows assumes I am stupid, Linux proves it" that Bek said earlier feels true a lot yet.

     
  • JedTheKrampus
    Options
    Offline / Send Message
    JedTheKrampus polycounter lvl 8
    I'm not a compositing specialist, but Nuke and Fusion both run natively and are probably your best bets for After Effects alternatives.

    3D Coat and Mudbox together are just as good as Zbrush is on its own, at least for the parts of the workflow for which sculpting is the most useful. 3D Coat is really good for starting a sculpt and Mudbox is really good for finishing a sculpt. You might even be able to get away with just 3D Coat depending on how extensively you sculpt.

    If you want to know how to do something in Krita I'd be happy to help you out. Just summon me to this thread again and I'll tell you what I know. There are a few really neat things Krita can do that Photoshop can't.

    Adobe is a bit problematic...I assume that they must have a lot of code that depends on having case-insensitivity in the file system, especially for Photoshop.
  • Bek
    Options
    Offline / Send Message
    Bek interpolator
    Fefs said:
    @Bek yep this is the one, making me like crazy trying to fix. 
    https://social.msdn.microsoft.com/Forums/vstudio/en-US/64baed8c-b00c-40d5-b19a-99b26a11516e/visual-c-redistributable-for-visual-studio-2015-rc-fails-on-windows-server-2012?forum=vssetup
    Issue solved; I downloaded and mounted the 2015 ISO, manually executed the command in the above text box to install KB2999226, manually downloaded and installed dotnetfw4.6 (not sure if this was necessary). Ran vs_community from the ISO, this time installation ran through without any issues.
    So do the required windows updates, and uninstall then reinstall (not repair) vc_redist from the VS 2015 ISO. Downloading the individual 2015 installers didn't work for me. Read a bunch of the posts in that thread anyway as there might be more.

  • Fefs
    Options
    Offline / Send Message
    Fefs polycounter lvl 3
    What I learned today....krita is awesome, have a lot of things that I saw in another softwares but never in photoshop.

    VM with win 10 was ok till I try install zbrush 4r7...now it is like a light show. x.x. I'll have to start over to fix it and is a headache. 

    Use what is ready for linux is best way to be more productive.

    3D coat works very good there, I would like to test it more to sculpt before try to learn Mudbox, but Is a way to go if I want to stay with Ubuntu. I not a expert in nuke, but the things I can do in After Effects for motion graphics, I not sure if it have the ways to do with nuke, like duik rigs per example.

     For a texture artist, Ubuntu is very good with substance and Mari, but
    I'll have to change all my workflow to make it work with Ubuntu for sure, not that is a bad thing, just a questions of adaptation and time.

    I'll try to install Maya yet and Ue4, so it can be the substitute for marmoset.


    @Bek Hey Thanks for looking it for me! 

    @JedTheKrampus I'm summoning...please tell the secrets of Krita. XP

  • JedTheKrampus
    Options
    Offline / Send Message
    JedTheKrampus polycounter lvl 8
    All right, first tip I'll give, just because it can be kinda hard to find, is how to solidify UV margins in Krita for more accurate mipmaps.

    I recommend, for any sort of unique-UV texturing, to keep a mask of your UV islands around. The final textures, before solidification, should have the UV islands plus one extra pixel of dilation masked out for the best results. Here's my hypothetical example 2-minute texture.



    Then, the gutters need to be soldified. Be sure to save first, because sometimes G'MIC can crash Krita. Go to Layer menu->Flatten Image, then Filter->G'MIC. The G'MIC popup has a big list of filters in the middle. Go down to Repair->Inpaint (solidify) and click OK. (The other Inpaints are used for "content-aware fill.") Here's what the texture looks like now:



    This is passable, but not ideal. If you need a better solidify, you can do it with Blender's compositor instead, or use the GIMP G'MIC plugin which recently got an update that added a Repair->Solidify filter which is functionally equivalent to Flaming Pear's solidify filters for Photoshop. I think Blender's compositor gives the best results, with a nice crisp edge between the big areas of color. It's also faster.



    If your texture will be sampled with wrap mode on (which is the default but can slightly lower your effective texel density) you can offset the texture, inpaint the offset version in Blender, offset it again in Krita to get it back in the right position, and composite it over the first inpaint. In Krita you can offset your image with Image menu->Offset Image. The result of that would look like this:



    I selected a rectangle that didn't include the last 20% of the image on all sides, feathered the selection some, inverted it so that the edges were selected, and added a transparency mask to the upper layer (which was offset and inpainted) so that the inpainting goes across the edges of the image.

    To inpaint in Blender, you need to go to the node editor, pull up your compositing nodes, add an Image input node and an Inpaint node, and connect them like this (and set the Inpaint distance to however large you want it to be.)



    Make sure to set render resolution to match your source image.

    I inpaint my final textures in Blender and mostly skip G'MIC inpaint because it can be buggy, slow, and crashy. I prefer to preview textures with the UV islands mask off instead, which has basically the same effect at high-resolution mips.

    If you need elaboration for any of this stuff, let me know and I'll go back and edit it to be more specific.

    To be continued. 1/?
  • JedTheKrampus
    Options
    Offline / Send Message
    JedTheKrampus polycounter lvl 8
    Krita wisdom part 2: why inherit alpha, clone layers, save group layers, and copy channel are really, really neat.

    Let's say you're making a texture set for a character in UE4 that's done with unique UVs. The character's skin will use Subsurface Profile shading model and will have base color, roughness, AO, normal, and possibly subsurface opacity maps. The character's eyes will use the Eye shading model and will have an iris map, a sclera map, a normal map, and a height map (or something like that.) The character's hair will use the Hair shading model and will have a base color map, a root-to-tip map, a height map, a self-shadowing AO map, and a unique-value-per-strand map that will be used to give particular attributes to particular hairs. The character's cloth map will use the Cloth shading model and will have a base color map, a roughness map, a normal map, an AO map, a specular tweak map, a metallic map, a fuzz color map, and a fuzz opacity map. How the fuck are you supposed to handle all of these inputs in something like Krita? Here's how. First, the relevant features.

    Inherit alpha uses the transparency of the combined underlying textures to limit the transparency of the current layer that has inherit alpha enabled. It's the middle icon to the right of the layer name. On its left is an icon for lock, and on its right is an icon for lock alpha. Here's a quick example. Layer 1 is made of red strokes, and layer 2 is made of green strokes and set to inherit alpha.



    You can see how the red strokes contain the green ones. This is similar to clipping masks in Photoshop, except you inherit alpha from all the underlying layers instead of some of them, so it becomes necessary to use groups to limit your alpha inheritance to one or a couple of layers.

    Clone layers make a copy of an existing layer that you can move elsewhere in the stack. This can be useful to create effects like soft glow on a lightsaber. Or, you can create a clone layer and transform it. But the use case that interests us is putting a clone layer on the bottom of a group, so that we can inherit alpha from it. To get a clone layer you click the arrow next to the + button on the layer palette and click Clone Layer.

    Save Group Layers is a feature that lets you export all of your top-level groups. So, let's say that you have one group with a diffuse map, called D, another with a normal map, called N, another with a set of packed masks called M, and so on. You can export them all by going to Layer->Import/Export->Save Group Layers. Then just put .tga at the end of the filename, make sure Export Top-Level Groups is on, and click Export. If you don't want to export all of your groups you can hide the ones you don't want to export. In this way you can re-export all of the textures in your set.

    The Copy Channel blending modes allow you to non-destructively pack masks. Let's say you have a metallic mask, a roughness texture, and an AO texture. They're all greyscale, so you can pack them together to save space. Set the metallic group to Copy Red (under Misc), the roughness group to Copy Green, and the AO group to Copy Blue, and they will update non-destructively and independently. When you need to work on one in the group without looking at the others, you can change it to Copy or Normal blending mode, hide any others that are above it, and go to town.

    You can accomplish the same thing by unchecking the other channels in the Layer Properties, but this way is faster and easier.

    If you want to pack something in the Alpha of a texture, there's no way to do that non-destructively, but you can right click the group to isolate it, select everything, copy it, add a transparency mask layer above the other masks, and paste into the transparency mask. Unfortunately you have to re-do this whenever you change the Alpha channel which can be a little annoying.

    You can use these to work with several BRDF parameters, kind of like you can in the Substance tools (although it's clunkier.) Clone a layer or group of your base color map, take it over to your metallic group, add a fill layer set to the color white, set the fill layer to inherit alpha, and then when you change that layer or group, the areas that are now affected by that layer of the base color will automatically be made metallic. It's a very flexible system and worth messing around with.

    I may post examples later but I've got to go to a Burning Wheel session with my friends.
  • Fefs
    Options
    Offline / Send Message
    Fefs polycounter lvl 3
    @JedTheKrampus Cool! Thanks for the tips, I'll test it. Be free if you want to post samples here. 

    I'll be testing what I have in Ubuntu for a while, to decide if I get used to it. Later I post what was the results of my adventure hehe.
  • JedTheKrampus
    Options
    Offline / Send Message
    JedTheKrampus polycounter lvl 8
    Little addendum here: in part 2 I stated that you could paste into a transparency mask to create your texture's alpha channel. That is actually not something you can do. Instead, you must copy the greyscale mask, paste it into a paint layer above your other masks groups, right click that layer, and convert it to a transparency mask by going to Convert->Transparency Mask. I haven't done a whole lot of packing into alpha channels recently so please excuse my mistake.
Sign In or Register to comment.