Jump to content

Photo

Altirra and winelib


3 replies to this topic

#1 ivop OFFLINE  

ivop

    Dragonstomper

  • 722 posts
  • Location:The Netherlands

Posted Fri Jun 29, 2018 8:17 AM

Hi,

 

I have asked it before, but I think it got buried in the main Altirra thread. Well, at least I got no reactions, partly because I did not explain why this would be a nice feature.

 

The idea is to compile the Altirra source code against winelib, instead of running it with wine. On x86/amd64, this does not gain you much, except for maybe a slight decrease in startup time. But if one can get it to compile this way, you can also target another CPU, for example ARM/ARM64. This would allow us (hopefully) to run it on Android and perhaps even a (jail-broken) iPhone.

 

I understand this might be a pretty huge undertaking. I wish it was just running winemaker and make, but it's not that simple.

 

https://wiki.winehq....ib_User's_Guide

 

Has anyone ever looked into this?

 

And @phaeron, would you be willing to help people with this? Perhaps some guidance related to the source tree. A lot of those Japanese names mean nothing to me. Or maybe there's already a (short) description of the source tree, what's where and what's it for, et cetera...

 

Regards,

Ivo

 



#2 mellis OFFLINE  

mellis

    Moonsweeper

  • 269 posts
  • Location:Sarasota, FL

Posted Fri Jun 29, 2018 10:57 AM

Hi,

 

I have asked it before, but I think it got buried in the main Altirra thread. Well, at least I got no reactions, partly because I did not explain why this would be a nice feature.

 

The idea is to compile the Altirra source code against winelib, instead of running it with wine. On x86/amd64, this does not gain you much, except for maybe a slight decrease in startup time. But if one can get it to compile this way, you can also target another CPU, for example ARM/ARM64. This would allow us (hopefully) to run it on Android and perhaps even a (jail-broken) iPhone.

 

I understand this might be a pretty huge undertaking. I wish it was just running winemaker and make, but it's not that simple.

 

https://wiki.winehq....ib_User's_Guide

 

Has anyone ever looked into this?

 

And @phaeron, would you be willing to help people with this? Perhaps some guidance related to the source tree. A lot of those Japanese names mean nothing to me. Or maybe there's already a (short) description of the source tree, what's where and what's it for, et cetera...

 

Regards,

Ivo

 

 

 

I have looked at precisely this.  

 

The problem I encountered is that WINE's headers are not source-compatible with the Altirra codebase.  I am confident that a compatible set of headers can be hand crafted, but it is not something that one can accomplish by sitting down and poking at it for just a few hours.

 

The deficiency here lies with WINE - their windows headers are a generation or two out-of-date compared to the Visual Studio codebase on which Altirra is based.



#3 phaeron OFFLINE  

phaeron

    River Patroller

  • 2,561 posts
  • Location:USA

Posted Fri Jun 29, 2018 10:30 PM

I can answer questions about the code base and fix non-compliant code, but not support or merge code any such port. If you think that porting to ARM/ARM64 is the biggest hurdle to getting Altirra running on Android or iOS, you're mistaken (and in fact the latest 3.10-test release already builds for Windows 10 on ARM64).



#4 ivop OFFLINE  

ivop

    Dragonstomper

  • Topic Starter
  • 722 posts
  • Location:The Netherlands

Posted Sat Jun 30, 2018 7:04 AM

I have looked at precisely this.  

 

The problem I encountered is that WINE's headers are not source-compatible with the Altirra codebase.  I am confident that a compatible set of headers can be hand crafted, but it is not something that one can accomplish by sitting down and poking at it for just a few hours.

 

The deficiency here lies with WINE - their windows headers are a generation or two out-of-date compared to the Visual Studio codebase on which Altirra is based.

 

Good to hear I'm not the only one looking into this. And yeah, poking at it for a few hours (after doing the notepad example to assure I have a working toolchain) I stumbled exactly upon the problems you describe. That's why I thought it might be beneficial to start this thread :)

 

 

I can answer questions about the code base and fix non-compliant code, but not support or merge code any such port. If you think that porting to ARM/ARM64 is the biggest hurdle to getting Altirra running on Android or iOS, you're mistaken (and in fact the latest 3.10-test release already builds for Windows 10 on ARM64).

 

Yeah, it's only the first step. After porting to winelib, it has to be ported to Android NDK, which is a whole new problem in itself.

 

Maybe this thread triggers somebody more knowledgeable about the windows API to look into this. I think I know too little about windows to take on this endeavour, not even regarding lack of time.

 

Thanks for both your responses!






0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users