Page 1 of 1

RVGL on Archlinux ARM

Posted: Fri Sep 13, 2019 1:04 am
by EuphoricCatFace
Hello, I'm currently trying to run rvgl on archlinux arm.
the platform is Crostini on Chromebook.
When I tried it on Debian on Crostini and installed the odroid version, it worked without much hassle, so the problem doesn't seem to be on the platform.
I installed the x86-64 version from aur, and then overwritten the binary from the raspbian deb file. To my understanding, anything other than the binary itself is mostly compatible or just identical...
However, it crashes right after the second splash screen, before the one that utilizes game engine itself.

the message for the crash is as follows:

Code: Select all

LLVM ERROR: Cannot select: 0x6289cbae18: v4i32 = vselect 0x6289f001b8, 0x6289cbadb0, 0x6289e4ab10
  0x6289f001b8: v4i32 = and 0x6289f15230, 0x6289ef7060
... then follows lots of lines that are mostly like <addr>: <mostly "v4i32", or other data types> = <asm code>...
          0x6289c350d8: i32 = Constant<-1>
In function: draw_llvm_vs_variant0
AL lib: (EE) alc_cleanup: 1 device not closed
The binary also doesn't recognize fluidsynth library. It seems it's because the version is 2 on arch linux, but I believe it doesn't matter because it's only optional dependency anyways.

Re: RVGL on Archlinux ARM

Posted: Fri Sep 13, 2019 9:47 am
by javildesign
Hi, I really don't know but the first that came up is to try to set Shaders = 1 to 0 in rvgl.ini located in the profiles folder..

Re: RVGL on Archlinux ARM

Posted: Fri Sep 13, 2019 1:03 pm
by EuphoricCatFace
javildesign wrote: Fri Sep 13, 2019 9:47 am Hi, I really don't know but the first that came up is to try to set Shaders = 1 to 0 in rvgl.ini located in the profiles folder..
It's not there in the folder. Probably not created yet, because it wasn't properly executed before?

Re: RVGL on Archlinux ARM

Posted: Fri Sep 13, 2019 4:34 pm
by javildesign
I can send the *.ini, to try it out. Do you have Discord?

Re: RVGL on Archlinux ARM

Posted: Fri Sep 13, 2019 5:01 pm
by Huki
EuphoricCatFace wrote: Fri Sep 13, 2019 1:03 pm
javildesign wrote: Fri Sep 13, 2019 9:47 am Hi, I really don't know but the first that came up is to try to set Shaders = 1 to 0 in rvgl.ini located in the profiles folder..
It's not there in the folder. Probably not created yet, because it wasn't properly executed before?
In recent RVGL versions, it is ensured that the file is always created before exit. However you're using the ODROID build which is a bit out of date. A crash just after the splash screen could mean missing game assets, or it could be shaders related like javildesign suggested. Can you get the re-volt.log file generated in the profiles folder?

EDIT: I just noticed that build 19.0430a is available for ODROID:
https://oph.mdrjr.net/meveric/pool/main/r/rvgl-odroid/
Is that the build you're using?

Re: RVGL on Archlinux ARM

Posted: Sat Sep 14, 2019 6:58 am
by EuphoricCatFace
Huki wrote: Fri Sep 13, 2019 5:01 pm Can you get the re-volt.log file generated in the profiles folder?
Here's the log on pastebin.
I have now overwritten the folder with everything from the odroid package, so it might not show the same as the aur package.
Huki wrote: Fri Sep 13, 2019 5:01 pm EDIT: I just noticed that build 19.0430a is available for ODROID:
https://oph.mdrjr.net/meveric/pool/main/r/rvgl-odroid/
Is that the build you're using?
Yes, that is exact one I've been using.

Re: RVGL on Archlinux ARM

Posted: Sat Sep 14, 2019 11:16 am
by Huki
Start the game and close it before it crashes. It should generate the rvgl.ini config file. Then edit it and set "EnableUBO = 0". This disables Uniform Buffer Objects which are poorly supported by several GPU drivers. If it still doesn't work, as a last resort you can disable shaders altogether ("Shaders = 0"), but I believe this won't be required.

Re: RVGL on Archlinux ARM

Posted: Sat Sep 14, 2019 1:59 pm
by EuphoricCatFace
I was able to kill it with "/opt/rvgl/rvgl & sleep 1 ; killall rvgl" and rvgl.ini was successfully created.
Just disabling UBO did not get the program running - I had to disable the shader entirely.
The red car with the star on the roof in the map "Toys in the Hood 1" does not exist. I'm not sure whether it's ordinary thing or not in RVGL.

- Below are just in case someone gets curious about it. -
The device I use is Asus Chromebook Flip C101PA, with RK3399 SoC.
Crostini doesn't have hardware acceleration for graphics for this device yet, so it runs quite slow. 15-20 FPS most of the time, afaict.
Certainly less than optimal, but okay for casual gaming
(Google says hardware acceleration will be there soon™)
The framerate doesn't differ much between Debian and Arch.

Maybe I could create a package "rvgl-bin-arm" on aur :eyes:

Re: RVGL on Archlinux ARM

Posted: Sat Sep 14, 2019 3:38 pm
by Huki
No hardware acceleration? :o The RK3399 should have Mali-T860MP4, which is a pretty good GPU. It's a shame RVGL can't utilize it. Dang it Google. ;) Although, the Gallium LLVMpipe driver does expose OpenGL 3.1 functionality, including shader support, so I'm not sure what's causing it to fail.

EuphoricCatFace wrote: Sat Sep 14, 2019 1:59 pm The red car with the star on the roof in the map "Toys in the Hood 1" does not exist. I'm not sure whether it's ordinary thing or not in RVGL.
You probably have Instances turned off (Options -> Video Settings -> Render Settings).

EuphoricCatFace wrote: Sat Sep 14, 2019 1:59 pm Maybe I could create a package "rvgl-bin-arm" on aur :eyes:
If you need an up-to-date build, you can contact meveric from the ODROID forum or post in the RVGL thread.

Re: RVGL on Archlinux ARM

Posted: Sun Sep 15, 2019 4:04 am
by EuphoricCatFace
Huki wrote: Sat Sep 14, 2019 3:38 pmGallium LLVMpipe driver does expose OpenGL 3.1 functionality, including shader support, so I'm not sure what's causing it to fail.
I have no idea :mrgreen: maybe something to do with the versions of LLVM oslt? It worked fine with Debian, and I would assume no one has tried it with Arch x64 gallium...
Huki wrote: Sat Sep 14, 2019 3:38 pm You probably have Instances turned off (Options -> Video Settings -> Render Settings).
Indeed, that fixed the problem. I forgot to mention that the framerate was when almost every option turned off, except medium range rendering and skid mark on. The instance option did not affect much on the performance.
Huki wrote: Sat Sep 14, 2019 3:38 pm If you need an up-to-date build, you can contact meveric from the ODROID forum or post in the RVGL thread.
I think I could just fetch the .deb file and extract the binary, and reusing anything else from current aur package.