[{"data":1,"prerenderedAt":1425},["ShallowReactive",2],{"content-en-\u002Fplayers\u002Felectron":3},{"id":4,"title":5,"author":6,"body":7,"date":6,"description":1418,"extension":1419,"meta":1420,"navigation":146,"path":1421,"seo":1422,"stem":1423,"tags":6,"__hash__":1424},"content_en\u002Fplayers\u002Felectron.md","Electron Player",null,{"type":8,"value":9,"toc":1397},"minimark",[10,15,84,88,93,193,197,260,264,271,570,584,588,664,668,740,744,750,800,809,932,938,942,953,1006,1013,1017,1020,1029,1038,1105,1120,1124,1127,1172,1178,1182,1186,1255,1259,1268,1272,1275,1361,1372,1376,1393],[11,12,14],"h2",{"id":13},"key-features","Key Features",[16,17,18,31,37,43,49,55,61,67,78],"ul",{},[19,20,21,25,26],"li",{},[22,23,24],"strong",{},"Multi-display sync (v0.7.0)"," — video wall support with \u003C8ms precision, 12 choreography effects, token-authenticated WebSocket relay. ",[27,28,30],"a",{"href":29},"\u002Ffeatures\u002Fmulti-display","Full sync guide",[19,32,33,36],{},[22,34,35],{},"Fullscreen kiosk mode"," — no window chrome, auto-hide cursor, always-on-top",[19,38,39,42],{},[22,40,41],{},"Built-in HTTP server"," — serves PWA files on localhost:8765, doubles as sync relay for video walls",[19,44,45,48],{},[22,46,47],{},"CORS handling"," — strips and re-injects CORS headers automatically",[19,50,51,54],{},[22,52,53],{},"systemd integration"," — auto-start on boot via user service",[19,56,57,60],{},[22,58,59],{},"REST API first"," — uses the CMS REST API as primary protocol, SOAP fallback",[19,62,63,66],{},[22,64,65],{},"GPU acceleration"," — VAAPI video decode for Intel, AMD, and NVIDIA",[19,68,69,72,73,77],{},[22,70,71],{},"Multiple instances"," — run several displays from one machine with ",[74,75,76],"code",{},"--instance=NAME",", each with isolated config and data",[19,79,80,83],{},[22,81,82],{},"Console log forwarding"," — renderer logs forwarded to proxy stdout for easier debugging",[11,85,87],{"id":86},"installation","Installation",[89,90,92],"h3",{"id":91},"fedora-rhel","Fedora \u002F RHEL",[94,95,100],"pre",{"className":96,"code":97,"language":98,"meta":99,"style":99},"language-bash shiki shiki-themes material-theme-lighter github-light github-dark","# Add the repository (one-time)\n# Fedora 44\nsudo dnf install \\\n  https:\u002F\u002Fdl.xiboplayer.org\u002Frpm\u002Ffedora\u002F43\u002Fnoarch\u002Fxiboplayer-release-43-7.fc43.noarch.rpm\n\n# Fedora 43\nsudo dnf install \\\n  https:\u002F\u002Fdl.xiboplayer.org\u002Frpm\u002Ffedora\u002F43\u002Fnoarch\u002Fxiboplayer-release-43-7.fc43.noarch.rpm\n\n# Install\nsudo dnf install xiboplayer-electron\n","bash","",[74,101,102,111,117,135,141,148,154,165,170,175,181],{"__ignoreMap":99},[103,104,107],"span",{"class":105,"line":106},"line",1,[103,108,110],{"class":109},"sutJx","# Add the repository (one-time)\n",[103,112,114],{"class":105,"line":113},2,[103,115,116],{"class":109},"# Fedora 44\n",[103,118,120,124,128,131],{"class":105,"line":119},3,[103,121,123],{"class":122},"sbgvK","sudo",[103,125,127],{"class":126},"s_sjI"," dnf",[103,129,130],{"class":126}," install",[103,132,134],{"class":133},"s_hVV"," \\\n",[103,136,138],{"class":105,"line":137},4,[103,139,140],{"class":126},"  https:\u002F\u002Fdl.xiboplayer.org\u002Frpm\u002Ffedora\u002F43\u002Fnoarch\u002Fxiboplayer-release-43-7.fc43.noarch.rpm\n",[103,142,144],{"class":105,"line":143},5,[103,145,147],{"emptyLinePlaceholder":146},true,"\n",[103,149,151],{"class":105,"line":150},6,[103,152,153],{"class":109},"# Fedora 43\n",[103,155,157,159,161,163],{"class":105,"line":156},7,[103,158,123],{"class":122},[103,160,127],{"class":126},[103,162,130],{"class":126},[103,164,134],{"class":133},[103,166,168],{"class":105,"line":167},8,[103,169,140],{"class":126},[103,171,173],{"class":105,"line":172},9,[103,174,147],{"emptyLinePlaceholder":146},[103,176,178],{"class":105,"line":177},10,[103,179,180],{"class":109},"# Install\n",[103,182,184,186,188,190],{"class":105,"line":183},11,[103,185,123],{"class":122},[103,187,127],{"class":126},[103,189,130],{"class":126},[103,191,192],{"class":126}," xiboplayer-electron\n",[89,194,196],{"id":195},"ubuntu-debian","Ubuntu \u002F Debian",[94,198,200],{"className":96,"code":199,"language":98,"meta":99,"style":99},"# Add the repository (one-time)\ncurl -fsSLO https:\u002F\u002Fdl.xiboplayer.org\u002Fdeb\u002Fubuntu\u002F24.04\u002Fall\u002Fxiboplayer-release_1.0.2_all.deb\nsudo apt install .\u002Fxiboplayer-release_1.0.2_all.deb\n\n# Install\nsudo apt update && sudo apt install xiboplayer-electron\n",[74,201,202,206,218,230,234,238],{"__ignoreMap":99},[103,203,204],{"class":105,"line":106},[103,205,110],{"class":109},[103,207,208,211,215],{"class":105,"line":113},[103,209,210],{"class":122},"curl",[103,212,214],{"class":213},"stzsN"," -fsSLO",[103,216,217],{"class":126}," https:\u002F\u002Fdl.xiboplayer.org\u002Fdeb\u002Fubuntu\u002F24.04\u002Fall\u002Fxiboplayer-release_1.0.2_all.deb\n",[103,219,220,222,225,227],{"class":105,"line":119},[103,221,123],{"class":122},[103,223,224],{"class":126}," apt",[103,226,130],{"class":126},[103,228,229],{"class":126}," .\u002Fxiboplayer-release_1.0.2_all.deb\n",[103,231,232],{"class":105,"line":137},[103,233,147],{"emptyLinePlaceholder":146},[103,235,236],{"class":105,"line":143},[103,237,180],{"class":109},[103,239,240,242,244,247,251,254,256,258],{"class":105,"line":150},[103,241,123],{"class":122},[103,243,224],{"class":126},[103,245,246],{"class":126}," update",[103,248,250],{"class":249},"sP7_E"," &&",[103,252,253],{"class":122}," sudo",[103,255,224],{"class":126},[103,257,130],{"class":126},[103,259,192],{"class":126},[11,261,263],{"id":262},"configuration","Configuration",[265,266,267,268],"p",{},"Configuration file: ",[74,269,270],{},"~\u002F.config\u002Fxiboplayer\u002Felectron\u002Fconfig.json",[94,272,276],{"className":273,"code":274,"language":275,"meta":99,"style":99},"language-json shiki shiki-themes material-theme-lighter github-light github-dark","{\n  \"cmsUrl\": \"https:\u002F\u002Fyour-cms.example.com\",\n  \"serverPort\": 8765,\n  \"kioskMode\": true,\n  \"fullscreen\": true,\n  \"hideMouseCursor\": true,\n  \"preventSleep\": true,\n  \"autoLaunch\": false,\n  \"transport\": \"rest\",\n  \"controls\": {\n    \"keyboard\": {\n      \"debugOverlays\": false,\n      \"setupKey\": false,\n      \"playbackControl\": false,\n      \"videoControls\": false\n    },\n    \"mouse\": {\n      \"statusBarOnHover\": false\n    }\n  }\n}\n","json",[74,277,278,283,311,328,344,359,374,389,405,425,439,454,471,487,503,518,524,538,552,558,564],{"__ignoreMap":99},[103,279,280],{"class":105,"line":106},[103,281,282],{"class":249},"{\n",[103,284,285,289,293,296,299,303,306,308],{"class":105,"line":113},[103,286,288],{"class":287},"s39Yj","  \"",[103,290,292],{"class":291},"sseR_","cmsUrl",[103,294,295],{"class":287},"\"",[103,297,298],{"class":249},":",[103,300,302],{"class":301},"sjJ54"," \"",[103,304,305],{"class":126},"https:\u002F\u002Fyour-cms.example.com",[103,307,295],{"class":301},[103,309,310],{"class":249},",\n",[103,312,313,315,318,320,322,326],{"class":105,"line":119},[103,314,288],{"class":287},[103,316,317],{"class":291},"serverPort",[103,319,295],{"class":287},[103,321,298],{"class":249},[103,323,325],{"class":324},"srdBf"," 8765",[103,327,310],{"class":249},[103,329,330,332,335,337,339,342],{"class":105,"line":137},[103,331,288],{"class":287},[103,333,334],{"class":291},"kioskMode",[103,336,295],{"class":287},[103,338,298],{"class":249},[103,340,341],{"class":287}," true",[103,343,310],{"class":249},[103,345,346,348,351,353,355,357],{"class":105,"line":143},[103,347,288],{"class":287},[103,349,350],{"class":291},"fullscreen",[103,352,295],{"class":287},[103,354,298],{"class":249},[103,356,341],{"class":287},[103,358,310],{"class":249},[103,360,361,363,366,368,370,372],{"class":105,"line":150},[103,362,288],{"class":287},[103,364,365],{"class":291},"hideMouseCursor",[103,367,295],{"class":287},[103,369,298],{"class":249},[103,371,341],{"class":287},[103,373,310],{"class":249},[103,375,376,378,381,383,385,387],{"class":105,"line":156},[103,377,288],{"class":287},[103,379,380],{"class":291},"preventSleep",[103,382,295],{"class":287},[103,384,298],{"class":249},[103,386,341],{"class":287},[103,388,310],{"class":249},[103,390,391,393,396,398,400,403],{"class":105,"line":167},[103,392,288],{"class":287},[103,394,395],{"class":291},"autoLaunch",[103,397,295],{"class":287},[103,399,298],{"class":249},[103,401,402],{"class":287}," false",[103,404,310],{"class":249},[103,406,407,409,412,414,416,418,421,423],{"class":105,"line":172},[103,408,288],{"class":287},[103,410,411],{"class":291},"transport",[103,413,295],{"class":287},[103,415,298],{"class":249},[103,417,302],{"class":301},[103,419,420],{"class":126},"rest",[103,422,295],{"class":301},[103,424,310],{"class":249},[103,426,427,429,432,434,436],{"class":105,"line":177},[103,428,288],{"class":287},[103,430,431],{"class":291},"controls",[103,433,295],{"class":287},[103,435,298],{"class":249},[103,437,438],{"class":249}," {\n",[103,440,441,444,448,450,452],{"class":105,"line":183},[103,442,443],{"class":287},"    \"",[103,445,447],{"class":446},"sZMiF","keyboard",[103,449,295],{"class":287},[103,451,298],{"class":249},[103,453,438],{"class":249},[103,455,457,460,463,465,467,469],{"class":105,"line":456},12,[103,458,459],{"class":287},"      \"",[103,461,462],{"class":324},"debugOverlays",[103,464,295],{"class":287},[103,466,298],{"class":249},[103,468,402],{"class":287},[103,470,310],{"class":249},[103,472,474,476,479,481,483,485],{"class":105,"line":473},13,[103,475,459],{"class":287},[103,477,478],{"class":324},"setupKey",[103,480,295],{"class":287},[103,482,298],{"class":249},[103,484,402],{"class":287},[103,486,310],{"class":249},[103,488,490,492,495,497,499,501],{"class":105,"line":489},14,[103,491,459],{"class":287},[103,493,494],{"class":324},"playbackControl",[103,496,295],{"class":287},[103,498,298],{"class":249},[103,500,402],{"class":287},[103,502,310],{"class":249},[103,504,506,508,511,513,515],{"class":105,"line":505},15,[103,507,459],{"class":287},[103,509,510],{"class":324},"videoControls",[103,512,295],{"class":287},[103,514,298],{"class":249},[103,516,517],{"class":287}," false\n",[103,519,521],{"class":105,"line":520},16,[103,522,523],{"class":249},"    },\n",[103,525,527,529,532,534,536],{"class":105,"line":526},17,[103,528,443],{"class":287},[103,530,531],{"class":446},"mouse",[103,533,295],{"class":287},[103,535,298],{"class":249},[103,537,438],{"class":249},[103,539,541,543,546,548,550],{"class":105,"line":540},18,[103,542,459],{"class":287},[103,544,545],{"class":324},"statusBarOnHover",[103,547,295],{"class":287},[103,549,298],{"class":249},[103,551,517],{"class":287},[103,553,555],{"class":105,"line":554},19,[103,556,557],{"class":249},"    }\n",[103,559,561],{"class":105,"line":560},20,[103,562,563],{"class":249},"  }\n",[103,565,567],{"class":105,"line":566},21,[103,568,569],{"class":249},"}\n",[265,571,572,573,576,577,580,581,583],{},"All controls are ",[22,574,575],{},"disabled by default",". Set individual control groups to ",[74,578,579],{},"true"," to enable them. Electron-only option: ",[74,582,395],{},".",[89,585,587],{"id":586},"command-line-arguments","Command-Line Arguments",[94,589,591],{"className":96,"code":590,"language":98,"meta":99,"style":99},"xiboplayer-electron --dev              # Development mode (DevTools enabled)\nxiboplayer-electron --no-kiosk         # Disable kiosk mode\nxiboplayer-electron --port=8080        # Custom server port\nxiboplayer-electron --cms-url=URL      # Override CMS URL\nxiboplayer-electron --cms-key=KEY      # Override CMS key\nxiboplayer-electron --display-name=NAME  # Override display name\nxiboplayer-electron --instance=lobby     # Run a named instance (isolated config\u002Fdata)\n",[74,592,593,604,614,624,634,644,654],{"__ignoreMap":99},[103,594,595,598,601],{"class":105,"line":106},[103,596,597],{"class":122},"xiboplayer-electron",[103,599,600],{"class":213}," --dev",[103,602,603],{"class":109},"              # Development mode (DevTools enabled)\n",[103,605,606,608,611],{"class":105,"line":113},[103,607,597],{"class":122},[103,609,610],{"class":213}," --no-kiosk",[103,612,613],{"class":109},"         # Disable kiosk mode\n",[103,615,616,618,621],{"class":105,"line":119},[103,617,597],{"class":122},[103,619,620],{"class":213}," --port=8080",[103,622,623],{"class":109},"        # Custom server port\n",[103,625,626,628,631],{"class":105,"line":137},[103,627,597],{"class":122},[103,629,630],{"class":213}," --cms-url=URL",[103,632,633],{"class":109},"      # Override CMS URL\n",[103,635,636,638,641],{"class":105,"line":143},[103,637,597],{"class":122},[103,639,640],{"class":213}," --cms-key=KEY",[103,642,643],{"class":109},"      # Override CMS key\n",[103,645,646,648,651],{"class":105,"line":150},[103,647,597],{"class":122},[103,649,650],{"class":213}," --display-name=NAME",[103,652,653],{"class":109},"  # Override display name\n",[103,655,656,658,661],{"class":105,"line":156},[103,657,597],{"class":122},[103,659,660],{"class":213}," --instance=lobby",[103,662,663],{"class":109},"     # Run a named instance (isolated config\u002Fdata)\n",[11,665,667],{"id":666},"auto-start-on-boot","Auto-Start on Boot",[94,669,671],{"className":96,"code":670,"language":98,"meta":99,"style":99},"# Enable\nsystemctl --user enable --now xiboplayer-electron.service\n\n# Check status\nsystemctl --user status xiboplayer-electron.service\n\n# View logs\njournalctl --user -u xiboplayer-electron.service -f\n",[74,672,673,678,695,699,704,715,719,724],{"__ignoreMap":99},[103,674,675],{"class":105,"line":106},[103,676,677],{"class":109},"# Enable\n",[103,679,680,683,686,689,692],{"class":105,"line":113},[103,681,682],{"class":122},"systemctl",[103,684,685],{"class":213}," --user",[103,687,688],{"class":126}," enable",[103,690,691],{"class":213}," --now",[103,693,694],{"class":126}," xiboplayer-electron.service\n",[103,696,697],{"class":105,"line":119},[103,698,147],{"emptyLinePlaceholder":146},[103,700,701],{"class":105,"line":137},[103,702,703],{"class":109},"# Check status\n",[103,705,706,708,710,713],{"class":105,"line":143},[103,707,682],{"class":122},[103,709,685],{"class":213},[103,711,712],{"class":126}," status",[103,714,694],{"class":126},[103,716,717],{"class":105,"line":150},[103,718,147],{"emptyLinePlaceholder":146},[103,720,721],{"class":105,"line":156},[103,722,723],{"class":109},"# View logs\n",[103,725,726,729,731,734,737],{"class":105,"line":167},[103,727,728],{"class":122},"journalctl",[103,730,685],{"class":213},[103,732,733],{"class":213}," -u",[103,735,736],{"class":126}," xiboplayer-electron.service",[103,738,739],{"class":213}," -f\n",[11,741,743],{"id":742},"keyboard-shortcuts","Keyboard Shortcuts",[265,745,746,749],{},[22,747,748],{},"Electron shortcuts"," (always available):",[751,752,753,766],"table",{},[754,755,756],"thead",{},[757,758,759,763],"tr",{},[760,761,762],"th",{},"Key",[760,764,765],{},"Action",[767,768,769,780,790],"tbody",{},[757,770,771,777],{},[772,773,774],"td",{},[74,775,776],{},"Ctrl+Shift+F12",[772,778,779],{},"Show system tray menu",[757,781,782,787],{},[772,783,784],{},[74,785,786],{},"Ctrl+Shift+R",[772,788,789],{},"Reload player",[757,791,792,797],{},[772,793,794],{},[74,795,796],{},"Ctrl+Shift+I",[772,798,799],{},"Toggle DevTools (dev mode only)",[265,801,802,805,806,808],{},[22,803,804],{},"Player shortcuts"," (disabled by default — enable via ",[74,807,431],{}," in config.json):",[751,810,811,822],{},[754,812,813],{},[757,814,815,817,820],{},[760,816,762],{},[760,818,819],{},"Requires",[760,821,765],{},[767,823,824,839,853,868,887,904,918],{},[757,825,826,831,836],{},[772,827,828],{},[74,829,830],{},"T",[772,832,833],{},[74,834,835],{},"controls.keyboard.debugOverlays: true",[772,837,838],{},"Toggle timeline overlay",[757,840,841,846,850],{},[772,842,843],{},[74,844,845],{},"D",[772,847,848],{},[74,849,835],{},[772,851,852],{},"Toggle download overlay",[757,854,855,860,865],{},[772,856,857],{},[74,858,859],{},"V",[772,861,862],{},[74,863,864],{},"controls.keyboard.videoControls: true",[772,866,867],{},"Toggle video controls",[757,869,870,879,884],{},[772,871,872,875,876],{},[74,873,874],{},"→"," \u002F ",[74,877,878],{},"PageDown",[772,880,881],{},[74,882,883],{},"controls.keyboard.playbackControl: true",[772,885,886],{},"Skip to next layout",[757,888,889,897,901],{},[772,890,891,875,894],{},[74,892,893],{},"←",[74,895,896],{},"PageUp",[772,898,899],{},[74,900,883],{},[772,902,903],{},"Go to previous layout",[757,905,906,911,915],{},[772,907,908],{},[74,909,910],{},"Space",[772,912,913],{},[74,914,883],{},[772,916,917],{},"Pause \u002F resume playback",[757,919,920,925,929],{},[772,921,922],{},[74,923,924],{},"R",[772,926,927],{},[74,928,883],{},[772,930,931],{},"Revert to scheduled layout",[265,933,934,935,583],{},"Mouse hover on the status bar also requires ",[74,936,937],{},"controls.mouse.statusBarOnHover: true",[11,939,941],{"id":940},"log-levels","Log Levels",[265,943,944,945,948,949,952],{},"Default: ",[22,946,947],{},"WARNING"," (production-safe). Use ",[74,950,951],{},"--dev"," for DEBUG logging.",[751,954,955,965],{},[754,956,957],{},[757,958,959,962],{},[760,960,961],{},"Level",[760,963,964],{},"Use case",[767,966,967,977,987,996],{},[757,968,969,974],{},[772,970,971],{},[74,972,973],{},"DEBUG",[772,975,976],{},"Initial deployment — verify CMS connectivity",[757,978,979,984],{},[772,980,981],{},[74,982,983],{},"INFO",[772,985,986],{},"Normal operation",[757,988,989,993],{},[772,990,991],{},[74,992,947],{},[772,994,995],{},"Production default",[757,997,998,1003],{},[772,999,1000],{},[74,1001,1002],{},"ERROR",[772,1004,1005],{},"Production — only failures",[265,1007,1008,1009,1012],{},"Log levels only affect logging verbosity. Debug overlays (timeline, download) are controlled exclusively by ",[74,1010,1011],{},"controls.keyboard.debugOverlays"," in config.json, not by the log level.",[11,1014,1016],{"id":1015},"video-wall-multi-display-sync","Video Wall (Multi-Display Sync)",[265,1018,1019],{},"Electron is the recommended player for video walls. Multiple Electron instances synchronize layout transitions and video playback across screens.",[265,1021,1022,1025,1026,1028],{},[22,1023,1024],{},"Same machine"," (multiple outputs): Use ",[74,1027,76],{}," to run separate instances — they sync automatically via BroadcastChannel.",[265,1030,1031,1034,1035,298],{},[22,1032,1033],{},"Across devices"," (LAN): The lead player's proxy server acts as a WebSocket relay. Add to each display's ",[74,1036,1037],{},"config.json",[94,1039,1041],{"className":273,"code":1040,"language":275,"meta":99,"style":99},"{\n  \"syncGroup\": \"lead\",\n  \"syncPublisherPort\": 8765,\n  \"listenAddress\": \"0.0.0.0\"\n}\n",[74,1042,1043,1047,1067,1082,1101],{"__ignoreMap":99},[103,1044,1045],{"class":105,"line":106},[103,1046,282],{"class":249},[103,1048,1049,1051,1054,1056,1058,1060,1063,1065],{"class":105,"line":113},[103,1050,288],{"class":287},[103,1052,1053],{"class":291},"syncGroup",[103,1055,295],{"class":287},[103,1057,298],{"class":249},[103,1059,302],{"class":301},[103,1061,1062],{"class":126},"lead",[103,1064,295],{"class":301},[103,1066,310],{"class":249},[103,1068,1069,1071,1074,1076,1078,1080],{"class":105,"line":119},[103,1070,288],{"class":287},[103,1072,1073],{"class":291},"syncPublisherPort",[103,1075,295],{"class":287},[103,1077,298],{"class":249},[103,1079,325],{"class":324},[103,1081,310],{"class":249},[103,1083,1084,1086,1089,1091,1093,1095,1098],{"class":105,"line":137},[103,1085,288],{"class":287},[103,1087,1088],{"class":291},"listenAddress",[103,1090,295],{"class":287},[103,1092,298],{"class":249},[103,1094,302],{"class":301},[103,1096,1097],{"class":126},"0.0.0.0",[103,1099,1100],{"class":301},"\"\n",[103,1102,1103],{"class":105,"line":143},[103,1104,569],{"class":249},[265,1106,1107,1108,1110,1111,1114,1115,1119],{},"Followers set ",[74,1109,1053],{}," to the lead's LAN IP (e.g. ",[74,1112,1113],{},"\"192.168.1.100\"","). See ",[27,1116,1118],{"href":1117},"\u002Fdownloads#video-wall-setup","Video Wall Setup"," for the full guide.",[11,1121,1123],{"id":1122},"gpu-hardware-acceleration","GPU Hardware Acceleration",[265,1125,1126],{},"Install the appropriate VAAPI driver for your GPU:",[751,1128,1129,1139],{},[754,1130,1131],{},[757,1132,1133,1136],{},[760,1134,1135],{},"GPU",[760,1137,1138],{},"Package (Fedora)",[767,1140,1141,1151,1161],{},[757,1142,1143,1146],{},[772,1144,1145],{},"Intel",[772,1147,1148],{},[74,1149,1150],{},"libva-intel-media-driver",[757,1152,1153,1156],{},[772,1154,1155],{},"AMD",[772,1157,1158],{},[74,1159,1160],{},"mesa-va-drivers",[757,1162,1163,1166],{},[772,1164,1165],{},"NVIDIA",[772,1167,1168,1171],{},[74,1169,1170],{},"libva-nvidia-driver"," (RPM Fusion)",[265,1173,1174,1175,583],{},"Verify with ",[74,1176,1177],{},"vainfo",[11,1179,1181],{"id":1180},"troubleshooting","Troubleshooting",[89,1183,1185],{"id":1184},"player-wont-start","Player won't start",[94,1187,1189],{"className":96,"code":1188,"language":98,"meta":99,"style":99},"# Check if port is available\nss -tlnp | grep 8765\n\n# Try different port\nxiboplayer-electron --port=8080\n\n# Check logs\njournalctl --user -u xiboplayer-electron.service -n 50\n",[74,1190,1191,1196,1214,1218,1223,1230,1234,1239],{"__ignoreMap":99},[103,1192,1193],{"class":105,"line":106},[103,1194,1195],{"class":109},"# Check if port is available\n",[103,1197,1198,1201,1204,1208,1211],{"class":105,"line":113},[103,1199,1200],{"class":122},"ss",[103,1202,1203],{"class":213}," -tlnp",[103,1205,1207],{"class":1206},"smGrS"," |",[103,1209,1210],{"class":122}," grep",[103,1212,1213],{"class":324}," 8765\n",[103,1215,1216],{"class":105,"line":119},[103,1217,147],{"emptyLinePlaceholder":146},[103,1219,1220],{"class":105,"line":137},[103,1221,1222],{"class":109},"# Try different port\n",[103,1224,1225,1227],{"class":105,"line":143},[103,1226,597],{"class":122},[103,1228,1229],{"class":213}," --port=8080\n",[103,1231,1232],{"class":105,"line":150},[103,1233,147],{"emptyLinePlaceholder":146},[103,1235,1236],{"class":105,"line":156},[103,1237,1238],{"class":109},"# Check logs\n",[103,1240,1241,1243,1245,1247,1249,1252],{"class":105,"line":167},[103,1242,728],{"class":122},[103,1244,685],{"class":213},[103,1246,733],{"class":213},[103,1248,736],{"class":126},[103,1250,1251],{"class":213}," -n",[103,1253,1254],{"class":324}," 50\n",[89,1256,1258],{"id":1257},"cant-exit-kiosk-mode","Can't exit kiosk mode",[265,1260,1261,1262,1264,1265,583],{},"Press ",[22,1263,776],{}," to show system tray menu, then select \"Exit Player\". Or from terminal: ",[74,1266,1267],{},"pkill -f xiboplayer-electron",[11,1269,1271],{"id":1270},"performance-monitoring","Performance monitoring",[265,1273,1274],{},"Enable Chrome DevTools Protocol to monitor FPS, memory and renderer performance. Not enabled by default.",[94,1276,1278],{"className":96,"code":1277,"language":98,"meta":99,"style":99},"# Enable (port 9223)\nsystemctl --user set-environment XIBOPLAYER_DEBUG_PORT=9223\nsystemctl --user restart xiboplayer-electron\n\n# Query targets\ncurl -s http:\u002F\u002Flocalhost:9223\u002Fjson\n\n# Disable\nsystemctl --user unset-environment XIBOPLAYER_DEBUG_PORT\nsystemctl --user restart xiboplayer-electron\n",[74,1279,1280,1285,1300,1311,1315,1320,1330,1334,1339,1351],{"__ignoreMap":99},[103,1281,1282],{"class":105,"line":106},[103,1283,1284],{"class":109},"# Enable (port 9223)\n",[103,1286,1287,1289,1291,1294,1297],{"class":105,"line":113},[103,1288,682],{"class":122},[103,1290,685],{"class":213},[103,1292,1293],{"class":126}," set-environment",[103,1295,1296],{"class":126}," XIBOPLAYER_DEBUG_PORT=",[103,1298,1299],{"class":324},"9223\n",[103,1301,1302,1304,1306,1309],{"class":105,"line":119},[103,1303,682],{"class":122},[103,1305,685],{"class":213},[103,1307,1308],{"class":126}," restart",[103,1310,192],{"class":126},[103,1312,1313],{"class":105,"line":137},[103,1314,147],{"emptyLinePlaceholder":146},[103,1316,1317],{"class":105,"line":143},[103,1318,1319],{"class":109},"# Query targets\n",[103,1321,1322,1324,1327],{"class":105,"line":150},[103,1323,210],{"class":122},[103,1325,1326],{"class":213}," -s",[103,1328,1329],{"class":126}," http:\u002F\u002Flocalhost:9223\u002Fjson\n",[103,1331,1332],{"class":105,"line":156},[103,1333,147],{"emptyLinePlaceholder":146},[103,1335,1336],{"class":105,"line":167},[103,1337,1338],{"class":109},"# Disable\n",[103,1340,1341,1343,1345,1348],{"class":105,"line":172},[103,1342,682],{"class":122},[103,1344,685],{"class":213},[103,1346,1347],{"class":126}," unset-environment",[103,1349,1350],{"class":126}," XIBOPLAYER_DEBUG_PORT\n",[103,1352,1353,1355,1357,1359],{"class":105,"line":177},[103,1354,682],{"class":122},[103,1356,685],{"class":213},[103,1358,1308],{"class":126},[103,1360,192],{"class":126},[265,1362,1363,1364,1367,1368,1371],{},"The port binds to ",[74,1365,1366],{},"127.0.0.1"," only. Use ",[74,1369,1370],{},"Performance.getMetrics"," via the WebSocket URL to read FPS, JS heap size, DOM node count and layout counts.",[11,1373,1375],{"id":1374},"links","Links",[16,1377,1378,1386],{},[19,1379,1380],{},[27,1381,1385],{"href":1382,"rel":1383},"https:\u002F\u002Fgithub.com\u002Fxibo-players\u002Fxiboplayer-electron",[1384],"nofollow","GitHub",[19,1387,1388],{},[27,1389,1392],{"href":1390,"rel":1391},"https:\u002F\u002Fgithub.com\u002Fxibo-players\u002Fxiboplayer-electron\u002Freleases",[1384],"Releases",[1394,1395,1396],"style",{},"html pre.shiki code .sutJx, html code.shiki .sutJx{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#6A737D;--shiki-default-font-style:inherit;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html pre.shiki code .sbgvK, html code.shiki .sbgvK{--shiki-light:#E2931D;--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .s_sjI, html code.shiki .s_sjI{--shiki-light:#91B859;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .s_hVV, html code.shiki .s_hVV{--shiki-light:#90A4AE;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .stzsN, html code.shiki .stzsN{--shiki-light:#91B859;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sP7_E, html code.shiki .sP7_E{--shiki-light:#39ADB5;--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .s39Yj, html code.shiki .s39Yj{--shiki-light:#39ADB5;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sseR_, html code.shiki .sseR_{--shiki-light:#9C3EDA;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sjJ54, html code.shiki .sjJ54{--shiki-light:#39ADB5;--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .sZMiF, html code.shiki .sZMiF{--shiki-light:#E2931D;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}",{"title":99,"searchDepth":119,"depth":119,"links":1398},[1399,1400,1404,1407,1408,1409,1410,1411,1412,1416,1417],{"id":13,"depth":113,"text":14},{"id":86,"depth":113,"text":87,"children":1401},[1402,1403],{"id":91,"depth":119,"text":92},{"id":195,"depth":119,"text":196},{"id":262,"depth":113,"text":263,"children":1405},[1406],{"id":586,"depth":119,"text":587},{"id":666,"depth":113,"text":667},{"id":742,"depth":113,"text":743},{"id":940,"depth":113,"text":941},{"id":1015,"depth":113,"text":1016},{"id":1122,"depth":113,"text":1123},{"id":1180,"depth":113,"text":1181,"children":1413},[1414,1415],{"id":1184,"depth":119,"text":1185},{"id":1257,"depth":119,"text":1258},{"id":1270,"depth":113,"text":1271},{"id":1374,"depth":113,"text":1375},"Free open-source Xibo signage player for Linux. Self-contained Electron app with GPU-accelerated rendering, kiosk mode, and offline playback. RPM and DEB packages for Fedora and Debian.","md",{},"\u002Fplayers\u002Felectron",{"title":5,"description":1418},"players\u002Felectron","K4fB5AY3dTKSYxiYBD3MWAlyy3wlKRGsV-FmytNY2zM",1775148105253]