[{"data":1,"prerenderedAt":493},["ShallowReactive",2],{"docs-en-\u002Fdocs\u002Ftroubleshooting":3},{"id":4,"title":5,"author":6,"body":7,"date":6,"description":484,"extension":485,"meta":486,"navigation":488,"path":489,"seo":490,"stem":491,"tags":6,"__hash__":492},"content_en\u002Fdocs\u002Ftroubleshooting.md","Troubleshooting",null,{"type":8,"value":9,"toc":467},"minimark",[10,14,19,27,33,56,60,65,69,87,91,96,100,129,133,138,142,169,173,178,182,202,206,211,215,248,252,257,261,281,285,290,294,312,316,321,325,360,364,369,373,402,406,411,415,432,436,441,445],[11,12,5],"h1",{"id":13},"troubleshooting",[15,16,18],"h2",{"id":17},"display-stuck-on-setup-screen","Display stuck on setup screen",[20,21,22,26],"p",{},[23,24,25],"strong",{},"Symptoms",": Player shows the CMS configuration form and never progresses to content.",[20,28,29,32],{},[23,30,31],{},"Solutions",":",[34,35,36,44,47,53],"ul",{},[37,38,39,40],"li",{},"Verify the CMS URL is correct and includes ",[41,42,43],"code",{},"https:\u002F\u002F",[37,45,46],{},"Check the CMS Secret Key matches (Settings → Display Settings in CMS)",[37,48,49,50],{},"Ensure the player can reach the CMS: ",[41,51,52],{},"curl -sf https:\u002F\u002Fyour-cms\u002Fapi\u002Fabout",[37,54,55],{},"Check firewall rules — the CMS must be accessible from the player's network",[15,57,59],{"id":58},"content-not-updating-after-schedule-change","Content not updating after schedule change",[20,61,62,64],{},[23,63,25],{},": You changed the schedule in CMS but the player shows old content.",[20,66,67,32],{},[23,68,31],{},[34,70,71,74,81,84],{},[37,72,73],{},"Wait for the collection interval (default: 5 minutes)",[37,75,76,77,80],{},"Send ",[23,78,79],{},"Collect Now"," from CMS → Displays → row menu → Send Command",[37,82,83],{},"Check XMR is running — real-time commands require the XMR service",[37,85,86],{},"Verify the schedule's date\u002Ftime range includes the current time (check timezone)",[15,88,90],{"id":89},"video-not-playing","Video not playing",[20,92,93,95],{},[23,94,25],{},": Video widget shows a black rectangle or loading indicator.",[20,97,98,32],{},[23,99,31],{},[34,101,102,105,112,119,122],{},[37,103,104],{},"Check the video codec — MP4 with H.264 is universally supported",[37,106,107,108,111],{},"For HLS streams, ensure the ",[41,109,110],{},".m3u8"," URL is accessible from the player",[37,113,114,115,118],{},"Electron: verify GPU acceleration is enabled (",[41,116,117],{},"--ignore-gpu-blocklist"," flag is default)",[37,120,121],{},"Check browser console for CORS errors — videos must be served from the CMS or a CORS-enabled CDN",[37,123,124,125,128],{},"Large videos: wait for the download to complete (check the download overlay with ",[41,126,127],{},"D"," key)",[15,130,132],{"id":131},"cms-connection-refused-timeout","CMS connection refused \u002F timeout",[20,134,135,137],{},[23,136,25],{},": Player logs show \"XMDS error\", \"fetch failed\", or \"ECONNREFUSED\".",[20,139,140,32],{},[23,141,31],{},[34,143,144,150,156,159,166],{},[37,145,146,147],{},"Verify the CMS is running: ",[41,148,149],{},"curl https:\u002F\u002Fyour-cms\u002Fapi\u002Fabout",[37,151,152,153],{},"Check DNS resolution from the player: ",[41,154,155],{},"nslookup your-cms.example.com",[37,157,158],{},"Verify no firewall blocks port 443 (HTTPS) or 80 (HTTP)",[37,160,161,162,165],{},"If using a self-signed certificate, set ",[41,163,164],{},"relaxSslCerts: true"," in config.json",[37,167,168],{},"Check proxy settings if the player is behind a corporate proxy",[15,170,172],{"id":171},"display-shows-as-offline-in-cms","Display shows as offline in CMS",[20,174,175,177],{},[23,176,25],{},": CMS shows the display with a red status indicator.",[20,179,180,32],{},[23,181,31],{},[34,183,184,190,193,196],{},[37,185,186,187],{},"Check the player is running: ",[41,188,189],{},"systemctl --user status xiboplayer-electron",[37,191,192],{},"Verify network connectivity from the player",[37,194,195],{},"Check the collection interval — a display is \"offline\" if it hasn't checked in within 2x the interval",[37,197,198,199],{},"Review player logs: ",[41,200,201],{},"journalctl --user -u xiboplayer-electron -f",[15,203,205],{"id":204},"black-screen-after-boot-kiosk","Black screen after boot (kiosk)",[20,207,208,210],{},[23,209,25],{},": Kiosk boots to a black screen, no player UI visible.",[20,212,213,32],{},[23,214,31],{},[34,216,217,224,230,236,242],{},[37,218,219,220,223],{},"Press ",[41,221,222],{},"Ctrl+I"," to show the status overlay (IP, CMS, player status)",[37,225,226,227],{},"Check GDM is running: ",[41,228,229],{},"systemctl status gdm",[37,231,232,233],{},"Verify the kiosk session is configured: ",[41,234,235],{},"cat \u002Fvar\u002Flib\u002FAccountsService\u002Fusers\u002Fxibo",[37,237,238,239],{},"Check the player service: ",[41,240,241],{},"systemctl --user -M xibo@ status xibo-player.service",[37,243,244,245],{},"Review the session log: ",[41,246,247],{},"journalctl --user -u gnome-kiosk-script -f",[15,249,251],{"id":250},"cors-errors-in-browser-console","CORS errors in browser console",[20,253,254,256],{},[23,255,25],{},": Console shows \"Access-Control-Allow-Origin\" errors, resources fail to load.",[20,258,259,32],{},[23,260,31],{},[34,262,263,269,275,278],{},[37,264,265,268],{},[23,266,267],{},"PWA",": Must be served from the same origin as the CMS, or use the proxy",[37,270,271,274],{},[23,272,273],{},"Electron\u002FChromium",": The built-in proxy handles CORS automatically — this should not happen",[37,276,277],{},"Check that the proxy server is running on the expected port (8765 for Electron, 8766 for Chromium)",[37,279,280],{},"If using a reverse proxy (nginx\u002FSWAG), ensure it passes CORS headers",[15,282,284],{"id":283},"schedule-not-appearing-at-correct-times","Schedule not appearing at correct times",[20,286,287,289],{},[23,288,25],{},": Content shows at wrong times or not at all during scheduled periods.",[20,291,292,32],{},[23,293,31],{},[34,295,296,299,302,305],{},[37,297,298],{},"Verify the player's timezone matches the CMS timezone",[37,300,301],{},"Check the schedule's dayparting settings in CMS",[37,303,304],{},"Campaign priority: higher-priority campaigns override lower ones",[37,306,307,308,311],{},"Use the timeline overlay (",[41,309,310],{},"T"," key in the player) to see what's scheduled",[15,313,315],{"id":314},"player-high-cpu-usage","Player high CPU usage",[20,317,318,320],{},[23,319,25],{},": CPU usage above 20% during normal playback.",[20,322,323,32],{},[23,324,31],{},[34,326,327,337,351,354,357],{},[37,328,329,332,333,336],{},[23,330,331],{},"Electron",": Ensure GPU acceleration is working — check ",[41,334,335],{},"chrome:\u002F\u002Fgpu"," in dev mode",[37,338,339,342,343,346,347,350],{},[23,340,341],{},"Chromium",": Verify ",[41,344,345],{},"--enable-gpu-rasterization"," and ",[41,348,349],{},"--enable-zero-copy"," flags are applied",[37,352,353],{},"Check for complex layouts with many regions or heavy JavaScript widgets",[37,355,356],{},"Review video resolution — 4K video on a 1080p display wastes resources",[37,358,359],{},"Expected: 4-5% CPU in production with GPU acceleration enabled",[15,361,363],{"id":362},"screenshots-not-submitting","Screenshots not submitting",[20,365,366,368],{},[23,367,25],{},": CMS shows no screenshots for the display.",[20,370,371,32],{},[23,372,31],{},[34,374,375,382,389,396],{},[37,376,377,378,381],{},"Check ",[41,379,380],{},"screenshotInterval"," in display settings (CMS → Display Settings)",[37,383,384,385,388],{},"Electron uses ",[41,386,387],{},"desktopCapturer"," API — requires a display",[37,390,391,392,395],{},"Chromium falls back to ",[41,393,394],{},"html2canvas"," — check browser console for errors",[37,397,398,399],{},"Verify the CMS can receive uploads — check PHP ",[41,400,401],{},"upload_max_filesize",[15,403,405],{"id":404},"xmr-commands-not-received","XMR commands not received",[20,407,408,410],{},[23,409,25],{},": Collect Now, screenshot, and other real-time commands don't work.",[20,412,413,32],{},[23,414,31],{},[34,416,417,420,423,426,429],{},[37,418,419],{},"Verify XMR is running on the CMS server",[37,421,422],{},"Check the XMR public address is reachable from the player (default: port 9505)",[37,424,425],{},"Review the player's XMR connection log for WebSocket errors",[37,427,428],{},"Ensure the display's hardware key matches the registered key in CMS",[37,430,431],{},"Restart the player to force a new XMR channel registration",[15,433,435],{"id":434},"display-registered-but-no-content","Display registered but no content",[20,437,438,440],{},[23,439,25],{},": Display is authorized in CMS but shows \"No scheduled content\" or the default layout.",[20,442,443,32],{},[23,444,31],{},[34,446,447,450,453,456,461],{},[37,448,449],{},"Create a campaign in CMS and schedule it for the display or its display group",[37,451,452],{},"Check the schedule's date range includes today",[37,454,455],{},"Verify the display is in the correct Display Group",[37,457,76,458,460],{},[23,459,79],{}," to trigger an immediate schedule refresh",[37,462,463,464,466],{},"Check the player's timeline overlay (",[41,465,310],{}," key) to see the current schedule",{"title":468,"searchDepth":469,"depth":469,"links":470},"",3,[471,473,474,475,476,477,478,479,480,481,482,483],{"id":17,"depth":472,"text":18},2,{"id":58,"depth":472,"text":59},{"id":89,"depth":472,"text":90},{"id":131,"depth":472,"text":132},{"id":171,"depth":472,"text":172},{"id":204,"depth":472,"text":205},{"id":250,"depth":472,"text":251},{"id":283,"depth":472,"text":284},{"id":314,"depth":472,"text":315},{"id":362,"depth":472,"text":363},{"id":404,"depth":472,"text":405},{"id":434,"depth":472,"text":435},"Solutions for common xiboplayer issues","md",{"order":487},1,true,"\u002Fdocs\u002Ftroubleshooting",{"title":5,"description":484},"docs\u002Ftroubleshooting","1yucgrTxtgKTihiuSI1LPpuF2OA4xgZbhztrATSlFa0",1775148109500]