Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We’re making changes to the Unity Runtime Fee pricing policy that we announced on September 12th. Access our latest thread for more information!
    Dismiss Notice
  3. Dismiss Notice

Any chance for Unity to support for ARM Linux?

Discussion in 'General Discussion' started by shivansps, Feb 9, 2015.

  1. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    19,791
    Lumin OS is basically Android running a custom Linux kernel.
    https://developer.magicleap.com/learn/guides/lumin-os-overview
     
  2. meken

    meken

    Joined:
    May 6, 2013
    Posts:
    4
    That's a very interesting thought. It looks like no one tried. I expect it might be difficult to get working though, since who knows what kind of modifications Lumin OS has that a plain Linux install might not have?
     
  3. YamaVR

    YamaVR

    Joined:
    Apr 21, 2020
    Posts:
    1
    Yeah well, not exactly the same capabilities between Intel HD 400 and Kepler GPU with 192 CUDA cores... Just saying...

    Btw there are a lot of automotive R&D ongoing right now using Nvidia embedded systems and AI dedicated hardware that would definitively need some powerful and qualitative interfaces to come along. As Unity3D tends to conquer automotive market, that's a +1000000 reasons to finally deliver this ARM build to Unity!

    EDIT : I'm currently running a Unity build on my TK1 thanks to an dedicated Android OS made by the community (Jedroid). That's nice but not everything is functional and that's quite a pain because Jedroid is no more supported :(
     
    Last edited: Apr 21, 2020
    lmbarns likes this.
  4. rallyDuke

    rallyDuke

    Joined:
    Feb 19, 2021
    Posts:
    3
    Any updates on this?
     
    deus0 likes this.
  5. deus0

    deus0

    Joined:
    May 12, 2015
    Posts:
    256
    With the release of various Linux smart phones, notably the Pinephone Pro, not having unity support on Arm Linux is making me reconsider game dev practices. The raspberry pi has also sold over 36 million units.
     
  6. lmbarns

    lmbarns

    Joined:
    Jul 14, 2011
    Posts:
    1,628
    Also interested, we had a client that wanted to port a Unity android app to the Nvidia Jetson which is linux, but ARM.
     
    deus0 likes this.
  7. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    19,791
    The Raspberry Pi is also not a $400 phone. Be careful you don't ascribe it's success to the wrong reasons.
     
  8. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    9,643
    In addition to this, "various Linux smart phones" doesn't mean anyone is going to own those phones in any real numbers. In addition to that, "36 million units" doesn't really mean much when the rPi generally falls in very specific, very limited use cases.
     
  9. lmbarns

    lmbarns

    Joined:
    Jul 14, 2011
    Posts:
    1,628
    I would say though, I have run a unity android build on a $40 firetv usb thumb stick, I ended up buying the $100 one but it did run on the little thumb stick which I thought was amazing tbh lol.
     
    deus0 likes this.
  10. deus0

    deus0

    Joined:
    May 12, 2015
    Posts:
    256
    I mentioned the pi as a use case, I mentioned the phone as that's what I want to run games on!

    'In addition to this, "various Linux smart phones" doesn't mean anyone is going to own those phones in any real numbers. In addition to that, "36 million units" doesn't really mean much when the rPi generally falls in very specific, very limited use cases.'

    A lot of people have them! They are generally great, if I could run games on my Pi I would! Why not? I'm sure many others would too. This would still be in the millions which is a lot of potential market space.

    'I would say though, I have run a unity android build on a $40 firetv usb thumb stick, I ended up buying the $100 one but it did run on the little thumb stick which I thought was amazing tbh lol.'

    That's right, arm processors have a lot of potential in the future. Games don't have to just be on x86!
     
    Last edited: May 16, 2022
  11. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    19,791
    Yes, because it's a $35 computer. That it is ARM-based and running Linux are merely bonuses for most people.
     
  12. Murgilod

    Murgilod

    Joined:
    Nov 12, 2013
    Posts:
    9,643
    I have five of them. They are not game capable machines almost entirely because of their hardware. They struggle to run a lot of stuff more complicated than enhanced Quake ports.
     
  13. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,423
    There's this thread on the Linux forum about it: https://forum.unity.com/threads/building-for-linux-arm.754931/

    For automotive stuff, we have https://unity.com/products/unity-industrial-collection with the "Embedded Linux" build target. However, it's a very different beast from the Linux Standalone player and serves different purposes.

    Regarding Linux Standalone player on ARM64, there's just no viable gaming market from what we can see there. Sure, Raspberry Pi sold a lot of devices, but how many of those are used to play games do you think? Where do you even buy games for that device? Sure, deploying random prototypes to a small device like that is cool, but we're not going to port Unity to another platform just for the cool factor. We want to be where our creators can be successful, and I'm afraid we don't see Linux on ARM64 as such place today. However, we could be totally wrong. If you have a compelling business case, email sales@unity3d.com and tell them about it. That is the only way this will ever come to fruition.
     
  14. deus0

    deus0

    Joined:
    May 12, 2015
    Posts:
    256
    I agree with the logic. But why can Godot run on it but not Unity. How many external libraries does Unity rely on that make compiling for it harder. I guess these things aren't clear to me as an end user of Unity Engine. Unity is worth billions and used most by game developers, advertises as democratizing game development, it still seems like a worthy investment compared to some of the tools they have purchased which are more niche.

    It is also worthy in how it would benefit humanity, there should always be a certain amount of riskier longer term investment based on long term payoffs. There's also the case that making the engine more widely available would increase future worth of the product as more people using it. Again, I lack analytics on Unity Engine (both for user analytics and revenue streams) so it's impossible for an outsider to make such speculation.

    As for selling games, they can be done anywhere. Mojang sold Minecraft on their website, this even had a pi version. As for performance claims, I don't agree, as I'm a big fan of ECS and most games I see on mobile with minimal functionality would run easily with the right optimizations. But I do agree that it isn't popular to game on a low end machine. And that people using it won't have the budget for games and would most likely go with old emulated games.

    I also think you could easily make shop setups, arcade systems, using arm 64. As retail is plummeting. I grew up with net cafes and I still see a potential in them Using cheaper parts could lower hourly costs, not to mention electricity prices. I don't have the money to invest in such an endeavor, but I do see opportunity there due to the changing market. There was a rise of arcade like VR spaces, but costs for high end VR machines is a lot higher.
     
  15. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,235
    Because it is written in C++ with source code provided. Meaning in theory you can rebuild it for anything that has C++ compiler. And if t he game is 2d, in theory it can be rebuild to run on software rendering.

    For example, it is possible to run unreal 2004 in linux terminal.
    This is basically done by forcing the game run in software rendering mode and swapping libsdl with the version that uses libcaca for output.
     
    deus0 and JoNax97 like this.
  16. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,423
    You're forgetting that supporting a platform is more than just compiling code for it. You need to run automated tests (which for every change we run on every platform we support, each taking days worth of machine time PER platform), test engine features that aren't easily automatically tested, keep up with platform updates, fix any issues that arise, actually spend extra time making engine features that don't work out of the box work on the platform, etc etc. It's pretty expensive to add a new platform to Unity when you add everything up.
     
    RomanoMcBride, deus0 and DragonCoder like this.
  17. deus0

    deus0

    Joined:
    May 12, 2015
    Posts:
    256
    So the issue is just a matter of open vs closed source? That is interesting. It uses OpenGL 2.0 which is pretty old and I heard the drivers for GPU under the hood due to more licensing issues were reverse engineered on the pinephone pro. Not sure on the pi's graphics libraries though, but I am only talking about 3D and using the integrated graphics cards in the arm chips. Wait I just checked and most use MESA 3D for graphics drivers.
    https://upload.wikimedia.org/wikipedia/commons/2/2d/The_Linux_Graphics_Stack_and_glamor.svg

    Yeah the business costs of testing and maintaining. I don't see the actual tests running being too costly though. Based on the cost of a virtual machine running for a day that I recall from amazon and other services. I can see developer resources being used up though, which adds up to be significant enough to be not worth it. I guess all this is easier with more open source development due to the community's power. Thank you for the information.
     
  18. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    19,791
    Godot 3 uses OpenGL ES 2.0 which is based off of OpenGL 2.0 but has the improvements introduced by OpenGL 3.0/3.1. Like the blog below says Godot 4 will no longer use OpenGL ES 2.0 having replaced it with OpenGL ES 3.0 which is essentially OpenGL 4.3.

    https://godotengine.org/article/about-godot4-vulkan-gles3-and-gles2

    This won't have a huge impact since most people have moved on but it does mean that anything older than a decade will no longer work. For example the Raspberry Pi 4 can run OpenGL ES 3.0 but the older models use OpenGL ES 2.0. The Pinephone Pro supports OpenGL ES 3.0 as you would expect.

    http://rockchip.wikidot.com/rk3399

    It's more that someone wanting to support an unofficially supported platform for their game may decide that as long as the game is playable it doesn't matter if it perfectly passes all of its tests. Unity does not have this luxury.
     
    Last edited: May 26, 2022
  19. neginfinity

    neginfinity

    Joined:
    Jan 27, 2013
    Posts:
    13,235
    That's not right.

    Supporting or not supporting a platform comes to someone's decision to put effort into it.
    If the platform is proprietary, the decision is made by its owner.
    If it comes with source code, the decision can be made by you, where you'll herioically sacrifice your time without getting paid for it.

    So while not having source code reduces your chances of running the engine on strange hardware, saying that the hardware is not supported because the code is not opensource is incorrect.

    Practically speaking, adding a new platform means CONTINUOUS support of the feature from now on till the end of time. Or till the end of the engine. And realistically, if you port it yourself to a new platform, most of the time you will not continue to support it and will abandon it fairly quickly.