Search Unity

Any chance for Unity to support for ARM Linux?

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

  1. shivansps

    shivansps

    Joined:
    Feb 26, 2014
    Posts:
    60
    There are any plans to add ARM linux support (And OpenGL ES support for ARM linux) to Unity?

    The new R-PI 2 and Odroid-C1s opens a lot of new posibilities.

    BTW, sorry title is wrong, i cant edit it.
     
    lmbarns and deus0 like this.
  2. XGundam05

    XGundam05

    Joined:
    Mar 29, 2012
    Posts:
    473
    I'm gonna bump this, as I too am curious. Especially as the Raspberry Pi 2 is Arm v7.

    (If nothing else, I'll download Unity 5 and give it a look-see...can't take any longer than setting up a cross-compile toolchain for Urho 3d)
     
  3. cimota

    cimota

    Joined:
    Sep 9, 2013
    Posts:
    11
    I was talking earlier today about this.

    At UNITE 14 they made it clear that a Linux port of Unity was incredibly unlikely. But considering that a Blackberry is down below a million subscribers (according to the news) and the Raspberry Pi 2 is selling like hot cakes, it would be smart to add it as a build target.

    Not least because the BBC just announced they were giving away a million Pis to Year 7 kids. Get them building the games on PC and Mac and running their games on their attached Pi!
     
    XGundam05 likes this.
  4. bigSadFace

    bigSadFace

    Joined:
    Aug 18, 2014
    Posts:
    116
    Not quite, the boards they will be giving youngsters will be based on a very simple Amtel part and will pale in specification to an Arduino.
     
  5. shivansps

    shivansps

    Joined:
    Feb 26, 2014
    Posts:
    60
    Editor for RPI 2 does not make sence, 1GB is just no enoght...

    But supporting ARM Linux for build target shouldt be that much different from supporting x86 linux, except for the OpenGL ES thing.
     
    XGundam05 and angrypenguin like this.
  6. cl9-2

    cl9-2

    Joined:
    May 31, 2013
    Posts:
    417
    Would ARM Linux be considered an embedded platform? I think Unity has restrictions on deploying to embedded platforms.
     
  7. angrypenguin

    angrypenguin

    Joined:
    Dec 29, 2011
    Posts:
    15,620
    There must be confusion here. Unity already supports (x86) Linux as a runtime platform, it's only the Editor that doesn't run there (just the same as it doesn't run on an iPhone or an Xbox, but you can build things with it that do).
     
    Ryiah and Ostwind like this.
  8. cimota

    cimota

    Joined:
    Sep 9, 2013
    Posts:
    11

    There must be confusion here? Yes. Unity runs on Mac and Windows. The products of Unity (the runtimes) run on 21 different platforms. Adding the Pi2 would be smart, IMO.
     
    deus0 likes this.
  9. cimota

    cimota

    Joined:
    Sep 9, 2013
    Posts:
    11
    They support OpenGL ES on IOS surely...so it's not that...
     
    deus0 likes this.
  10. XGundam05

    XGundam05

    Joined:
    Mar 29, 2012
    Posts:
    473
    OpenGL ES does require some rejiggering to get working for non-mobiles (Ogre was rather a pita to get reconfigured), so it is non-trivial. And it's not like there's a particularly large market at the moment...mostly just hackers and makers.

    That being said, if there was ever a day to announce RPi support, today would be it ;)
     
  11. XGundam05

    XGundam05

    Joined:
    Mar 29, 2012
    Posts:
    473
    Gonna bump this again, because not gonna lie, switching away from the Unity workflow is a pain. Do-able, but a pain nonetheless (and my C++ is still a bit rusty -.- Curse you C# and Intellisense /shakesfist)
     
  12. NinjaISV

    NinjaISV

    Joined:
    Dec 29, 2014
    Posts:
    124
    I'm also curious if this coming to Unity...
     
  13. JonMu

    JonMu

    Joined:
    Sep 19, 2015
    Posts:
    1
    I'm curious as well
     
  14. elmar1028

    elmar1028

    Joined:
    Nov 21, 2013
    Posts:
    2,359
    I am curious too
     
  15. shivansps

    shivansps

    Joined:
    Feb 26, 2014
    Posts:
    60
    Now that PI Zero has been released i want this even more, there is really no chance?
     
  16. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,203
    This strikes me as a fairly unusual platform. Most people gaming on ARM are likely to be running one of the major OSes like Android. Either way the Pi itself is a waste of time. Someone already managed to get a quick demo running on the Pi 2. A simple rotating cube without anything else visible at lowest quality settings. It managed a whopping 10 to 15 FPS.
     
  17. shivansps

    shivansps

    Joined:
    Feb 26, 2014
    Posts:
    60
    Hes not sure if hardware accelerated, via Windows 10 for IOT and Universal Apps, im not sure if that is a good idea, same reason of why Android is not a good idea either.

    Raspberry PI 1B can run Minecraft, and thats slower than the new PI Zero, we should be OK on Raspbian (ARM Linux + OGL ES 2.0), that has to be the faster way, CPU optimizations gona be the greatest challenge, but its GPU has to be more than enoght, VideoCore IV is faster than a Mali-400MP2.

    ARM Linux is not really a big thing to support because we already have x86 linux and OpenGL ES on other platforms.

    Anyway i opened a feeback https://feedback.unity3d.com/suggestions/raspberry-pi-zero-arm-linux
     
  18. IanAtMorph3D

    IanAtMorph3D

    Joined:
    Sep 17, 2015
    Posts:
    38
    Though the Pi family is quite popular, it's not a terribly interesting hardware platform for ARM Linux gaming. A better example of potential gaming platforms would be the Jetson TK1 or Jetson TX1, from personal experience I can tell you the TK1 is a wonderful piece of hardware (also the same hardware found in the Nvidia Shield "gaming" tablet).
     
    Zuntatos and Ryiah like this.
  19. shivansps

    shivansps

    Joined:
    Feb 26, 2014
    Posts:
    60
    Well if you can target ARM linux with OpenGL ES, you can target them all, there are a lot of other options as well.
    For starters, simplier games on PI is a good option.

    The part that i dont understand is why this is not done already, it looks to me that most of the work its already done.
     
    Last edited: Dec 14, 2015
  20. IanAtMorph3D

    IanAtMorph3D

    Joined:
    Sep 17, 2015
    Posts:
    38
    The Raspberry Pi's biggest selling points are, the price point and community. Much like Arduino products the hardware is unremarkable (and, at times, remarkably bad), the selection of and support for open-source projects is what floats both platforms. The Pi is good for MAME games, it's great as a microcontroller on steroids, as a full-blown computing platform it's the equivalent of swatting flies with a ball-pein hammer.
     
  21. shivansps

    shivansps

    Joined:
    Feb 26, 2014
    Posts:
    60
    If the PI B can run Minecraft you can be sure it can run 2D games, the $5 Zero is faster than the PI B, and the PI 2 is a lot faster.
     
  22. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,203
    It has a faster processor but does it have a faster GPU? To my knowledge the GPU is the same across them all.
     
  23. shivansps

    shivansps

    Joined:
    Feb 26, 2014
    Posts:
    60
    mostly CPU, but gpu is the main problem, the GPU is the same, it changes the frecuency, so i think the PI Zero is also faster than the PI B on gpu.

    The GPU should be faster than Mali-400, you ever tryied to run a unity game on a android tablet with a AllWinner A10? those where very popular back in the day, the gpu is slower than the one on the PIs.
     
  24. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    If Unity supported Arm Linux with a GPU renderer then any Pi should run simple scenes fine. On Windows IOT it would require Microsoft to support DX on it (Apparently that's on a todo list somewhere)

    I think it would also be possible to run a WebGL build on the Raspberry Pi 2 and maybe even 1 (I bet it's not that simple even with the GPU accelerated web browser) The funny thing with that is that on Windows IOT code seems to run fine, it's just the renderer that's an issue where on WebGL the render is fine but the code is super slow.
     
  25. VeggieVampire

    VeggieVampire

    Joined:
    May 18, 2016
    Posts:
    8
  26. seyahdoo

    seyahdoo

    Joined:
    Sep 9, 2015
    Posts:
    1
    Correct me if im wrong but, cant you install android on raspberry pi?

    Just install android on raspberry pi and build unity for android. Works like a charm.

    I dont have a raspberry pi now but i did tested it with my "orange pi plus 2", it works.

    Here's an android image for RPi
    https://groups.google.com/forum/#!topic/android-rpi/1JGmYQLyJsc
     
  27. stylophone

    stylophone

    Joined:
    Aug 16, 2012
    Posts:
    37
    Bump this. Allow Unity to be built as headless ARM Linux binary would be very useful for network server development in some case.
     
    angusmf likes this.
  28. angusmf

    angusmf

    Joined:
    Jan 19, 2015
    Posts:
    261
    +1 for arm Linux build target. Would like to be able to run local game servers on the cheap hardware without Android.
     
  29. Max_Bol

    Max_Bol

    Joined:
    May 12, 2014
    Posts:
    168
    The thing is that Linus is easier to setup with its Modular Approach when it comes to its DE (Desktop Environment).
    It's not for nothing that SteamOS is a Debian-based Linux operating system.

    Building your own DE on Android is quite a pain in the butt.
    On Linux, it's basically something that lots of people do within the first year from which they start using Linux. Be it by using something 100% made by someone else (as a start) or by using something that allow them to modify their DE without any impact on the OS performances, the Linus OS rules over Android when it comes to making your own stuff for the OS.

    You could see Linux as a kind of custom car you can build pieces by pieces, selecting what you really want for each part while Android is pretty much like a generic, but highly optimized car with limited option as for the car itself and to which you get possible options offered by the ones behind the version you're using.

    I don't hate Android as an OS. I love its simplicity and compatibility for my phone and tablet.
    But that simplicity and compatibility comes at a cost that limits the possibilities when you want to get out of the usual ways.

    To give you an example, you could build a DE that makes Linux looks like any Consoles' OS (visually) and add your games made with Unity in a library on it. (Or create your own DE for a new & unique Console look.) You could even make your own Online Shop (with the relevant knowledge) for it. All that is relatively simple in Linux if you compare the requirement to what such a thing would be with Android which basically lack in the DE due to how much of a cluster it is when it comes to its GUI management systems.

    The main reason why a bunch of us want the possibility to make builds of our games for ARM based Linux is so that they can be run within some kind of custom desktop environment that can be tweaked as needed. We want to improve not only within the specs of our games, but also within the specs of the environment on which our games can run.
     
  30. apowers313

    apowers313

    Joined:
    Jan 18, 2017
    Posts:
    1
    +1 for an ARM Linux build target since it is quickly becoming the architecture of choice for embedded projects. My use case isn't for games, but for IoT applications that require 3D graphics.

    The current requirement to use Android for those projects is a pain -- it really slows down development, especially where additional native code is required to run in parallel with Unity. Adding a Linux ARM build opens up the ever expanding world of SBCs (Nvidia Jetson, Asus Tinker Board, etc.) as well as SoCs (Snapdragon, Rock Chip, etc.).I think there is a huge growth opportunity for Unity here.
     
  31. Pete_1061

    Pete_1061

    Joined:
    Apr 17, 2015
    Posts:
    16
    Bringing this saga back up to the top...

    2018: Pi is up to #3, with a host of new clones out there.
    The ODROID XU4, with 2GB of ram and a faster 8 core xynos processor and a mali gpu.
    Or the Rock64, an A64 based system with 4GB ram.
    Plus many more...Nvidia, Asus.... it's a growing market...... ROBOTS ARE HERE!
    Why just play with graphic 'fake' robots on the monitor?, have Unity power real ones!
    Embedded can put Unity into toys as well.

    People may have been dismissive of 'IoT" and the Raspberry Pi a few years ago, but the 'maker' world is accelerating as of 2018, and U.T. needs to get on board with that! Are you guys just gonna bank on the flat world of the computer screen?

    Those of you who agree, vote this up:...
    https://feedback.unity3d.com/suggestions/platform-support-for-arm-linux

    There are also new multi-board 'cloud' solutions for sale out there using Pi & Pi clone boards. Developers could use that kind of thing for game servers.

    Time to start taking the ARM architecture seriously.

    (thought of one more)
    P.S:
    And what about the S.T.E.M. educational market. Nintendo see's something in it. ARM support for Pi & Pi clones would bring Unity Technologies into that market as well.
    2015 may not have quite been the time for it, but now, 2018, is!
     
    Last edited: Mar 4, 2018
    angusmf likes this.
  32. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,203
    What is the commercial potential of the 'maker' world? Unity may advertise that they want to democratize game dev but at the end of the day they're a business and any platform has to be able to pay for itself. We've had them introduce platforms only for apparent interest in those platforms to be so low that they were soon discontinued again.
     
  33. RichardKain

    RichardKain

    Joined:
    Oct 1, 2012
    Posts:
    1,261
    If you install android on a RPI 3, you can deploy Unity apps to it.
     
  34. Joe-Censored

    Joe-Censored

    Joined:
    Mar 26, 2013
    Posts:
    11,847
    I don't think the demand is really there yet. Adding a new platform to Unity and maintaining it is a significant investment. I don't see using the game engine for operating a robot, something it wasn't even designed for, is that compelling. You can already write native code outside of Unity to operate the robot and write a front end in Unity for mobile or desktop to remotely control it as it is.
     
  35. angusmf

    angusmf

    Joined:
    Jan 19, 2015
    Posts:
    261
    My use case running a server on an SBC, preferably with an ARM proc. I wrote some native plugin stuff to allow starting a new process on Android. Plan is to get as far as I can with that and ask Unity for help if there are serious impediments. If there's an actual product to ship, I think they'll be more inclined to take it seriously, perhaps even assist with an ARM Linux build.
    All this is just technical talk though. For all I know, there may be licensing restrictions on the runtimes that make this completely impossible anyway.
     
  36. Voronoi

    Voronoi

    Joined:
    Jul 2, 2012
    Posts:
    590
    I've launched a Unity game on an android RPI 3 and it....ran. Meaning, yes, if want to rotate a 3D model using the Unity Engine on a Pi, it can do that. Anything more and you are really pushing its limits, mainly based on the GPU which is not very powerful. I was much happier with the performance when using C++ and openFrameworks to display a 3D model.

    I think the use-case for porting Unity would be so limited, it's just not clear what the point would be until the Pi gets the performance of at least a low-end smartphone. I would love it if it happened, but totally understand why it's unlikely.
     
  37. angusmf

    angusmf

    Joined:
    Jan 19, 2015
    Posts:
    261
    The pi is no good for Unity because they're dedicated to their slow open source GPU. There are many better options which will run Android and probably Unity. See a few posts up for a list. Android TV boxes could also work.
     
    Last edited: Mar 6, 2018
  38. RichardKain

    RichardKain

    Joined:
    Oct 1, 2012
    Posts:
    1,261
    Oh gosh, low-level coding runs better on a min-spec'd system than a modern middle-ware engine? That isn't surprising. That's perfectly normal. If you are dealing with an extremely low-spec'd system like the Raspberry Pi, or other hobbyist DIY systems-on-a-chip, you are going to get minimal performance that benefits heavily from optimization. Expecting to get 3D graphics at 1080p on one of these things is crazy, and if you really want that you better be ready to roll up your sleeves and dig into some ARM assembly.

    A slightly more reasonable approach would be to dial back the performance expectations for your game, and work around that. Reducing the resolution you're targeting, and using Unity to scale a scene up from an even lower resolution than that, can boost your performance for a minimal system. Also, think sprites, not complicated, normal-mapped 3d graphics. Running Doom 3-style graphics on a computer that small and underpowered is crazy. That's demo-scene development, not Unity development. If that's what you want, go nuts. The documentation for the hardware is there. But don't expect a major middleware platform to target something like that.
     
    Doug_B, Joe-Censored and Ryiah like this.
  39. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,203
    Were you honestly expecting anything else? Back when the Raspberry Pi was just getting started my research often turned up discussions about how the community wanted a platform that was as open as possible. A closed source blob, which would be necessary to achieve the bulk of the performance, would be contradictory to the entire purpose of the platform.

    By the way since people may have forgotten the purpose of the platform is education and not building gaming machines.

    My recommendation is an x86-based board. An ARM board may save you money but you'll have a far less capable system.

    https://shop.udoo.org/usa/x86.html
     
    Last edited: Mar 10, 2018
  40. angusmf

    angusmf

    Joined:
    Jan 19, 2015
    Posts:
    261
    What exactly is your problem? I stated something pretty simple, factual and non-confrontational. The pi is no good for Unity for exactly the reason I stated. No judgement. Never said I expected anything. So...

    As for your opinions about what boards are for what, consider that filed under "confused." As in, you seem confused.
     
  41. angusmf

    angusmf

    Joined:
    Jan 19, 2015
    Posts:
    261
    I'm guessing, but licensing requirements were likely the hard reason that we've never had Linux arm. Now that the license is not an issue, it might be a matter of making a really good case for what you want to do. I've had a use in mind for a while that would probably even run on pi Android. It would be nice not to have to write plugins to do anything with the system, though.
     
  42. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,203
    I was simply asking what you were expecting and pointing out that the platform was never intended to be more than an educational tool (specifically one for programming and a basic understanding of hardware at a pre-university level). If you wish to see that as confrontational that's your choice.

    I've been tracking the Raspberry Pi since the very beginning. They were always intended for educational use.

    https://www.raspberrypi.org/blog/first-post/

    An interview with one of the founders. He mentions that it was intended for educational use but that it had broadened a bit (most likely because the adults who were showing interest would be able to fund it enough to make it more than just a pipe dream).

    http://www.businessinsider.com/insi...is-25-computer-could-change-the-world-2011-12
     
  43. RichardKain

    RichardKain

    Joined:
    Oct 1, 2012
    Posts:
    1,261
    Ryiah is quite correct. The Raspberry Pi was always intended as an inexpensive educational platform. That is why its design has always been open, and general-purpose. They don't focus it on any one discipline, specifically so that it can be used to experiment in almost any discipline. It's primarily intended to provide a low-cost learning solution for STEM fields. Anyone wanting to start learning programming can pony up the $100+ for a Raspberry Pi and accessories instead of dropping $300+ on a full computer rig. It drastically reduces the entry point for learning about computers and programming.

    And it's not like this is a bad thing. Thanks in part to the popularity of the Raspberry Pi, the IOT market is booming, and the average consumer is now flush with various options for these low-cost boards. If the Pi doesn't meet your needs, just look elsewhere at any of its numerous competitors. There are plenty of other options that are probably more focused on what you are trying to achieve. I know that several of them support Android right out of the box, which would give you an easier entry point for running Unity apps on them.

    Licensing is definitely not the issue with Linux ARM, Linux is an open-source operating system with thousands of different branches and variations. Anyone who wants to can go in and-rebuild or port their own versions of Linux. And this is usually what happens. Unity doesn't bother because there's no real financial incentive. Anyone looking to run a game off of a Raspberry Pi is likely doing it just as a hobby. Anyone serious about deploying a more substantial game will likely just build a minimalist rig and run Unity off of that.
     
    Ryiah likes this.
  44. angusmf

    angusmf

    Joined:
    Jan 19, 2015
    Posts:
    261
    I don't see anyone arguing that the pi should be able to run games, or anything else that warrants ranting about what it's "for". I did point out that there are ARM based boards that can run Unity, but that was shot down with no justification. Let's ignore the billions of games already running on ARM. I would like a chance to test the supposed efficiency advantage of ARM for certain applications.

    I was referring to Mono licensing, which was not free commercially until a couple years ago, and was on a per-platform basis. Sorry if I wasn't clear on that.
     
  45. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,203
    Clearly there is some form of miscommunication happening here. There is no other way to explain how a recommendation to choose x86 instead of ARM (and only because of performance considerations) is being interpreted as "shot down with no justification".

    There are definitely ARM-based boards that have advanced performance inline or exceeding some of the x86-based boards but the costs quickly ramp up with the increased performance. The NVIDIA Jetson TX1, for example, is almost $500.

    https://www.amazon.com/NVIDIA-Jetson-TX1-Development-Kit/dp/B017NWO6LG

    By comparison the Udoo x86-based Advanced Plus is under $200.

    https://shop.udoo.org/usa/x86/udoo-x86-advanced-plus.html

    Mono has always been open source and available for commercial use. While the C# compiler is licensed under the GNU General Public License the runtime libraries were under the GNU Lesser GPL and the class libraries were under the MIT X11 license.

    Mono offered alternative licenses for companies that didn't want to use the GNU LGPL but they were never required.

    https://en.wikipedia.org/wiki/Mono_(software)#License
    https://web.archive.org/web/20040613000925/http://www.mono-project.com:80/about/licensing.html
     
    Last edited: Mar 12, 2018
  46. RichardKain

    RichardKain

    Joined:
    Oct 1, 2012
    Posts:
    1,261
    Yes, the primary limitation regarding C# was for Xamarin. But Xamarin was used primarily for adding support for iOS, and had nothing to do with supporting Android or ARM specifically. Moreover, Unity didn't use Xamarin. They had their own back-end solution for supporting platforms like iOS, and weren't dependent on Xamarin. The extra charge at the time for supporting mobile platforms wasn't due to licensing, it was just a matter of charging for extra features.

    Architecture support was never really related to the open-sourcing of C#, or the purchase of Xamarin by Microsoft. While those events have had a significant effect on software that uses C#, it didn't actually have that much of an influence on Unity 3D. And it definitely didn't make much of a change in the platforms they supported, or their reluctance to support Linux-ARM as a build target.

    Seriously, there are plenty of alternative boards for someone looking to target Unity at a low-cost Android platform. But you will have to get used to the idea of running your app on Android, as opposed to IOT-focused Linux.
     
  47. molul

    molul

    Joined:
    Jan 21, 2017
    Posts:
    15
    I wish there was support or at least some weird/experimental way to run an Unity app on ARM Linux.

    I'm making the UI for a project that will run on a Linux+ARM device (Rockchip, which should use Android by default but it's finally using Linux) and had the UI almost finished on Unity, but just learnt Unity doesn't support Linux ARM. That was really painful.

    Now I have to try replicating it on Unreal Engine, which seems to support Linux ARM (haven't tested it yet, but there's documentation about it).
     
  48. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,203
    deus0 likes this.
  49. molul

    molul

    Joined:
    Jan 21, 2017
    Posts:
    15
    Yes, but thanks for replying anyway :) I've managed to cross-compile for arm from Windows. I received the device yesterday, so I hope to have some simple test project running on it soon.

    Still, what a pity that Unity doesn't support arm Linux. I like it much better than Unreal for this kind of project. Unreal is awesome, but way too complex for a newbie.
     
  50. RossMelbourne

    RossMelbourne

    Joined:
    Dec 9, 2013
    Posts:
    4
    Unity now supports Magic Leap which I believe uses an ARM processor running a Linux based system called Lumin OS. Has anyone tried to publish to Lumin OS and run the app on Linux?