xemu-project / xemu

Original Xbox Emulator for Windows, macOS, and Linux (Active Development)
https://xemu.app
Other
2.77k stars 278 forks source link

Some game don't render on intel Integrated graphics #571

Open Triticum0 opened 2 years ago

Triticum0 commented 2 years ago

Title

https://xemu.app/titles/55530043/#America-s-Army-Rise-of-a-Soldier https://xemu.app/titles/4541005b/#Burnout-3-Takedown https://xemu.app/titles/43430001/#Genma-Onimusha https://xemu.app/titles/45530019/#Project-Snowblind https://xemu.app/titles/47450002/#Phantom-Crash https://xemu.app/titles/53450027/#Puyo-Puyo-Fever https://xemu.app/titles/45530011/#Whiplash

Bug Description

The game don't render on my machine at all even when In-game nothing is rendered.

Expected Behavior

Should be able to see FVM's and menus.

xemu Version

Version: 0.6.2 Branch: master Commit: 69ceec4 Date: Wed Nov 24 02:59:42 UTC 2021 Last-known Working: Unknown

System Information

Field Value
OS Ubuntu 20.04.3 LTS
CPU Intel(R) Pentium(R) CPU 3825U @ 1.90GHz
Graphics Device Mesa Intel(R) HD Graphics (BDW GT1)
Graphics Driver Drivers: 4.6 (Core Profile) Mesa 21.0.3

Additional Context

No response

MarcoLoves360 commented 2 years ago

please add burnout 3 takedown

Triticum0 commented 2 years ago

Done

Godsbane commented 2 years ago

This same thing is happening on the SteamDeck. I tested with some mesa overrides and got Burnout 3 to play the FMV's but it was slow.

dmatamales commented 2 years ago

I can't see anything on Burnout 3 after the second loading screen on Apple Silicon (M2 MBA). Audio works and controls seem to respond. I got a choppy globe image to come up by mashing the Start button but was unable to progress further.

abembritishav commented 2 years ago

For Linux and on my system with relatively old Intel HD 4600, this requires me to set vs_position_always_invariant to true in Mesa drirc file (usually it's ~/.drirc, Mesa usually has default configuration files in /usr/share/drirc/00-mesa-defaults.conf) as a workaround so the xemu mostly render games properly.

Fortunately that option is also an environment variables, which means it will also works if one's system setup and installation configuration made it not possible to create .drirc on their home folder.

Triticum0 commented 2 years ago

@abembritishav Would this work on windows as well? Also, do you understand what it's doing? If you do, could you write a concise write-up on the website? It would be greatly appreciated, or maybe write a step-by-step institution below, and I could add it to the website for you as I'm not totally sure what you did to fix the problem as I'm still a bit of a Linux noob.

abembritishav commented 1 year ago

@abembritishav Would this work on windows as well? Also, do you understand what it's doing? If you do, could you write a concise write-up on the website? It would be greatly appreciated, or maybe write a step-by-step institution below, and I could add it to the website for you as I'm not totally sure what you did to fix the problem as I'm still a bit of a Linux noob.

vs_position_always_invariant forces gl_Position output to be marked as 'invariant'. It's another optimization provided by Mesa itself. So unfortunately, this workaround doesn't work on Windows as it uses its own OpenGL driver (unless Intel somehow replaced all of their own Windows' OpenGL driver with Mesa, which isn't going to happen.)

More detailed explanation of what it does can be found here: https://gitlab.freedesktop.org/mesa/mesa/-/commit/9b577f2a887968483b88b629673d3f9904a179ff

Kaneki010 commented 1 year ago

@abembritishav Would this work on windows as well? Also, do you understand what it's doing? If you do, could you write a concise write-up on the website? It would be greatly appreciated, or maybe write a step-by-step institution below, and I could add it to the website for you as I'm not totally sure what you did to fix the problem as I'm still a bit of a Linux noob.

vs_position_always_invariant forces gl_Position output to be marked as 'invariant'. It's another optimization provided by Mesa itself. So unfortunately, this workaround doesn't work on Windows as it uses its own OpenGL driver (unless Intel somehow replaced all of their own Windows' OpenGL driver with Mesa, which isn't going to happen.)

More detailed explanation of what it does can be found here: https://gitlab.freedesktop.org/mesa/mesa/-/commit/9b577f2a887968483b88b629673d3f9904a179ff

hey man i have the same igpu as you and i've heard that you can use yuzu and rpcs3 on linux , is it true ? and if it is how is the performance ? thanks .

DMJC commented 1 month ago

I overrode vs_position_always_invariant=true and ran the game, the console output says it is being overridden but the screen is still black:

xemu_version: 0.7.132 xemu_branch: master xemu_commit: 8707d2aa2626063cb67b5ea20382584a0848dce7 xemu_date: Wed Aug 21 05:38:33 UTC 2024 xemu_settings_get_base_path: base path: /home/dmjc/.local/share/xemu/xemu/ xemu_settings_get_path: config path: /home/dmjc/.local/share/xemu/xemu/xemu.toml ATTENTION: default value of option vs_position_always_invariant overridden by environment. CPU: 12th Gen Intel(R) Core(TM) i7-1265U OS_Version: Debian GNU/Linux trixie/sid GL_VENDOR: Intel GL_RENDERER: Mesa Intel(R) Graphics (ADL GT2) GL_VERSION: 4.6 (Core Profile) Mesa 24.1.3-2 GL_SHADING_LANGUAGE_VERSION: 4.60 Created QEMU launch parameters: ./xemu-v0.7.132-x86_64.AppImage -machine xbox,bootrom=/media/dmjc/Games/Roms/XBox/Boot ROM image/mcpx_1.0.bin,kernel-irqchip=off,avpack=hdtv -device smbus-storage,file=/home/dmjc/.local/share/xemu/xemu/eeprom.bin -bios /media/dmjc/Games/Roms/XBox/BIOS/Complex_4627v1.03.bin -m 64 -drive index=0,media=disk,file=/media/dmjc/Games/Roms/XBox/Pre-built Xbox HDD image/xbox_hdd.qcow2,locked=on -drive index=1,media=cdrom,file=/media/dmjc/Games/Roms/XBox/Burnout 3 - Takedown (USA).xiso -display xemu -device usb-hub,port=1,ports=4

This is on the latest build of Xemu running on Debian Linux 13 Trixie.