Info about the Current state of Java and OpenGL on Windows RT (8/8.1) - Windows RT General

Hello my name is Filiph Sandström but you can call me filfat. in this thread we are going to talk about the current state of Java and OpenGl on Windows RT(8/8.1),but before we start i just want to say thank you for clicking on this thread and if it helped you remember to click the "Thanks" Button! Alright with that cleared out, lets start! :laugh:
Updated: 2013-11-18
Java
Java is a programming langue that develops by Oracle with the idea of one similar langue for all electronics like a dishwasher or a Microwave.
Currently java does NOT exist on Windows RT, but there is a workaround available. The workaround is called Ikvm.
Ikvm is a Java emulator developed in .NET/C# to migrate an existing Java database application to .NET langue.
however to our advantage it can be used to run *almost* any Java application that doesn't require a 3rd-part library like "lwjgl" or similar.
I'm sure that there's a lot of guides out there on how to run application but i will give you a example anyways:
Run_Java.bat
Info:
Code:
This Example executes the jar file "helloworld.jar"
Code:
Code:
@ECHO OFF
ikvm -jar helloworld.jar
To Summarize: We now have basic Java application's running on our Windows RT device, but what if we want to play a game,
or do something that require OpenGL. well here is where the OpenGL section steps in.
OpenGL
OpenGL is a way of rendering not just 3D things but about everything, it is currently the most widespread 2D and 3D API(application programming interface).
It is used in many games and application. Sadly Windows RT do not have support for this as the desktop mode was never intended to use to other things then Office and well, maybe paint .
So what do we do in a situation like this, where most of the games and applications doesn't run because of OpenGL.
We write a OpenGL to DriectX Warpper*. so in short running games like Minecraft is possible BUT it require a OpenGL to DriectX Wrapper which currently does not exist. so you CANNOT run Minecraft or any other Game/Application that require OpenGL yet...
To Summarize: We do know a possible way to run OpenGL on Windows RT however no one as of yet have taken that mission and started working on a OpenGL to DriectX Wrapper. We would also need to modify Ikvm to be able to load external library's but that's a whole other story.
Ending
Thank you for reading, and as I said in the beginning of the post "if it helped you remember to click the "Thanks" Button!".
Also, i will be adding more info when I got time or when things gets release. See Ya! :laugh:
*When i say wrapper I mean a translator that translate OpenGL code to DirectX code for the CPU

Comming Soon...
Reserved

Sources
Sources
Java
Ikvm
OpenGL
A Word To A Moderator
if you think this thread is useful consider making it a sticky

I thought we already had an OpenGL wrapper for RT. At least that's what I believe is used to make Quake 1 and 3 run:
http://forum.xda-developers.com/showthread.php?t=2312019
http://forum.xda-developers.com/showpost.php?p=42338198&postcount=1

Yeah, there already is an OpenGL>DX wrapper. It wasn't used for quake 1 though, the quake 1 RT port is based on DirectQ which had its renderer rewritten for DirectX, was used in Quake 3 I think.
IKVM cannot load LWJGL or other similar libraries on x86. ARM isn't the limitation, OpenGL with the wrapper potentially wouldnt be the limitation either. IKVM itself is. Its an old project and if it was ever going to get native code execution it would have by now.
Although I think java applications on IKVM can make use of .NET extensions which in turn can make use of native code so one could potentially write an IKVM port of LWJGL which on the java side exposes the same API so minecraft etc couldnt tell the difference, but under the hood taps into .NET for rendering. That would probably result in a bit of a mess which may not actually run in the first place. The efforts put into making and debugging such a thing would be better put into porting the jvm itself.
Unless we got a native JVM on RT, I dont think we will see minecraft. Even if you could get LWJGL running, IKVM is just way too slow either way and as it is, the surface is quite a slow device, minecraft on a real JVM on ARM will still be laggy.

Just tossing this out there but what about compiling OpenJDK for arm? It's a pretty active project
http://openjdk.java.net/
I'm a software developer and will try and give this a shot over my Thanksgiving / Christmas downtime. I have an Asus VivoTab still on Win 8 while I wait for the 8.1 jailbreak. Guess Im starting to get bored and kind of ticked that the microsoft store sucks.
Edit:
Added info for reference later
Minecraft Ubuntu ARM
Edit 2:
Build Instructions
http://lwjgl.org/
Webos running guide

Thexfactor2011 said:
Just tossing this out there but what about compiling OpenJDK for arm? It's a pretty active project
http://openjdk.java.net/
I'm a software developer and will try and give this a shot over my Thanksgiving / Christmas downtime. I have an Asus VivoTab still on Win 8 while I wait for the 8.1 jailbreak. Guess Im starting to get bored and kind of ticked that the microsoft store sucks.
Click to expand...
Click to collapse
Then check developement forum and forget about it. There's no mingw/gcc targetting windows/arm. I think that this should be posted sticky on both RT forums.

Related

No DirectX on .Net CF 3.7

I've seen that .Net CF 3.7 doesnt have the directx ( Direct 3d) libraries and i was wondering if microsoft decided to delete them and not continue using directx with .net cf or if it's only because the 3.7 version is a beta and lacks many things.
Apart of that, i don't know what new things has 3.7 version, is there any changelog? because if there aren't important changes, i consider it may be better to continue using .net cf 3.5.
No follow up?
I'm curious if anybody has any more information on this matter. I'm currently using a slightly older version of NRGZ's EnergyROM with a Touch Pro and am unable to use Diamond Hologram because of a TypeLoadException stating that Microsoft.WindowsMobile.DirectX can not be found.
There's a chance that the rip of the unreleased .NET CF 3.7 was incomplete (though the GAC is pretty straightforward) or the pre-release state of it could also be used to rationalize missing assemblies, but if I were to take a random crack at it, I would guess that they're working on XNA for Windows CE/Mobile since it's based on CF and runs on Windows, XBox 360 and Zune it would be a logical step for Microsoft (just as they stopped supporting Managed DirectX on desktop editions), though it does seem a bit unfair to developers of existing applications since the desktop edition was not shipped with the framework, but rather with the DirectX SDK whereas this was deployed in the framework.
Is there a chance that someone could test using the 3.5 version on a 3.7 runtime? If the CLRs are compatible (and they seem to be) then it should still be able to load the assembly, and if binding works at all similar to the desktop framework we could probably just copy it into the directory of the application path, rather than GACing it.
After some searching around this is better discussed in the original CF 3.7 thread since it has been brought up. I'll repost my thoughts there and see if someone can help with experimenting.
http://forum.xda-developers.com/showthread.php?p=4060348
Not sure if this should be posted in the aforementioned thread, but it has long been rumoured that MS would phase out Direct3D by Windows Mobile 7, in favour of OpenGL and OpenGLES. Hope this helps at all.
GL
Well, I'm not so sure MS will ever officially support GL since it's a "competing" product to DirectX. In fact, to me it seems very unlikely. While they have been supporting community solutions and open source work more lately, generally Microsoft makes an effort to have developers use Microsoft technologies which in turn makes applications dependent on Microsoft and therefore users dependent on Microsoft. They have (arguably) the most powerful, useful and time-saving development tools which keeps many developers (like myself) developing applications that are inherently designed for their operating systems.
XNA, on the other hand is a Microsoft technology that is gaining a lot of traction and is directly related to the .NET Compact Framework, which is what leads me to believe they'll choose that route. With the right love and care a single XNA game can be played on PC, XBOX 360 and Zune and it seems likely that supporting the platform that .NET CF was first implemented on is only a matter of time. It's been rather surprising to many in the XNA community that MS hasn't already supported it, since their original press releases strongly indicated support for it. One thing's for sure: while there is an XNA Game Studio built on top of Visual Studio, there will probably not be any MS initiative to build a GL game studio.
http://www.microsoft.com/presspass/press/2004/mar04/03-24xnalaunchpr.mspx
To be fair though, that doesn't necessarily mean they won't implement the Windows Mobile version of XNA using OpenGL ES, though it seems likely that the architecture is designed more toward DirectX. Still hardware manufacturers could play a huge role in this decision.

Managed DirectX For Windows Mobile

Hi,
Unfortunanately there isn't yet a lot of information available out on the net regarding development using Microsoft.WindowsMobile.DirectX namespace.
I am hoping we can start a new forum section dedicated to just this? What do you guys think?
I've only been working with it for about a week now, and I am struggling to find helpful information, and am figuring out a lot of things through trial and error (note the SDK documentation is quite thin too!).
Is there anyone else on this site that is keen to collaborate and share DirectX experiences?
i'm very interested in but i failed in basics (look here) and nobody here seems something to know about that.
one year before i gained few expieriences in direct3d. its similar but not the same to develop for mobile...
did you get running the examples of d3d from the ms mobile sdk?
heggenhugo said:
did you get running the examples of d3d from the ms mobile sdk?
Click to expand...
Click to collapse
Yea, all the examples (not) in the SDK worked. I put "not" in parentheses because it took me a long time to locate them as the are no longer included as part of the .Net compact framework SDKs or the DirectX compact framework.
I am working on a simple app now that will determine the hardwares capabilities, allowing developers to quickly discover which devices their apps/games will run on. But I am still only just getting used to the environment also.
could you send me please (or link) a working example? it would be enough to see how to create a d3d window. i want to develop an application that uses the g-sensor to navigate in a little 3d environment (for instance turn around a cube or sth like this).
ty
VB.Net D3DM Samples - DirectX Capabilities App
Here are all the MS provided examples. I have not tried them all, but most of them work (on my device). The emulators run them, but very very slowly.
I have also attached the ActiveX Capabilites Test.exe application I created which will show you exactly what DirectX features are available on a particular device.
It requires .Net 3.5 to be installed.
View attachment VB.zip - Vb.Net samples
View attachment 250790 - DirectX Capability Test (install to device)
A good start
Anyone looking to get started on Mobile DirectX Development, should start with the fundimentals of the Managed DirectX Runtimes.
I recommend "Managed DirectX 9 Kick Start - Graphics and Game Programming" by Tom Miller. It's a good start into the world of Managed DirectX.

Quake III and OpenGL

Hey there!
I'm wondering if OpenGL games, like Quake III, can be ported just like they did for Android with Kwaak3.
Does WinPho7 support OpenGL ES in addition to DX9c?
Best Regards Mr.Sir (Gustaf)
I googled around and it appears that XNA will be the only choice besides silverlight for app/game development. So if you can somehow port an OpenGL came to XNA, then yes.
Mr.Sir said:
Hey there!
I'm wondering if OpenGL games, like Quake III, can be ported just like they did for Android with Kwaak3.
Does WinPho7 support OpenGL ES in addition to DX9c?
Best Regards Mr.Sir (Gustaf)
Click to expand...
Click to collapse
Nope. It's only what you will find in XNA. There are several samples people have posted for porting on xbox 360; same code will work on the phone with VERY little changes.
So, seriously guys, no native support? I mean, when i was working at NDrive they had everything written in C++ with interfaces for each device. I doubt that any sane company will rewrite its software completly just to compete in a niche...
Even in .NET CF you COULD do some PInvokes which kinda allowed you to attempt to run a managed version of OpenGL (.NET sucked and still sucks for serious game development, obviously) which was slow as hell, but at least it was there.
So please, native support!
ei05035 said:
.NET sucked and still sucks for serious game development, obviously) which was slow as hell, but at least it was there.
Click to expand...
Click to collapse
That's why it is entitled with XNA
Yup Buddy but its gud because you have to code only one time and then you can able to convert it for using on other platforms..
And by several platforms you say M$ based ones. I mean, most companies (i can give you the example of NDrive as I was there for a while) would rather code in C++ and create interfaces for specific platforms. No native code support kills it. I don't see companies renaming extensions to .cs, enabling unsafe code (pointers, etc) and giving it a good dose of whisfull thinking.
Oh and when I meant that XNA sucked for serious gaming i meant really. AAA games don't rely on that. They rely on GPU manufacters SDKs and on the good ol' DirectX SDK. This is if they don't have some housemade engine (like Crytek) similar to Shiva3D or Unity (but custom tailored).
I mean, seriously. In .NET CF 3.5, give it a go, try to natively rotate an image and resize it without manually processing the bitmap information to do so (and at the expense of CPU usage). I had to rely on DxSprites and OpenGL when I needed.
XNA is, as it was already mentioned, game-wise, a game-loop oriented tool with a few PInvokes to DirectX...
ei05035 said:
And by several platforms you say M$ based ones. I mean, most companies (i can give you the example of NDrive as I was there for a while) would rather code in C++ and create interfaces for specific platforms. No native code support kills it. I don't see companies renaming extensions to .cs, enabling unsafe code (pointers, etc) and giving it a good dose of whisfull thinking.
Oh and when I meant that XNA sucked for serious gaming i meant really. AAA games don't rely on that. They rely on GPU manufacters SDKs and on the good ol' DirectX SDK. This is if they don't have some housemade engine (like Crytek) similar to Shiva3D or Unity (but custom tailored).
I mean, seriously. In .NET CF 3.5, give it a go, try to natively rotate an image and resize it without manually processing the bitmap information to do so (and at the expense of CPU usage). I had to rely on DxSprites and OpenGL when I needed.
XNA is, as it was already mentioned, game-wise, a game-loop oriented tool with a few PInvokes to DirectX...
Click to expand...
Click to collapse
If you are so gung-ho, you could write wrappers in C++, compile the DLL and pinvoke your calls.
tyrannus said:
If you are so gung-ho, you could write wrappers in C++, compile the DLL and pinvoke your calls.
Click to expand...
Click to collapse
Exactly! Honestly for me it is the way to go. It's not that i don't like C# or .NET, quite the contrary. I'm just sorry that they lack the portability some projects require. And for me, WP7 not having native code support is a real buzz kill. What do you think?
It does have native code support but you need Microsoft's permission to get the SDK. I'm pretty sure game companies will have it if they want to make use of the GPU as much as possible.

WP7 Apps Windows 7 Desktop

Could wp7 apps be unlocked to run on windows. They all run in silverlight right. Should it not be like a java app and run anywhere?
Interesting question. I think the developer would have little problem trying to recompile an app for Windows use (given Silverlight is already installed on the target PC), but XAPs are specifically compiled and signed for use on WP7 devices, and thus we can, at best, run them on a PC by deploying an extracted XAP on the Emulator.
kapanak said:
Interesting question. I think the developer would have little problem trying to recompile an app for Windows use (given Silverlight is already installed on the target PC), but XAPs are specifically compiled and signed for use on WP7 devices, and thus we can, at best, run them on a PC by deploying an extracted XAP on the Emulator.
Click to expand...
Click to collapse
If GAC constains required assemblies then it's possible. But it's useless (more than me )...
From what I seem to remember, when you compile for WP7 it compiles into Common Language Runtime. Its much like Java's bytecode but slightly different.
Assuming it does compile to CLR, apps should be able to run, so long as the needed frameworks exist.
windows 8 will do that
I suspect that Windows 8 will do just that. As Microsoft is planning to bring windows 8 to tablets with the Metro UI, i think wp7 apps will be really easy to run on windows 8, so they match the touch UI of the platform...
If you look at Game Chest: Logic Games, it contains a multiplayer game of Chess. If you challenge someone else to a game and they're not using a WP7 device, the notifications of game moves come through to them on xbox.com. When they click the notification, it actually fires up a version of Chess that is IDENTICAL to the one on my phone, in the browser. So it looks to me like they have done exactly what the OP is asking about, i.e. they have recompiled the game to run in silverlight under IE8.
It works brilliantly.

[Q] Is that possible to compile .cpp on RT by TC++ in dosbox?

As we know, we have an arm edtion of dosbox, and there is Turbo C++ for dosbox. So, I wonder if it's possible to compile .cpp files on RT by TC++ in dosbox? I am with 8.1 now. Is there anyone who wants to try?
No jailbreak for 8.1 as far as now. On 8.0 should work if it's working on your desktop.
Just keep in mind whatever you get cannot run on Windows RT natively.
LolitaPlus said:
Just keep in mind whatever you get cannot run on Windows RT natively.
Click to expand...
Click to collapse
So there is no ide or any compiler for c at all? Quite strange Microsoft didn't made an afford for a tablet supposed to be for students....
alxr212 said:
So there is no ide or any compiler for c at all? Quite strange Microsoft didn't made an afford for a tablet supposed to be for students....
Click to expand...
Click to collapse
MSVC from visual studio can target win32 on THUMB_2. That does mean you can only cross compile from a full x86 windows machine though.
There is a C# compiler on the device already. There is a signed perl binary somewhere. The C# compiler requires a jailbroken device to run the final application though and I doubt you'll find any students using perl.
I think its obvious that microsoft dont push developer tools too heavily considering you need a jailbreak to run non microsoft desktop software in the first place.
On jailbroken devices you have IKVM (which is a java virtual machine, its slow and nowhere near 100% compatible, there is no java compiler on the device yet), python and ruby. There is also SharpDevelop for C#, otherwise you have to use the compiler from CMD. http://forum.xda-developers.com/showthread.php?t=2092348
SixSixSevenSeven said:
MSVC from visual studio can target win32 on THUMB_2. That does mean you can only cross compile from a full x86 windows machine though.
There is a C# compiler on the device already. There is a signed perl binary somewhere. The C# compiler requires a jailbroken device to run the final application though and I doubt you'll find any students using perl.
I think its obvious that microsoft dont push developer tools too heavily considering you need a jailbreak to run non microsoft desktop software in the first place.
On jailbroken devices you have IKVM (which is a java virtual machine, its slow and nowhere near 100% compatible, there is no java compiler on the device yet), python and ruby. There is also SharpDevelop for C#, otherwise you have to use the compiler from CMD. http://forum.xda-developers.com/showthread.php?t=2092348
Click to expand...
Click to collapse
Unfortunately jailbroken device is not an option with the 8.1 (at least for now), well I guess the only thing to do is to wait for one.....
alxr212 said:
Unfortunately jailbroken device is not an option with the 8.1 (at least for now), well I guess the only thing to do is to wait for one.....
Click to expand...
Click to collapse
I'm well aware that jailbreak isnt an option on 8.1. Myriachan is working on it

Categories

Resources