Carlos24
28/08/2015, 15:17
https://github.com/espes/xqemu/
El emulador XQEMU es un fork de qemu adaptado con apoyo para correr bajo el hardware de xbox1 y funciona en Windows/linux y mackintosh
Requiere un dump de la bios de xbox1 (para ver si el dump es correcto ocupa unos 512kb)
La emulación corre a muy bajo nivel debido las dificultades del hardware de xbox1 de ahi que requiera la bios aún sin ser 100% descifrable en código HLE
https://www.youtube.com/watch?v=rOdMYveHiq4
El video corre acelerado 5x para ver su estado actual.
Palabras de uno de los autores en un comentario del youtube comenta lo dificil que es precisar como funciona la GPU xbox1 debido a la sincronización de la memoria UMA sincronización entre CPU <-> GPU y técnicas que no están soportadas por las GPU de PC.
A pesar que hay hacks guarros para ganar algún rendimiento en algunas partes , por ahora se centra en la compatibilidad.
Our GPU code sucks [not optimized] + Xbox was pretty powerful. x86 emulation is hard by itself, let alone the emulation of a GeForce 3 graphics card. The Xbox was a UMA system which means we have to sync CPU and GPU memory on PCs (which is bandwidth heavy and stalls your host GPU).
Furthermore Microsoft gave developers direct access to the GPU. The GPU had some features which have been dropped from graphics cards since in favour of more general purpose computing features. This means we have to reimplement those features in software on the host GPU which is 1. lots of work and 2. not always easy to optimize either.
Also all of the GPUs internal work required to accept graphics commands etc. has to be emulated which requires lots of guest CPU / GPU communication. This will stall the CPU emulation.
These are just some very basic points which come into play with LLE (and espes probably would have mentioned entirely different points because he knows a lot more than I do).
There are hacks and tricks to get around some issues, but it's still a lot of work.
Hopefully newer graphics APIs or SW-rendering will help us to avoid host GPU stalls and integrate features cleaner and faster.
For now, however, the focus is on compatibility anyway. Not performance.
El emulador XQEMU es un fork de qemu adaptado con apoyo para correr bajo el hardware de xbox1 y funciona en Windows/linux y mackintosh
Requiere un dump de la bios de xbox1 (para ver si el dump es correcto ocupa unos 512kb)
La emulación corre a muy bajo nivel debido las dificultades del hardware de xbox1 de ahi que requiera la bios aún sin ser 100% descifrable en código HLE
https://www.youtube.com/watch?v=rOdMYveHiq4
El video corre acelerado 5x para ver su estado actual.
Palabras de uno de los autores en un comentario del youtube comenta lo dificil que es precisar como funciona la GPU xbox1 debido a la sincronización de la memoria UMA sincronización entre CPU <-> GPU y técnicas que no están soportadas por las GPU de PC.
A pesar que hay hacks guarros para ganar algún rendimiento en algunas partes , por ahora se centra en la compatibilidad.
Our GPU code sucks [not optimized] + Xbox was pretty powerful. x86 emulation is hard by itself, let alone the emulation of a GeForce 3 graphics card. The Xbox was a UMA system which means we have to sync CPU and GPU memory on PCs (which is bandwidth heavy and stalls your host GPU).
Furthermore Microsoft gave developers direct access to the GPU. The GPU had some features which have been dropped from graphics cards since in favour of more general purpose computing features. This means we have to reimplement those features in software on the host GPU which is 1. lots of work and 2. not always easy to optimize either.
Also all of the GPUs internal work required to accept graphics commands etc. has to be emulated which requires lots of guest CPU / GPU communication. This will stall the CPU emulation.
These are just some very basic points which come into play with LLE (and espes probably would have mentioned entirely different points because he knows a lot more than I do).
There are hacks and tricks to get around some issues, but it's still a lot of work.
Hopefully newer graphics APIs or SW-rendering will help us to avoid host GPU stalls and integrate features cleaner and faster.
For now, however, the focus is on compatibility anyway. Not performance.