NicolasGuilloux / blade-shadow-beta

Various documentation and tools for Shadow on Linux maintained by community
MIT License
119 stars 21 forks source link

Stream disconnection bug (error L:100) #38

Closed jame25 closed 4 years ago

jame25 commented 5 years ago

Describe the bug Stable and latest Beta client for Linux frequently dropping / disconnecting with error L:100. This problem is only occurring when free movement cursor is enabled. The client is 100% stable in 'cursor-locked' mode. Issue did not exist on the same system using the old Shadow client.

System

Additional context Graphical corruption of cursor will sometimes occur seconds before the Client disconnects. The issue can be consistently reproduced by moving (travelling by clicking) around in Google Maps 'street view' mode.

aarnoud commented 5 years ago

Hey, thanks for feedback, can you extend your issues with following informations :

jame25 commented 5 years ago

Apologies for the delay. libva-tools (or vainfo) are not currently available as packages for FatDog64, however libva and libva-intel-driver are installed. I ended up getting the below 'vainfo' from a temporary install of Ubuntu 19.04 on the same system.

GPU: Intel integrated HD Graphics 5300 GPU Driver: i915

$ vainfo libva info: VA-API version 1.4.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_1_4 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.4 (libva 2.4.0) vainfo: Driver version: Intel i965 driver for Intel(R) Broadwell - 2.3.0 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Simple : VAEntrypointEncSlice VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileH264MultiviewHigh : VAEntrypointVLD VAProfileH264MultiviewHigh : VAEntrypointEncSlice VAProfileH264StereoHigh : VAEntrypointVLD VAProfileH264StereoHigh : VAEntrypointEncSlice VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc VAProfileJPEGBaseline : VAEntrypointVLD VAProfileVP8Version0_3 : VAEntrypointVLD

jame25 commented 5 years ago

Fatdog64 vainfo output: (NOTE: The '--enable-wayland=0' flag was used to compile libva and libva-intel-driver)

vainfo

libva info: VA-API version 1.5.0 libva info: va_getDriverName() returns 0 libva info: Trying to open /usr/lib64/dri/i965_drv_video.so libva info: Found init function __vaDriverInit_1_1 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.5 (libva 2.5.0) vainfo: Driver version: Intel i965 driver for Intel(R) Broadwell - 2.3.0 vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Simple : VAEntrypointEncSlice VAProfileMPEG2Main : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointEncSlice VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileH264MultiviewHigh : VAEntrypointVLD VAProfileH264MultiviewHigh : VAEntrypointEncSlice VAProfileH264StereoHigh : VAEntrypointVLD VAProfileH264StereoHigh : VAEntrypointEncSlice VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc VAProfileJPEGBaseline : VAEntrypointVLD VAProfileVP8Version0_3 : VAEntrypointVLD

avallete commented 5 years ago

Same issue using NVIDIA patched driver:

https://nicolasguilloux.eu/hostbin/1561218302

jame25 commented 5 years ago

I note that the 'stable' client is not exhibiting this issue on the same hardware when running Ubuntu 19.04. I have tried to recreate the same environment on Fatdog64 (Mesa, Libva, Intel i965 driver) - but there is no difference - issue persists.

Since the problem will only happen when cursor is enabled and I actually click on something, can someone suggest what packages would relate to that (hardware detection?) aspect of the Shadow client?

jame25 commented 5 years ago

I believe I have now established that the current implementation of LD_PRELOAD management by the client is not going to work for all distributions. My issue was directly related to the custom SDL2 library included not being pre-loaded. Since manually doing so, cursor-locked mode now works (previously there was no cursor) and crashing has stopped.

Edit: Crashing (error L:100) is still occurring for me in windowed-mode (cursor lock off). I have to assume that this is due to a 'falling-back' to system-installed version of SDL2 when app is in that mode.

aarnoud commented 5 years ago

@jame25 once PRELOADED it shouldn't fallback, you are not alone reporting those crash linked to mouse pointer, it's most likely a bug now in the linux app.

jame25 commented 5 years ago

Okay great, thanks for the clarification.

tdeckers commented 5 years ago

I'm unable to even start streaming... on Ubuntu 19.04. Same L:100 issue... could this be the same bug? Happy to collect any info you need. Ubuntu 19.04, Geforce1050Ti

NicolasGuilloux commented 4 years ago

Hi there! Wooops we forgot to answer you :x

Is it still happening? Do you use the AppImage? Can you make sure that the vainfo returns correctly?

jame25 commented 4 years ago

Hi there! Wooops we forgot to answer you :x

Is it still happening? Do you use the AppImage? Can you make sure that the vainfo returns correctly?

Yes, issue persists with latest beta AppImage (v2.15.7) and vainfo is correct. AppImage works without crash when in full-screen mode.

jame25 commented 4 years ago

I just noticed some var/log messages related to the crash, if they offer any insight.

Nov 11 02:26:31 fatdog64-ccb user.info kernel: Shadow[6224]: segfault at 0 ip 00007f2744515a01 sp 00007ffce3e99218 error 4 in libc-2.27.so[7f27443bc000+1b0000]
Nov 11 02:26:31 fatdog64-ccb user.info kernel: Code: c7 80 00 00 00 48 81 fa 80 00 00 00 77 bc c5 fe 7f 29 c5 fe 7f 71 e0 c5 fe 7f 79 c0 c5 7e 7f 41 a0 c4 c1 7e 7f 23 c5 f8 77 c3 <c5> fe 6f 26 c5 fe 6f 6e 20 c5 fe 6f 76 40 c5 fe 6f 7e 60 c5 7e 6f
aarnoud commented 4 years ago

when using NVIDIA and patched vdpau (see: https://gitlab.com/aar642/libva-vdpau-drive), it's common issue, but if it still happens on intel, please re-open.

cdupoiron commented 4 years ago

Since yesterday, I have the same problem. I was on 19.04, so after reinstall 18.04, it's the same. L:100 allways. Works on my friend windows laptop on same connection.

System: Kernel: 5.0.0-37-generic x86_64 bits: 64 Console: tty 0 Distro: Ubuntu 18.04.3 LTS Machine: Device: laptop System: Timi product: TM1701 serial: 16773/00062817 Mobo: Timi model: TM1701 v: MP serial: MMG5S000001197C8P0059 UEFI: INSYDE v: XMAKB5R0P0502 date: 10/13/2017 CPU: Quad core Intel Core i5-8250U (-MT-MCP-) cache: 6144 KB clock speeds: max: 3400 MHz 1: 1321 MHz 2: 1125 MHz 3: 980 MHz 4: 1368 MHz 5: 921 MHz 6: 1070 MHz 7: 1056 MHz 8: 1352 MHz Memory: Used/Total: 3785.0/7858.1MB Array-1 capacity: 32 GB devices: 2 EC: None Device-1: ChannelA-DIMM0 size: 4 GB speed: 2400 MT/s type: DDR4 Device-2: ChannelB-DIMM0 size: 4 GB speed: 2400 MT/s type: DDR4 Drives: HDD Total Size: 256.1GB (6.1% used) ID-1: /dev/nvme0n1 model: SAMSUNG_MZVLW256HEHP size: 256.1GB