[{"data":1,"prerenderedAt":921},["ShallowReactive",2],{"latest-blog":3},{"id":4,"title":5,"author":6,"body":7,"date":906,"description":907,"extension":908,"meta":909,"navigation":702,"path":910,"seo":911,"stem":912,"tags":913,"__hash__":920},"content_en\u002Fblog\u002Fkiosk-image-installation.md","Flash, boot, display — kiosk image installation guide","Pau Aliagas",{"type":8,"value":9,"toc":883},"minimark",[10,14,27,30,35,149,165,169,174,177,230,244,248,290,301,305,370,374,377,381,384,418,422,425,439,442,446,450,453,479,482,485,489,510,514,517,544,548,555,591,594,598,601,665,669,672,748,754,758,846,850,879],[11,12,5],"h1",{"id":13},"flash-boot-display-kiosk-image-installation-guide",[15,16,19],"callout",{"color":17,"icon":18},"primary","i-heroicons-bolt",[20,21,22,26],"p",{},[23,24,25],"strong",{},"Zero configuration needed."," Download an image, flash it, boot — the setup wizard handles everything else.",[20,28,29],{},"The xiboplayer kiosk images turn any hardware into a dedicated digital signage display. No Linux experience required — just flash, boot, and connect to your CMS.",[31,32,34],"h2",{"id":33},"choose-your-image","Choose your image",[36,37,38,57],"table",{},[39,40,41],"thead",{},[42,43,44,48,51,54],"tr",{},[45,46,47],"th",{},"Image",[45,49,50],{},"File",[45,52,53],{},"Best for",[45,55,56],{},"Size",[58,59,60,80,97,115,132],"tbody",{},[42,61,62,68,74,77],{},[63,64,65],"td",{},[23,66,67],{},"Everything ISO",[63,69,70],{},[71,72,73],"code",{},".iso",[63,75,76],{},"PCs and laptops — offline install, no internet needed",[63,78,79],{},"~2.5 GB",[42,81,82,87,91,94],{},[63,83,84],{},[23,85,86],{},"Netinstall ISO",[63,88,89],{},[71,90,73],{},[63,92,93],{},"PCs with internet — downloads packages during install",[63,95,96],{},"~700 MB",[42,98,99,104,109,112],{},[63,100,101],{},[23,102,103],{},"Raw disk image",[63,105,106],{},[71,107,108],{},".raw.xz",[63,110,111],{},"Raspberry Pi, NUC — flash directly to SD\u002FSSD",[63,113,114],{},"~2 GB",[42,116,117,122,127,130],{},[63,118,119],{},[23,120,121],{},"QCOW2",[63,123,124],{},[71,125,126],{},".qcow2",[63,128,129],{},"Virtual machines (GNOME Boxes, virt-manager, QEMU)",[63,131,114],{},[42,133,134,139,143,146],{},[63,135,136],{},[23,137,138],{},"Atomic ISO",[63,140,141],{},[71,142,73],{},[63,144,145],{},"Immutable OS (fedora-bootc) — automatic updates with rollback",[63,147,148],{},"~1.5 GB",[20,150,151,152,157,158,164],{},"Download from the ",[153,154,156],"a",{"href":155},"\u002Fdownloads","Downloads page"," or directly from ",[153,159,163],{"href":160,"rel":161},"https:\u002F\u002Fgithub.com\u002Fxibo-players\u002Fxiboplayer-kiosk\u002Freleases\u002Flatest",[162],"nofollow","GitHub Releases",".",[31,166,168],{"id":167},"step-1-flash-the-image","Step 1: Flash the image",[170,171,173],"h3",{"id":172},"pc-laptop-iso","PC \u002F Laptop (ISO)",[20,175,176],{},"Use any USB flashing tool:",[178,179,184],"pre",{"className":180,"code":181,"language":182,"meta":183,"style":183},"language-bash shiki shiki-themes material-theme-lighter github-light github-dark","# Linux — replace \u002Fdev\u002FsdX with your USB device\nsudo dd if=xiboplayer-kiosk-*.iso of=\u002Fdev\u002FsdX bs=4M status=progress\nsync\n","bash","",[71,185,186,195,224],{"__ignoreMap":183},[187,188,191],"span",{"class":189,"line":190},"line",1,[187,192,194],{"class":193},"sutJx","# Linux — replace \u002Fdev\u002FsdX with your USB device\n",[187,196,198,202,206,209,213,215,218,221],{"class":189,"line":197},2,[187,199,201],{"class":200},"sbgvK","sudo",[187,203,205],{"class":204},"s_sjI"," dd",[187,207,208],{"class":204}," if=xiboplayer-kiosk-",[187,210,212],{"class":211},"s_hVV","*",[187,214,73],{"class":204},[187,216,217],{"class":204}," of=\u002Fdev\u002FsdX",[187,219,220],{"class":204}," bs=4M",[187,222,223],{"class":204}," status=progress\n",[187,225,227],{"class":189,"line":226},3,[187,228,229],{"class":200},"sync\n",[20,231,232,233,238,239,164],{},"Or use ",[153,234,237],{"href":235,"rel":236},"https:\u002F\u002Fetcher.balena.io",[162],"Balena Etcher",", or ",[153,240,243],{"href":241,"rel":242},"https:\u002F\u002Fflathub.org\u002Fapps\u002Forg.fedoraproject.MediaWriter",[162],"Fedora Media Writer",[170,245,247],{"id":246},"raspberry-pi-raw-image","Raspberry Pi (raw image)",[178,249,251],{"className":180,"code":250,"language":182,"meta":183,"style":183},"# Decompress and flash to SD card\nxzcat xiboplayer-kiosk-*.raw.xz | sudo dd of=\u002Fdev\u002Fmmcblk0 bs=4M status=progress\nsync\n",[71,252,253,258,286],{"__ignoreMap":183},[187,254,255],{"class":189,"line":190},[187,256,257],{"class":193},"# Decompress and flash to SD card\n",[187,259,260,263,266,268,270,274,277,279,282,284],{"class":189,"line":197},[187,261,262],{"class":200},"xzcat",[187,264,265],{"class":204}," xiboplayer-kiosk-",[187,267,212],{"class":211},[187,269,108],{"class":204},[187,271,273],{"class":272},"smGrS"," |",[187,275,276],{"class":200}," sudo",[187,278,205],{"class":204},[187,280,281],{"class":204}," of=\u002Fdev\u002Fmmcblk0",[187,283,220],{"class":204},[187,285,223],{"class":204},[187,287,288],{"class":189,"line":226},[187,289,229],{"class":200},[20,291,232,292,297,298,300],{},[153,293,296],{"href":294,"rel":295},"https:\u002F\u002Fwww.raspberrypi.com\u002Fsoftware\u002F",[162],"Raspberry Pi Imager"," — click \"Choose OS → Use custom\" and select the ",[71,299,108],{}," file.",[170,302,304],{"id":303},"virtual-machine-qcow2","Virtual machine (QCOW2)",[178,306,308],{"className":180,"code":307,"language":182,"meta":183,"style":183},"# GNOME Boxes — just double-click the .qcow2 file\n# Or with virt-manager:\nvirt-install --name xiboplayer --memory 2048 --vcpus 2 \\\n  --disk path=xiboplayer-kiosk-*.qcow2 --import --os-variant fedora43\n",[71,309,310,315,320,348],{"__ignoreMap":183},[187,311,312],{"class":189,"line":190},[187,313,314],{"class":193},"# GNOME Boxes — just double-click the .qcow2 file\n",[187,316,317],{"class":189,"line":197},[187,318,319],{"class":193},"# Or with virt-manager:\n",[187,321,322,325,329,332,335,339,342,345],{"class":189,"line":226},[187,323,324],{"class":200},"virt-install",[187,326,328],{"class":327},"stzsN"," --name",[187,330,331],{"class":204}," xiboplayer",[187,333,334],{"class":327}," --memory",[187,336,338],{"class":337},"srdBf"," 2048",[187,340,341],{"class":327}," --vcpus",[187,343,344],{"class":337}," 2",[187,346,347],{"class":211}," \\\n",[187,349,351,354,357,359,361,364,367],{"class":189,"line":350},4,[187,352,353],{"class":327},"  --disk",[187,355,356],{"class":204}," path=xiboplayer-kiosk-",[187,358,212],{"class":211},[187,360,126],{"class":204},[187,362,363],{"class":327}," --import",[187,365,366],{"class":327}," --os-variant",[187,368,369],{"class":204}," fedora43\n",[31,371,373],{"id":372},"step-2-boot-and-set-up","Step 2: Boot and set up",[20,375,376],{},"Power on the device. The kiosk boots into a guided setup:",[170,378,380],{"id":379},"system-setup-gnome-initial-setup","System setup (gnome-initial-setup)",[20,382,383],{},"The standard GNOME initial setup wizard runs first:",[385,386,387,394,400,406,412],"ol",{},[388,389,390,393],"li",{},[23,391,392],{},"Language"," — select your display language",[388,395,396,399],{},[23,397,398],{},"Keyboard"," — choose your keyboard layout",[388,401,402,405],{},[23,403,404],{},"Network"," — connect to Wi-Fi or verify Ethernet",[388,407,408,411],{},[23,409,410],{},"Timezone"," — auto-detected or manual selection",[388,413,414,417],{},[23,415,416],{},"Password"," — change the default password (recommended)",[170,419,421],{"id":420},"player-setup-xiboplayer-setup","Player setup (xiboplayer-setup)",[20,423,424],{},"A native setup wizard then launches:",[385,426,427,433],{},[388,428,429,432],{},[23,430,431],{},"Player selection"," — choose Electron (recommended), Chromium, or arexibo",[388,434,435,438],{},[23,436,437],{},"CMS configuration"," — for arexibo, enter the CMS URL and key directly. For Electron\u002FChromium, the player's web-based setup page handles this.",[20,440,441],{},"The wizard saves your choice and starts the player automatically.",[31,443,445],{"id":444},"step-3-connect-to-cms","Step 3: Connect to CMS",[170,447,449],{"id":448},"electron-chromium","Electron \u002F Chromium",[20,451,452],{},"After the kiosk wizard, the player opens its own setup page:",[385,454,455,466,473],{},[388,456,457,458,461,462,465],{},"Enter your ",[23,459,460],{},"CMS URL"," (e.g., ",[71,463,464],{},"https:\u002F\u002Fcms.example.com",")",[388,467,468,469,472],{},"Enter the ",[23,470,471],{},"CMS Key"," (from CMS → Settings → Display Settings → CMS Secret Key)",[388,474,475,476],{},"Click ",[23,477,478],{},"Connect",[170,480,481],{"id":481},"arexibo",[20,483,484],{},"CMS credentials were already entered in the kiosk wizard. The player connects immediately.",[170,486,488],{"id":487},"authorize-in-cms","Authorize in CMS",[385,490,491,494,501,507],{},[388,492,493],{},"Log into your Xibo CMS",[388,495,496,497,500],{},"Go to ",[23,498,499],{},"Displays"," — find the new pending display",[388,502,503,504],{},"Click the row menu → ",[23,505,506],{},"Authorise",[388,508,509],{},"Content appears on the next collection cycle (within 5 minutes)",[31,511,513],{"id":512},"step-4-done","Step 4: Done",[20,515,516],{},"Your display is now running. It will:",[518,519,520,526,532,538],"ul",{},[388,521,522,525],{},[23,523,524],{},"Auto-start on every boot"," — no login required",[388,527,528,531],{},[23,529,530],{},"Self-heal"," — health monitoring restarts the player if it crashes",[388,533,534,537],{},[23,535,536],{},"Update automatically"," — packages update via the system package manager",[388,539,540,543],{},[23,541,542],{},"Play offline"," — continues showing cached content if the CMS goes down",[31,545,547],{"id":546},"atomic-images-immutable-os","Atomic images — immutable OS",[20,549,550,551,554],{},"The Atomic variant is built on ",[23,552,553],{},"fedora-bootc"," — a minimal immutable base (~1.0 GB compressed vs 2.5 GB for Silverblue). Only the components needed for signage are included:",[518,556,557,563,573,582,588],{},[388,558,559,562],{},[23,560,561],{},"Immutable base"," — the OS cannot be accidentally modified",[388,564,565,568,569,572],{},[23,566,567],{},"Automatic updates"," via ",[71,570,571],{},"bootc switch"," with automatic rollback on failure",[388,574,575,578,579],{},[23,576,577],{},"Container-native"," — built as an OCI image, converted to installable ISO via ",[71,580,581],{},"bootc-image-builder",[388,583,584,587],{},[23,585,586],{},"Minimal footprint"," — no Firefox, no VLC, no unused GNOME apps. Just the player, codecs, and kiosk session",[388,589,590],{},"If an update breaks something, the previous version is available at the boot menu",[20,592,593],{},"Best for: unattended displays in public spaces where reliability and small image size matter.",[31,595,597],{"id":596},"keyboard-shortcuts","Keyboard shortcuts",[20,599,600],{},"Once running, these shortcuts are available:",[36,602,603,613],{},[39,604,605],{},[42,606,607,610],{},[45,608,609],{},"Shortcut",[45,611,612],{},"Action",[58,614,615,625,635,645,655],{},[42,616,617,622],{},[63,618,619],{},[71,620,621],{},"Ctrl+I",[63,623,624],{},"Show IP address, CMS URL, and player status",[42,626,627,632],{},[63,628,629],{},[71,630,631],{},"Ctrl+R",[63,633,634],{},"Reconfigure CMS (stops player, restarts wizard)",[42,636,637,642],{},[63,638,639],{},[71,640,641],{},"D",[63,643,644],{},"Toggle download progress overlay",[42,646,647,652],{},[63,648,649],{},[71,650,651],{},"T",[63,653,654],{},"Toggle timeline\u002Fschedule overlay",[42,656,657,662],{},[63,658,659],{},[71,660,661],{},"S",[63,663,664],{},"Toggle setup overlay",[31,666,668],{"id":667},"switching-players","Switching players",[20,670,671],{},"All three players are installed. Switch without reconfiguring CMS:",[178,673,675],{"className":180,"code":674,"language":182,"meta":183,"style":183},"# Switch to Chromium (lighter)\ndoas alternatives --set xiboplayer \u002Fusr\u002Fbin\u002Fxiboplayer-chromium\n\n# Switch to Electron (more features)\ndoas alternatives --set xiboplayer \u002Fusr\u002Fbin\u002Fxiboplayer-electron\n\n# Switch to arexibo (native Rust)\ndoas alternatives --set xiboplayer \u002Fusr\u002Fbin\u002Farexibo\n",[71,676,677,682,698,704,709,723,728,734],{"__ignoreMap":183},[187,678,679],{"class":189,"line":190},[187,680,681],{"class":193},"# Switch to Chromium (lighter)\n",[187,683,684,687,690,693,695],{"class":189,"line":197},[187,685,686],{"class":200},"doas",[187,688,689],{"class":204}," alternatives",[187,691,692],{"class":327}," --set",[187,694,331],{"class":204},[187,696,697],{"class":204}," \u002Fusr\u002Fbin\u002Fxiboplayer-chromium\n",[187,699,700],{"class":189,"line":226},[187,701,703],{"emptyLinePlaceholder":702},true,"\n",[187,705,706],{"class":189,"line":350},[187,707,708],{"class":193},"# Switch to Electron (more features)\n",[187,710,712,714,716,718,720],{"class":189,"line":711},5,[187,713,686],{"class":200},[187,715,689],{"class":204},[187,717,692],{"class":327},[187,719,331],{"class":204},[187,721,722],{"class":204}," \u002Fusr\u002Fbin\u002Fxiboplayer-electron\n",[187,724,726],{"class":189,"line":725},6,[187,727,703],{"emptyLinePlaceholder":702},[187,729,731],{"class":189,"line":730},7,[187,732,733],{"class":193},"# Switch to arexibo (native Rust)\n",[187,735,737,739,741,743,745],{"class":189,"line":736},8,[187,738,686],{"class":200},[187,740,689],{"class":204},[187,742,692],{"class":327},[187,744,331],{"class":204},[187,746,747],{"class":204}," \u002Fusr\u002Fbin\u002Farexibo\n",[20,749,750,751],{},"Then restart: ",[71,752,753],{},"systemctl --user restart xibo-player.service",[31,755,757],{"id":756},"troubleshooting","Troubleshooting",[36,759,760,770],{},[39,761,762],{},[42,763,764,767],{},[45,765,766],{},"Problem",[45,768,769],{},"Solution",[58,771,772,786,805,824,835],{},[42,773,774,777],{},[63,775,776],{},"Black screen after boot",[63,778,779,780,782,783],{},"Press ",[71,781,621],{}," to check status. If nothing shows, check GDM: ",[71,784,785],{},"systemctl status gdm",[42,787,788,791],{},[63,789,790],{},"No Wi-Fi networks",[63,792,793,794,797,798,801,802],{},"The image includes ",[71,795,796],{},"NetworkManager-wifi"," and ",[71,799,800],{},"linux-firmware",". Check ",[71,803,804],{},"nmcli device wifi list",[42,806,807,810],{},[63,808,809],{},"Can't change password",[63,811,812,813,816,817,819,820,823],{},"Default user is ",[71,814,815],{},"xibo",", password ",[71,818,815],{},". Root is locked. Use ",[71,821,822],{},"passwd"," to change",[42,825,826,829],{},[63,827,828],{},"Display not appearing in CMS",[63,830,831,832,834],{},"Check network (",[71,833,621],{},"), verify CMS URL and key, check firewall",[42,836,837,840],{},[63,838,839],{},"Image won't boot on Pi",[63,841,842,843,845],{},"Ensure you used the ",[71,844,108],{}," image (not the ISO). Use Pi Imager with \"Use custom\"",[31,847,849],{"id":848},"next-steps","Next steps",[518,851,852,859,866,872],{},[388,853,854,858],{},[153,855,857],{"href":856},"\u002Fdocs\u002Fgetting-started\u002Fconnect-display","Connect a Display"," — detailed CMS connection guide",[388,860,861,865],{},[153,862,864],{"href":863},"\u002Fdocs\u002Fconfiguration","Configuration Reference"," — all config options",[388,867,868,871],{},[153,869,757],{"href":870},"\u002Fdocs\u002Ftroubleshooting"," — more solutions",[388,873,874,878],{},[153,875,877],{"href":876},"\u002Fdocs\u002Fsdk\u002Fmulti-display","Multi-Display Sync"," — set up video walls",[880,881,882],"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 .smGrS, html code.shiki .smGrS{--shiki-light:#39ADB5;--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .stzsN, html code.shiki .stzsN{--shiki-light:#91B859;--shiki-default:#005CC5;--shiki-dark:#79B8FF}html pre.shiki code .srdBf, html code.shiki .srdBf{--shiki-light:#F76D47;--shiki-default:#005CC5;--shiki-dark:#79B8FF}",{"title":183,"searchDepth":226,"depth":226,"links":884},[885,886,891,895,900,901,902,903,904,905],{"id":33,"depth":197,"text":34},{"id":167,"depth":197,"text":168,"children":887},[888,889,890],{"id":172,"depth":226,"text":173},{"id":246,"depth":226,"text":247},{"id":303,"depth":226,"text":304},{"id":372,"depth":197,"text":373,"children":892},[893,894],{"id":379,"depth":226,"text":380},{"id":420,"depth":226,"text":421},{"id":444,"depth":197,"text":445,"children":896},[897,898,899],{"id":448,"depth":226,"text":449},{"id":481,"depth":226,"text":481},{"id":487,"depth":226,"text":488},{"id":512,"depth":197,"text":513},{"id":546,"depth":197,"text":547},{"id":596,"depth":197,"text":597},{"id":667,"depth":197,"text":668},{"id":756,"depth":197,"text":757},{"id":848,"depth":197,"text":849},"2026-04-02","Turn any PC, Raspberry Pi, or VM into a digital signage display in minutes using pre-built kiosk images. No Linux experience needed.","md",{},"\u002Fblog\u002Fkiosk-image-installation",{"title":5,"description":907},"blog\u002Fkiosk-image-installation",[914,915,916,917,918,919],"kiosk","installation","signage player","digital signage","raspberry pi","iso","4ayHKCZ3K9-jX7FMGMkRitoGX_0gJP14K5SRpQ2FdZA",1775148105252]