XIBO Player for WIndows crashes on 4K screens

Before completing please check that the time, date and timezone have been correctly set on the device running the Player.

To be completed by the original poster:

Player Version

windows 4 R405.3-405 on WIndows 11 Enterprise 22H2 build 22621.1848

Issue

I have several XIBO Windows players, since a few weeks they crash on 4K screens. I swapped one between a full-HD and 4K screen and it only crashes when connected to the 4K screen.

CMS errors:

Unhandled Exception: Startup: Insufficient memory to continue the execution of the program.

Stack Trace: at System.Windows.Media.Imaging.WriteableBitmap..ctor(Int32 pixelWidth, Int32 pixelHeight, Double dpiX, Double dpiY, PixelFormat pixelFormat, BitmapPalette palette) at CefSharp.Wpf.Rendering.WritableBitmapRenderHandler.<>c__DisplayClass8_0.b__0() in C:\projects\cefsharp\CefSharp.Wpf\Rendering\WritableBitmapRenderHandler.cs:line 145 at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) at System.Windows.Threading.DispatcherOperation.InvokeImpl() at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state) at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state) at System.Windows.Threading.DispatcherOperation.Invoke() at System.Windows.Threading.Dispatcher.ProcessQueue() at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled) at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o) at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs) at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler) at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs) at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam) at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg) at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame) at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame) at System.Windows.Window.ShowHelper(Object booleanBox) at System.Windows.Window.Show() at System.Windows.Window.ShowDialog() at XiboClient.App.RunClient(Boolean screenSaver) in C:\Users\User\Documents\Source\xibo-dotnetclient\App.xaml.cs:line 119 at XiboClient.App.OnStartup(StartupEventArgs e) in C:\Users\User\Documents\Source\xibo-dotnetclient\App.xaml.cs:line 79

I have had similar issues with 4K on Windows. I think it’s because the player is only 32bit and so the RAM is limited to 4GB. In Windows, I change the resolution of the display to 1920x1080. I think there’s a new unified player in the works that will be 64bit and should help with 4K.

We have exactly the same error on our bigger display (8640x1920) with version 4r406.3-406.
Maybe that was the problem we had with 405 too. I didnt look at the logs, i just installed the old version again.

With version v4r404.1-404 the layout is playing on that screen. Maybe that works for you too.

Hello,

We are experiencing exactly the same issue.

We are running a Windows system with three monitors configured in extended display mode. Each screen has a resolution of 1920×1080.

As a result, Xibo detects a single combined display with a resolution of 5760×1080.

We split this 5760-pixel width into three separate regions in order to display different content on each screen.

However, as soon as we add a video to one of these three regions, Xibo crashes.

The application freezes and eventually reports a memory-related error.

We tried reducing the video resolution significantly (down to 560px width), but the problem still occurs.

We have also tested versions 401 and 405, with the same result.

The issue does not seem to happen when only two screens are used (3840×1080).

Does anyone have any advice or a possible workaround?

Thank you in advance.

We are evaluating the Android DSDevices DSDA1 player. That player is able to display the same content successfully on a 4K screen.

Here is the corresponding GitHub issue: XfW: Version R405.3 running on Windows 11 crashes after freezing when connected to displays above 1080p resolution (1440p/4K) · Issue #3824 · xibosignage/xibo