flathub / info.cemu.Cemu

https://flathub.org/apps/details/info.cemu.Cemu
4 stars 7 forks source link

Online Play using Pretendo is borked #126

Closed JerrySM64 closed 3 weeks ago

JerrySM64 commented 3 months ago

I wanted to play Splatoon Online using Pretendo. So I gave Cemu a complete dump from my Wii U + otp.bin as well as seeprom.bin. When I try to fire up Splatoon though, I get this error in the Debug logging: image

It's also not specific to the game, I get this error everywhere I try to connect to the online services. The official "ubuntu" build and the Windows build works, so I'm pretty sure there's something going on with the Flatpak. Since I'm running NixOS, I cannot just use the AppImage or the official "ubuntu" build because of dynamically linked libraries. And with Distrobox, I can't connect my controller.

I also tried giving the Flatpak every permission I can using Flatseal, literally disabling the sandbox in the process, but that didn't work as well.

Version is 2.0-82.

Any idea what could be causing this issue?

ColinKinloch commented 3 months ago

Thanks for the report. Here's the same issue upstream: https://github.com/cemu-project/Cemu/issues/1189

For context 403 is a "Forbidden" error so maybe there's some credential missing from the flatpak build.

ColinKinloch commented 3 months ago

It could be that this is causing a user agent mismatch: https://github.com/flathub/info.cemu.Cemu/blob/e0f32ab459e02084439dcaae59b0caa448d4dc5c/info.cemu.Cemu.yml#L227-L230

ColinKinloch commented 3 months ago

Would you be able to upload the full log from ~/.var/app/info.cemu.Cemu/data/Cemu/log.txt

JerrySM64 commented 3 months ago

Sure! Here's the output. Game I tried last: Splatoon as it's easy to see if it works or not. If it doesn't the game softlocks while loading the save file.

jerry at Green-Demon in ~ 
❯ cat .var/app/info.cemu.Cemu/data/Cemu/log.txt     
[04:15:22.730] ------- Init Cemu 2.0-82 (experimental) -------
[04:15:22.730] Init Wii U memory space (base: 0x0000748f38000000)
[04:15:22.731] mlc01 path: /home/jerry/.var/app/info.cemu.Cemu/data/Cemu/mlc01
[04:15:22.731] CPU: AMD Ryzen 7 5800X 8-Core Processor             
[04:15:22.731] RAM: 32019MB
[04:15:22.731] Platform: Linux (Flatpak)
[04:15:22.731] Used CPU extensions: SSSE3, SSE4.1, AVX, AVX2, LZCNT, MOVBE, BMI2, AES-NI, INVARIANT-TSC
[04:15:36.064] Mounting title 0005000010176a00
[04:15:36.064] Base: /home/jerry/.var/app/info.cemu.Cemu/data/Cemu/mlc01/usr/title/00050000/10176a00 [Folder]
[04:15:36.064] Update: /home/jerry/.var/app/info.cemu.Cemu/data/Cemu/mlc01/usr/title/0005000e/10176a00 [Folder]
[04:15:36.064] DLC: Not present
[04:15:36.078] COS: System fonts found. Generated shareddata (25433KB)
[04:15:36.091] Recompiler initialized
[04:15:36.270] ------- Init Vulkan graphics backend -------
[04:15:36.294] Vulkan instance version: 1.3
[04:15:36.302] Using GPU: AMD Radeon RX 6650 XT (RADV NAVI23)
[04:15:36.302] Driver version: Mesa 24.0.6 (git-c659c7e660)
[04:15:36.302] VulkanLimits: UBAlignment 4 nonCoherentAtomSize 64
[04:15:36.307] Using available debug function: vkCreateDebugUtilsMessengerEXT()
[04:15:36.307] Vulkan device memory info:
[04:15:36.307] Heap 0 - Size 16009MB Flags 0x00000000
[04:15:36.307] Heap 1 - Size 8176MB Flags 0x00000001
[04:15:36.307] Memory 0 - HeapIndex 1 Flags 0x00000001
[04:15:36.307] Memory 1 - HeapIndex 1 Flags 0x00000001
[04:15:36.307] Memory 2 - HeapIndex 0 Flags 0x00000006
[04:15:36.307] Memory 3 - HeapIndex 1 Flags 0x00000007
[04:15:36.307] Memory 4 - HeapIndex 1 Flags 0x00000007
[04:15:36.307] Memory 5 - HeapIndex 0 Flags 0x0000000e
[04:15:36.307] Memory 6 - HeapIndex 0 Flags 0x0000000e
[04:15:36.307] Memory 7 - HeapIndex 1 Flags 0x000000c1
[04:15:36.307] Memory 8 - HeapIndex 0 Flags 0x000000c6
[04:15:36.307] Memory 9 - HeapIndex 1 Flags 0x000000c7
[04:15:36.307] Memory 10 - HeapIndex 0 Flags 0x000000ce
[04:15:36.307] VK_FORMAT_D24_UNORM_S8_UINT not supported
[04:15:36.307] VK_FORMAT_R4G4_UNORM_PACK8 not supported
[04:15:36.337] ------- Loaded title -------
[04:15:36.337] TitleId: 00050000-10176a00
[04:15:36.337] TitleVersion: v288
[04:15:36.337] TitleRegion: EU
[04:15:36.337] Save path:   /home/jerry/.var/app/info.cemu.Cemu/data/Cemu/mlc01/usr/save/00050000/10176A00/user/ (not present)
[04:15:36.337] Shader cache file: shaderCache/transferable/0005000010176a00.bin
[04:15:36.337] gameprofile path:  (not present)
[04:15:36.337] RPX hash (updated): 9dbcf237
[04:15:36.337] RPX hash (base): 8d354cea
[04:15:36.344] nsyshid::BackendLibusb: device not on whitelist: 0781:55a9
[04:15:36.344] nsyshid::BackendLibusb: device not on whitelist: 1d6b:0003
[04:15:36.344] nsyshid::BackendLibusb: device not on whitelist: 1d6b:0002
[04:15:36.344] nsyshid::BackendLibusb: device not on whitelist: 1d6b:0003
[04:15:36.344] nsyshid::BackendLibusb: device not on whitelist: 045e:0779
[04:15:36.344] nsyshid::BackendLibusb: device not on whitelist: 1462:7c56
[04:15:36.344] nsyshid::BackendLibusb: device not on whitelist: 0d8c:0134
[04:15:36.344] nsyshid::BackendLibusb: device not on whitelist: 248a:8366
[04:15:36.344] nsyshid::BackendLibusb: device not on whitelist: 0a12:0001
[04:15:36.344] nsyshid::BackendLibusb: device not on whitelist: 05e3:0608
[04:15:36.344] nsyshid::BackendLibusb: device not on whitelist: 046d:c33f
[04:15:36.344] nsyshid::BackendLibusb: device not on whitelist: 1d6b:0002
[04:15:36.381] Loaded module 'gambit' with checksum 0x659c782e
[04:15:36.381] RPL link time: 37ms
[04:15:36.436] HLE scan time: 55ms
[04:15:36.436] ------- Active settings -------
[04:15:36.436] CPU-Mode: Multi-core recompiler
[04:15:36.436] Load shared libraries: true
[04:15:36.436] Use precompiled shaders: auto
[04:15:36.436] Full sync at GX2DrawDone: true
[04:15:36.436] Strict shader mul: true
[04:15:36.436] Async compile: false
[04:15:36.436] Console language: 1
[04:15:36.542] ------- Activate graphic packs -------
[04:15:36.542] ------- Init Audio backend -------
[04:15:36.542] DirectSound: not supported
[04:15:36.542] XAudio 2.8: not supported
[04:15:36.542] XAudio 2.7: not supported
[04:15:36.542] Cubeb: available
[04:15:36.542] ------- Init Audio input backend -------
[04:15:36.542] Cubeb: available
[04:15:36.542] ------- Run title -------
[04:15:36.612] IOSU_ACT: using account Jerry in first slot
[04:15:38.400] Game attempting to re-initialize existing thread
[04:15:38.901] HTTP request received response 403 but expected 200
[04:15:38.901] Failed request /oauth20/access_token/generate
[04:15:38.901] ACT_GetNexToken(): Failed to retrieve OAuth token

jerry at Green-Demon in ~ took 16ms
❯ 
Exzap commented 3 months ago

I suspect this is because of an incorrect User-Agent string in the request. It's a hardcoded string here Maybe the libcurl version that our flatpak uses doesn't support the legacy way of passing user-agent via headers anymore and instead setopt with CURLOPT_USERAGENT has to be used. I will update it later today and push an update.

JerrySM64 commented 3 months ago

Alright, thank you. If it is that, it may also explain why the nixpkg is also borked. But that's a topic, I will discuss with the nixpkg maintainers if it's still borked after the update.

ColinKinloch commented 3 months ago

The build bot is now failing because the vcpkg repo is too big. This build doesn't use vcpkg so I'll go through the submodules adding them to the build manifest manually If a general solution isn't found in a few days. I don't really want to do that because it would mean new releases would no longer be just a case of testing and merging an automatically generated MR.

JerrySM64 commented 3 months ago

Just retried it with 2.0-84 and I'm sad to say that the Forbidden HTTP error still persists.

JerrySM64 commented 3 months ago

Here is the new log. Only difference seems to be the Cemu version at the top and my version of Mesa.

jerry at Green-Demon in ~ took 19ms
❯ cat .var/app/info.cemu.Cemu/data/Cemu/log.txt
[03:40:31.699] ------- Init Cemu 2.0-84 (experimental) -------
[03:40:31.699] Init Wii U memory space (base: 0x00007dac60000000)
[03:40:31.699] mlc01 path: /home/jerry/.var/app/info.cemu.Cemu/data/Cemu/mlc01
[03:40:31.699] CPU: AMD Ryzen 7 5800X 8-Core Processor             
[03:40:31.699] RAM: 32024MB
[03:40:31.699] Platform: Linux (Flatpak)
[03:40:31.699] Used CPU extensions: SSSE3, SSE4.1, AVX, AVX2, LZCNT, MOVBE, BMI2, AES-NI, INVARIANT-TSC
[03:40:51.398] Mounting title 0005000010176a00
[03:40:51.398] Base: /home/jerry/.var/app/info.cemu.Cemu/data/Cemu/mlc01/usr/title/00050000/10176a00 [Folder]
[03:40:51.398] Update: /home/jerry/.var/app/info.cemu.Cemu/data/Cemu/mlc01/usr/title/0005000e/10176a00 [Folder]
[03:40:51.398] DLC: Not present
[03:40:51.416] COS: System fonts found. Generated shareddata (25433KB)
[03:40:51.428] Recompiler initialized
[03:40:51.603] GameMode has been started.
[03:40:51.604] ------- Init Vulkan graphics backend -------
[03:40:51.628] Vulkan instance version: 1.3
[03:40:51.634] Using GPU: AMD Radeon RX 6650 XT (RADV NAVI23)
[03:40:51.634] Driver version: Mesa 24.0.7 (git-cc175010c5)
[03:40:51.634] VulkanLimits: UBAlignment 4 nonCoherentAtomSize 64
[03:40:51.699] Using available debug function: vkCreateDebugUtilsMessengerEXT()
[03:40:51.699] Vulkan device memory info:
[03:40:51.699] Heap 0 - Size 16012MB Flags 0x00000000
[03:40:51.699] Heap 1 - Size 8176MB Flags 0x00000001
[03:40:51.699] Memory 0 - HeapIndex 1 Flags 0x00000001
[03:40:51.699] Memory 1 - HeapIndex 1 Flags 0x00000001
[03:40:51.699] Memory 2 - HeapIndex 0 Flags 0x00000006
[03:40:51.699] Memory 3 - HeapIndex 1 Flags 0x00000007
[03:40:51.699] Memory 4 - HeapIndex 1 Flags 0x00000007
[03:40:51.699] Memory 5 - HeapIndex 0 Flags 0x0000000e
[03:40:51.699] Memory 6 - HeapIndex 0 Flags 0x0000000e
[03:40:51.699] Memory 7 - HeapIndex 1 Flags 0x000000c1
[03:40:51.699] Memory 8 - HeapIndex 0 Flags 0x000000c6
[03:40:51.699] Memory 9 - HeapIndex 1 Flags 0x000000c7
[03:40:51.699] Memory 10 - HeapIndex 0 Flags 0x000000ce
[03:40:51.699] VK_FORMAT_D24_UNORM_S8_UINT not supported
[03:40:51.699] VK_FORMAT_R4G4_UNORM_PACK8 not supported
[03:40:51.729] ------- Loaded title -------
[03:40:51.729] TitleId: 00050000-10176a00
[03:40:51.729] TitleVersion: v288
[03:40:51.729] TitleRegion: EU
[03:40:51.729] Save path:   /home/jerry/.var/app/info.cemu.Cemu/data/Cemu/mlc01/usr/save/00050000/10176A00/user/ (not present)
[03:40:51.729] Shader cache file: shaderCache/transferable/0005000010176a00.bin
[03:40:51.729] gameprofile path:  (not present)
[03:40:51.729] RPX hash (updated): 9dbcf237
[03:40:51.729] RPX hash (base): 8d354cea
[03:40:51.735] nsyshid::BackendLibusb: device not on whitelist: 0781:55a9
[03:40:51.735] nsyshid::BackendLibusb: device not on whitelist: 1d6b:0003
[03:40:51.735] nsyshid::BackendLibusb: device not on whitelist: 1d6b:0002
[03:40:51.735] nsyshid::BackendLibusb: device not on whitelist: 1d6b:0003
[03:40:51.735] nsyshid::BackendLibusb: device not on whitelist: 045e:0779
[03:40:51.735] nsyshid::BackendLibusb: device not on whitelist: 1462:7c56
[03:40:51.735] nsyshid::BackendLibusb: device not on whitelist: 0d8c:0134
[03:40:51.735] nsyshid::BackendLibusb: device not on whitelist: 248a:8366
[03:40:51.736] nsyshid::BackendLibusb: device not on whitelist: 0a12:0001
[03:40:51.736] nsyshid::BackendLibusb: device not on whitelist: 05e3:0608
[03:40:51.736] nsyshid::BackendLibusb: device not on whitelist: 046d:c33f
[03:40:51.736] nsyshid::BackendLibusb: device not on whitelist: 1d6b:0002
[03:40:51.771] Loaded module 'gambit' with checksum 0x659c782e
[03:40:51.771] RPL link time: 35ms
[03:40:51.823] HLE scan time: 53ms
[03:40:51.823] ------- Active settings -------
[03:40:51.823] CPU-Mode: Multi-core recompiler
[03:40:51.823] Load shared libraries: true
[03:40:51.823] Use precompiled shaders: auto
[03:40:51.823] Full sync at GX2DrawDone: true
[03:40:51.823] Strict shader mul: true
[03:40:51.823] Async compile: true
[03:40:51.823] Console language: 1
[03:40:51.925] ------- Activate graphic packs -------
[03:40:51.925] ------- Init Audio backend -------
[03:40:51.925] DirectSound: not supported
[03:40:51.925] XAudio 2.8: not supported
[03:40:51.925] XAudio 2.7: not supported
[03:40:51.925] Cubeb: available
[03:40:51.925] ------- Init Audio input backend -------
[03:40:51.925] Cubeb: available
[03:40:51.925] ------- Run title -------
[03:40:52.003] IOSU_ACT: using account Jerry in first slot
[03:40:54.056] HTTP request received response 403 but expected 200
[03:40:54.056] Failed request /oauth20/access_token/generate
[03:40:54.056] ACT_GetNexToken(): Failed to retrieve OAuth token

jerry at Green-Demon in ~ took 18ms
❯ 
Exzap commented 3 weeks ago

Closing this since it has been fixed for a while