Search Unity

Unity and the Raspberry PI?

Discussion in 'General Discussion' started by TylerPerry, Dec 25, 2012.

  1. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    So I was wondering about if Unity works with the Raspberry PI... though the Chrome Native client, I think this could work, on the Pi. We have Chromium and I think it supports NaCL from what is stated in that. So I see no reason why it won't work... but I don't want to go on thinking it will work without some proof and I don't have a PI to test it on.

    Maybe someone has a Raspberry to test it on?

    Also this is an interestoid something called MonoGame runs on the PI and from what I see it is a Mono implementation of XNA, so I don't see why Unity wouldn't work on it(with a real export)

    Oh and I guess it would work with Android but...
     
    Last edited: Dec 25, 2012
  2. s7ent

    s7ent

    Joined:
    Sep 20, 2012
    Posts:
    28
    I too would like to see Linux-ARM support for Unity3d. Not all devices with ARM CPUs are iPhones and Androids, and Linux-ARM is just as viable as Linux x86 and x64 as a desktop platform.
     
    Miscellaneous likes this.
  3. SevenBits

    SevenBits

    Joined:
    Dec 26, 2011
    Posts:
    1,953
    I think the amount of RAM available in such a device would be more of a hinderence than Unity support, but don't get me wrong. Also, Unity supports Linux now.
     
  4. pivotraze

    pivotraze

    Joined:
    Feb 4, 2012
    Posts:
    593
    Linux, yes. Linux ARM, not really.
     
  5. s7ent

    s7ent

    Joined:
    Sep 20, 2012
    Posts:
    28
    The latest Raspberry PIs support 512MB, while the older ones support 256MB -- about the same as many generic Android tablets and phones.

    Unity 4.0 only supports Linux with Intel CPUs.

    I would imagine compiling Unity for Raspberry Pi being relatively straightforward - using their Linux code-base, then targeting the ARMv6 architecture, then replacing the OpenGL rendering with the Android NDK OpenGL ES rendering.
     
    Last edited: Dec 25, 2012
  6. SevenBits

    SevenBits

    Joined:
    Dec 26, 2011
    Posts:
    1,953
    Ah, I was not aware the pi was ARM. Thank you for clearing that up.
     
  7. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    I wish they would support Linux arm as it would open unity to a whole world of embedded goodness.
     
  8. UnknownProfile

    UnknownProfile

    Joined:
    Jan 17, 2009
    Posts:
    2,311
    I thought you couldn't put applications made in Unity on embedded systems. I haven't been following the EULA thread recently, though, so if the embedded systems problem was cleared up, disregard this post.
     
  9. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    It is only if its on more then 50 products:

     
  10. UnknownProfile

    UnknownProfile

    Joined:
    Jan 17, 2009
    Posts:
    2,311
    Ah, okay.
     
  11. progmeer

    progmeer

    Joined:
    Oct 5, 2012
    Posts:
    36
    Pi support would be really cool. However, from using my pi and the specs it has, it can feel underpowered at times(specially web browsing). There are some other more powerful mini computers out there that are android based (e.g. the Rikomagic MK802 II). I haven't played around with those but the specs look decent. Perhaps a dedicated 'Unity console" could be a future dream?
     
  12. J-F

    J-F

    Joined:
    Nov 8, 2012
    Posts:
    101
    You can run android on raspberry.

    But i'm not sure if unity's ARMV7 support will work with raspberry PI's ARMV11
     
  13. Chaotic-Ghost

    Chaotic-Ghost

    Joined:
    Jul 24, 2012
    Posts:
    1

    It might, as raspberry pi's processor architecture is ARMv6. The "ARM11" refers to the processor family. I have an sd card with droid compiled, and may try this out this week,as I have been wondering the same thing. I'll post back my results.
     
  14. orb

    orb

    Joined:
    Nov 24, 2010
    Posts:
    3,037
    That should be perfectly fine, then. I've done a lot in under 80MB of RAM with Unity (not counted the VRAM usage carefully, though). Both regular and headless Linux ARM versions would be an excellent addition, and seeing as they already have Android support there should be less porting involved on the ARM code portion.
     
  15. J-F

    J-F

    Joined:
    Nov 8, 2012
    Posts:
    101
    Thanks for correcting me.

    But hasn't unity allready removed the support for ARMV6 from the android publishing options?

    Also i've been considering, Would it be possible to read input from the pi's GPIO pins? This would allow people to make custom controllers etc.
     
    Last edited: Sep 24, 2013
  16. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    NECRO BUMP ALERT:

    Yea, J-F, they did. (Curse you UT! You think every device has ARMv7 do ya?! well YOU'RE WRONG!!!) Would be great if Raspberry Pi had unity3d support though...

    Beig able to read from the pins is a novel idea. because, like you stated above, you could design a custom controller to use with the Pi. Would mean motion control like the Wii would be more widespread
     
  17. techmage

    techmage

    Joined:
    Oct 31, 2009
    Posts:
    2,133
    I pretty thoroughly explored Unity on these small linux/android computers a while back in this thread:
    http://forum.unity3d.com/threads/202096-Unity-on-a-beaglebone-black

    What I found is that, no Unity does not work good on any of them. Not the pi, not the beagle bone black, not the udoo quad (which is the fastest of them all).

    First there is the issue, already mentioned in this thread, that Unity supports linux x86 not linux arm. So you cannot run unity apps in linux on these devices.

    The other issue is, the android ports for these devices just do not perform good at all. The pi android just had very very poor 3D performance. The black has bad 3D performance all around. And the udoo quad, which should have good performance, just didn't. I suspect this is because the android drivers for the GPU on these devices is just not up to par. The drivers and 3D performance is extremely unoptimized. The udoo quad which is the fastest of them all had worse performance than even like an iPhone 3G.

    However it was like 6 months ago I checked into all of this. The android ports may be better now. I don't know though.

    But I abandoned this hope entirely as I just presume there isn't any real effort for someone knowledgable to write a performant android port for these devices, so it probably won't happen. Although maybe I'm wrong, maybe if someone has the time, look into it again and see how unity apps run with the latest android ports?
     
  18. FlyingRobot

    FlyingRobot

    Joined:
    May 5, 2012
    Posts:
    456
    One quick question :

    What type of application are you envisioning with Pi and Unity?

    If it's about a custom controller you can easily control Unity based games on PC/Mac through Arduino.
     
  19. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    You could, you wouldn't want to make the controller in Unity though you'd want to make it without the overhead of a game engine. You can use Mono on the Pi, I didn't realise how it worked but you legitimately just install mono on the pi and then run .net exe, crazy.

    On a side note, this is super strange before I opened up the forums I was thinking about how its annoying that Unity doesn't work with the Pi because I got this tiny little screen (from a printer) and am going to have a go at connecting it up to the Pi.
     
  20. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    I agree that Unity should really assign a couple guys to show Raspberry Pi some love.

    It's another platform — one that has become extremely popular, and seems to be only growing. There are RaspPi clubs springing up in schools. The latest standard Pi operating system even ships with a free (!) copy of Mathematica and Wolfram Language. But most of those kids in the RaspPi want to make games — and what are they going to use? PyGame. :cry:

    Unity's missing an opportunity here to hook into a large and growing audience of budding programmers.

    Has anybody filed a feature request yet? I'd spend some of my votes on it...
     
    pitibonom likes this.
  21. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    I'd like Pi support but IMO it would probably be a big task, they stopped supporting that CPU type because it was holding them back. And also i'm sure that porting the build to Linux ARM would be difficult.
     
  22. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    Yeah, I'm not saying it's trivial. But it still might be worth it. The folks at Wolfram certainly think so, and that seems like a much bigger stretch to me than Unity...
     
  23. ShilohGames

    ShilohGames

    Joined:
    Mar 24, 2014
    Posts:
    3,023
    I have one of the newer Raspberry PI units. The Raspberry PI is fun to tinker with, but the performance is not great. Even surfing the web feels slow on a Raspberry PI. It is not a fast device. It is certainly not a 3D gaming platform. The Raspberry PI would not run Unity based games well enough for anybody to enjoy the games.
     
  24. techmage

    techmage

    Joined:
    Oct 31, 2009
    Posts:
    2,133
    Being able to run Unity on the tiny cheap ARM linux computers would be hugely beneficial to anyone using unity for kiosks or on-site installations right now.

    But there will be more raspberry pi updates, with faster chips, as well as other new cheap linux ARM computers.

    However the problem with this isn't just unity needing a linux arm port. What I've found is that none of these tiny computers actually have good enough implementations of graphics drivers to actually have good performance. UT would also have to write a raspberry pi graphics driver. Which is all just a bit too much I think.

    I do hope though we will soon a tiny arm linux computer with great OS and drivers on it, and then UT will consider a linux ARM port.
     
  25. JoeStrout

    JoeStrout

    Joined:
    Jan 14, 2011
    Posts:
    9,859
    I respectfully disagree. The performance in X Windows is poor because (1) the windowing system is not using the 3D hardware (it's all software rendering), and (2) X is inherently inefficient.

    Unity apps (if worth doing at all) would make use of the 3D hardware, and wouldn't go through X, so they wouldn't suffer from these problems. The performance would be similar to Quake III Arena (click the link for a video demo).
     
  26. ShilohGames

    ShilohGames

    Joined:
    Mar 24, 2014
    Posts:
    3,023
    Good points, especially with the video of Quake 3 running on the Raspberry PI. Maybe the Raspberry PI could make a viable platform for certain Unity projects.
     
  27. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Mobile tech is moving at a staggering speed, and gimping Unity + blowing resources for something that can't ever run as fast as the Quake 3 engine on low, is not really a good plan overall IMHO...

    It would never manage to run Angry bots at any decent speed at all. I'd imagine angry bots to be around 20 times more resource intensive than Quake 3's low setting.
     
    Cogent likes this.
  28. Cogent

    Cogent

    Joined:
    May 14, 2013
    Posts:
    356
    RasPi export would be + $1,500 or + $75/month

    Followed by:

    Minecraft Plugin
    + $1,500 or + $75/month

    J2ME
    + $1,500 or + $75/month

    Cuisinart/Breville Toasters
    + $1,500 or + $75/month

    Atari 2600
    + $1,500 or + $75/month
     
    Ryiah likes this.
  29. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    I can't find much on the Quake 3 but it seems they run it at 1080p with 4x AA and get 20-30FPS. Is it running at low? I know with some tinkering its possible to get the latest build to solid 60FPS and part of that is changing a file to be "low". The GPU was reported to be faster then the Iphone 4s's GPU when it came out but it might not be true.

    I would install Quake 3 on my Pi but apparently it takes around 12 hours to install and I can't be bothered.
     
  30. pkid

    pkid

    Joined:
    Jul 10, 2009
    Posts:
    201
    Sad but probably true.
     
  31. FuzzyQuills

    FuzzyQuills

    Joined:
    Jun 8, 2013
    Posts:
    2,871
    @JoeStrout: I'm Back! anyway, that is definitely something they should look into, if there is actually that many...

    @FlyingRobot: I actually have no vision of Unity and Pi. I don't even have the thing! but since i am a Linux fanatic, i decided to post my opinion, that is all. I also wish to get an arduino someday...

    @TylerPerry: that easy? I thought Mono had bad licensing issues... ;) Just take one look at the Unity 5 thread and see why! And that install time is atrocious! I thought Windows on an Old PC was bad enough...
     
    Last edited: May 9, 2014
  32. terminatingZero

    terminatingZero

    Joined:
    Apr 5, 2014
    Posts:
    1
    I would like to revive this post. Is it possible to run Android on Raspberry Pi and then because Raspberry PI supports Android could you inherently run Unity? And do you think 516 Mb ram is enough for a 2D unity game?
     
  33. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,190
    A quick search indicates that while the Raspberry Pi will boot Android, it is too slow to be useful for anything. The reason is quite simply that Android requires GPU acceleration but there isn't a driver for it.
     
    Cogent likes this.
  34. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,853
    I am writing an app that uses Arduino and I just set the code based on parameters generated in Unity to send string commands to the microcontroller. Don't see why that would not work her.. Embedding Unity..well..that is a whole other ball of wax but using Unity to control microcontrollers can be done.
     
  35. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Isn't using unity on the raspberry pi kind of counter for it's reason to exist as a tiny tool designed to bring back the days of learning and custom hardware? isn't that everything unity doesn't stand for? :D
     
  36. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,190
    According to the Wikipedia, which I'm too lazy to look elsewhere, the purpose is to teach basic computer science. Think of it as a way to teach computers without worrying that the kids will break something valuable.
     
  37. hippocoder

    hippocoder

    Digital Ape

    Joined:
    Apr 11, 2010
    Posts:
    29,723
    Yeah it's just they've said also they'd like it to be used as a hobbyist kit for the purposes of learning low level stuff, hardware and so on. Something Unity is at odds with and shields you from.
     
  38. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,190
    It depends on how you use Unity. You could write a custom plugin that allows you to work with the GPIO and make a game focused around teaching hardware.
     
    Last edited: Sep 1, 2014
    darkhog and Cogent like this.
  39. ippdev

    ippdev

    Joined:
    Feb 7, 2010
    Posts:
    3,853
    You don't use Unity on the hardware. You use Unity to drive the hardware or have the hardware drive Unity.. Custom controllers, servo and actuator based haptic devices, sensors, pitch. yaw, roll and acceleration, light brightness, O2, CO2 or most other common gas levels, radiation levels, temperature, brain wave analysis, distance and direction.. Couple that to AU and VR, multi-screen projection tech and you have potent combinations available for the non-games market.. You are passing back and forth numbers that may be from 0-1024 or 0-4096 on a serial comm port how you utilize those is entirely up the developer and their imagination. I have several products in the pipeline for the company that was created to use just this combo of hardware and software that will be musical instruments and studio tools that may change the way some music is recorded...
     
  40. Cogent

    Cogent

    Joined:
    May 14, 2013
    Posts:
    356
  41. PsychoPsam

    PsychoPsam

    Joined:
    Aug 1, 2012
    Posts:
    34
    I'd be interested to see if this is possible as I have a multiplayer setup and the code for the server is written in such a way that is just passes messages to each player and handled connections. It doesn't use graphics or sound. I don't see that in my case the server needs to be a big computer - I'm currently running the server on an EEEPC as this is the smallest thing I can find. Anyone know how I should be compiling the server? Is it for a Linux machine?
     
  42. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    If your server is done in Unity then there's no hope as Unity dropped support for the CPU in the PI so even on Android it wont run.

    You could write a the server in normal C# and run it on the Pi (Using Mono) and use Unity for the client.
     
    Ryiah likes this.
  43. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
  44. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,190
    According to the chart on Lifehacker it is identical to the original Pi. The reason Android never got on the Raspberry Pi is due to the GPU and since that didn't change we most likely won't see Android on this one either.
     
  45. tango209

    tango209

    Joined:
    Feb 23, 2011
    Posts:
    379
  46. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,190
    Google is more strict than Microsoft with their OS's requirements. It is this strictness that allows developers to state the version of Android that is required rather than require the consumer to understand the underlying hardware. It is also why Android doesn't work on the Raspberry Pi. It requires more capabilities (features and speed) than the Pi's GPU provides.
     
  47. Arowx

    Arowx

    Joined:
    Nov 12, 2009
    Posts:
    8,194
    People have ported Quake 3 to the Pi, but not sure if that is using the GPU or software rendering?

     
    KnightRiderGuy likes this.
  48. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,190
    It was entirely GPU-accelerated with no software fallback. It was definitely impressive at the time and had features we still use today.

    http://en.wikipedia.org/wiki/Quake_III_Arena

    That said though it was released in 1999. The same year graphics cards finally gained hardware acceleration for the amazing feature of Transform, Clipping, and Lighting (TCL but sometimes called T&L). Likewise it was the year the first GeForce was released. We were still running Windows 98.

    Android is more demanding now than Quake 3. It may have been more demanding one or two major releases ago. That's not really the point of strict requirements though. The idea is to ensure that consumers can see "Requires Android 4.x" and know that any device running Android 4.x will be able to run the app.
     
    Last edited: Feb 2, 2015
  49. TylerPerry

    TylerPerry

    Joined:
    May 29, 2011
    Posts:
    5,577
    The Video Core IV has been used in loads of Android phones...
     
    darkhog likes this.
  50. Ryiah

    Ryiah

    Joined:
    Oct 11, 2012
    Posts:
    21,190
    Might be something involving the driver availability from Broadcom. I seem to recall there were issues and Android would not run on the original Pi. It may have changed with the new one, but I'm doubtful until someone proves it.