RPCSX / rpcsx

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About hardcoded options in rpcsx-os

abouvier opened this issue · comments

Is there a reason why these options are hardcoded?

target_link_options(rpcsx-os PUBLIC "LINKER:-Ttext-segment,0x0000010000000000")
target_compile_options(rpcsx-os PRIVATE "-march=native")

This prevents users from injecting their own arch preferences/options during the build.

It is not options, it is required features. text-segment starts just after addressable virtual memory of ps4, native arch needed for fsbase register set

Wouldn't just -mfsgsbase suffice? With -march=native you enable features compatible with the building machine, possibly not present on a different machine running rpcsx.

We require most modern CPU for running. Do you want to run PS4/PS5 emulator with CPU worse than build server has?

It can be the other way around, building on a potato (where -march=native will disable many things) and running the emulator on a good CPU. You should explicitly list every feature required instead, or specify a fixed modern CPU.