unified-hmi / remote-virtio-gpu

A UnifiedHMI project to provide a client-server based rendering engine.
Other
21 stars 14 forks source link

Problem with running open source game on amd graphic card #18

Open nmhn opened 8 months ago

nmhn commented 8 months ago

We have replaced the graphics card with an AMD Radeon 5700 XT. The glmark2-es2-wayland is able to run normally. We compiled our own version of STK with OpenGL ES2 from https://github.com/supertuxkart/stk-code. The compilation options are as follows: cmake .. -DNO_SHADERC=on -DUSE_GLES2=on. After starting, the loading screen is visible, but then it crashes. The interface is as follows. Screenshot from 2024-01-24 15-18-39 Screenshot from 2024-01-24 15-18-46

FumiyaKohzu commented 8 months ago

Thank you for your comment. It appears that the error is related to an issue with the sound. Can you launch your STK in the regular way without using RVGPU? Incidentally, RVGPU does not support the transfer of sound.

nmhn commented 8 months ago

In fact, I can run stk without using RVGPU. Can you run it in your environment? Or can your environment run any games?

FumiyaKohzu commented 8 months ago

I've tested it in our environment as well, and I've confirmed that it crashes during the loading screen when starting a race. We are currently investigating the issue, so please hold on for a while.

nmhn commented 7 months ago

I've tested it in our environment as well, and I've confirmed that it crashes during the loading screen when starting a race. We are currently investigating the issue, so please hold on for a while.

Has there been any progress lately? It's been a month.

FumiyaKohzu commented 7 months ago

Temporarily commenting out the following section can prevent SuperTuxKart from crashing. However, there is an issue with some images not displaying correctly, which is still under investigation.

/src/rvgpu-sanity/rvgpu-sanity.c

boolsanity_check_resource_box(const struct virtio_gpu_box*b, uint32_t width, uint32_t height, uint32_t depth) { if ((uint64_t)b->x + b->w > width) return false; if ((uint64_t)b->y + b->h > height) return false; if ((uint64t)b->z + b->d > depth) // return false;_

return true; }

spikexyx commented 7 months ago

Temporarily commenting out the following section can prevent SuperTuxKart from crashing. However, there is an issue with some images not displaying correctly, which is still under investigation.

/src/rvgpu-sanity/rvgpu-sanity.c boolsanity_check_resource_box(const struct virtio_gpu_box*b, uint32_t width, uint32_t height, uint32_t depth) { if ((uint64_t)b->x + b->w > width) return false; if ((uint64_t)b->y + b->h > height) return false; if ((uint64t)b->z + b->d > depth) // return false;_ return true; }

Hi @FumiyaKohzu , I've also met the problem mentioned in this issue. After commenting out the sanity check section, the images in the game race cannot display correctly, have you made any progress on how to solve this problem?

FumiyaKohzu commented 7 months ago

Thank you for comment. We have identified the cause and are currently exploring solutions.

HT-Yuan commented 2 months ago

Thank you for comment. We have identified the cause and are currently exploring solutions.

Hi, is this solution already planned?

HT-Yuan commented 1 month ago

@FumiyaKohzu Hello, I also encountered this problem, is there any progress now? Or have you found the cause?

AtsuyaNasu commented 1 month ago

@HT-Yuan Hello. We have implemented a temporary fix for the SuperTuxKart issue and merged it into the main branch. https://github.com/unified-hmi/remote-virtio-gpu/commit/4e36808ff6cd104e690dec3080e557e173b2759b

The data is now being transferred correctly according to each VIRGL_FORMAT. We plan to add support for additional VIRGL_FORMATs as needed in the future.

However, please note that SuperTuxKart does not display correctly with the standard Mesa 21.2.6 on Ubuntu 20.04. We have verified that the game renders properly with Mesa 20.3.5 when running weston and SuperTuxKart.

We recommend using Mesa 20.3.5 for an optimal experience with SuperTuxKart at this time. If you encounter any further issues or have additional feedback, please let us know.

HT-Yuan commented 1 month ago

@HT-Yuan Hello. We have implemented a temporary fix for the SuperTuxKart issue and merged it into the main branch. 4e36808

The data is now being transferred correctly according to each VIRGL_FORMAT. We plan to add support for additional VIRGL_FORMATs as needed in the future.

However, please note that SuperTuxKart does not display correctly with the standard Mesa 21.2.6 on Ubuntu 20.04. We have verified that the game renders properly with Mesa 20.3.5 when running weston and SuperTuxKart.

We recommend using Mesa 20.3.5 for an optimal experience with SuperTuxKart at this time. If you encounter any further issues or have additional feedback, please let us know.

Great, changing the bpp size for VIRGLFORMAT* really solved a lot of problems. Thanks for the work.