Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Help about MediaWiki
FUTO
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Introduction to a Self Managed Life: a 13 hour & 28 minute presentation by FUTO software
(section)
Main Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Special pages
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
= Elegant Home Theater PC Setup: for people who don’t want a disorganized mess = <span id="why-my-setup-makes-no-sense"></span> == Why my setup makes no sense == My setup is very strange. It’s disorganized, unwieldly, and not visually appearing. '''My setup:''' <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201165246911.png </gallery> </div> You likely want something that looks more like this: '''Sensible setup:''' <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201164907705.png </gallery> </div> <span id="my-weird-computer"></span> === My weird computer === I don’t have a bedroom computer, home theater computer, office computer, etc. I have one computer that sits in my living room that I use for everything. I lived in an 1100 sq ft studio apartment for twelve years, so I had one PC for my 1 room home. This cube was my work computer, my video editing machine, my personal machine, my home theater PC; all in one. '''What makes a good home theater PC is not what makes a good video editing workstation.''' For a home theater PC, you should have something like this: * Very '''quiet''' * Very '''cheap''' * '''Pre-built''', because you have enough on your plate than to take time building a custom computer that rips blurays & runs a pretty version of VLC * '''Optical audio output''' If you don’t want to buy an external audio interface separately * '''Power efficient''' so you aren’t taking 150-250 watts to play an mkv file * '''Small pretty form factor''' that fits in with your living room perfectly '''Above all, you don’t want it to look like a giant mess!''' <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201163928279.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201163719583.png </gallery> </div> <span id="my-stoneage-home-theater-software"></span> ==== My stoneage home theater software ==== I showed you what I use; a computer file explorer to browse to my video & music files, and double click them to play them in VLC. There are several reasons this is horrible: * '''File & folder browsing.''' ** If your folders are a mess, it will be difficult to find your stuff. ** Immich tags photos by face & description; we want something like this that’ll just make sense of our 160 terabytes of stuff. * '''Blinding user interface'''. ** Computer operating systems are designed for use with a monitor right next to you, not a TV that is 3 meters away. ** You can change your display settings & scaling, but making it work with a TV makes it awkward. * '''Manual lookup of info''': finding ratings, credits, other info isn’t immediately accessible & requires leaving the file explorer or VLC to find. There’s nothing inherently '''''wrong''''' with this setup. It’s just not everyone’s cup of tea, so we’re going to set up something built for a home theater living room system. This can be done '''quickly and easily''' - unlike many other things in GNU/Linux! <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201163459503.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201163452149.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201163157029.png </gallery> </div> <span id="beautiful-software-made-for-a-living-room-television"></span> ==== Beautiful software made for a living room Television ==== [https://kodi.tv/ Kodi] is a program that turns your computer into a polished home theater system for your living room TV. * '''User-friendly interface''' designed for couch viewing. No need to squint or strain your eyes. * '''Automatic library organization.''' Kodi scans folders & files and turns the biggest messes into beautifully organized library of movies, shows, and music. * '''Metadata integration.''' Kodi grabs information from online databases & shows detailed summaries, artwork, & ratings for movies, tv, and music. * '''Open-source and offline-friendly.''' You can run Kodi without an internet connection, ensuring your ''legally ripped, totally un-copyrighted'' media collection remains private. * '''Built-in song lyric support.''' Kodi automatically fetches & displays lyrics for your music. * '''Seamless playback with buffering.''' Kodi caches files so your media doesn’t stutter or skip, even if your server is slow or under heavy load. * '''Effortless 4K playback.''' From high-bitrate h.264 to h.265, VC-1, or MPEG-2 files, Kodi can play anything you’ll encounter on the high seas or your personal bluray collection. <span id="kodi-takes-minutes-to-install-configure"></span> ==== Kodi takes minutes to install & configure ==== [https://kodi.tv/ Kodi] software is made for a home theater PC; you on the couch, television eight feet away, & it can be installed in 2 minutes or less using a GNU/Linux distribution called [https://libreelec.tv/ LibreELEC]. This is not a convoluted installation process. It’s so seamless you’ll almost forget you’re using open source software. <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201154938170.png </gallery> </div> <span id="doesnt-my-tv-already-do-this"></span> ==== Doesn’t my TV already do this? ==== You should be able to trust your television to play television and movies. That is what it is there for. The year is 2025, and consumer protection in the United States''(& many other countries)'' is a joke. Many modern televisions come pre-configured to sell your personal data, equipped with the ability to tell who you are and what you’re watching. LG is [https://privacy.us.lg.com upfront about it]. You will hear the argument that this is necessary to keep televisions affordable; this is made by simps for television manufacturers, or the television manufacturers themselves. Above you’ll see an image of the menu of an LG G3 OLED television. '''The LG G3 OLED television is configured, by default, to spy on & sell the personal information of its user; even when purchased new, at full $3600 MSRP from an Authorized LG Dealer. You cannot remove these elements of its operating system. You thought you owned the television that you bought, but the television thinks it owns you'''. You can use your television to play back media, but it is often highly restricted. Combine this with the fact that most, if not all, modern televisions come with spyware pre-installed that you cannot remove, and we’re not doing that. My television will go on the internet over my dead body. <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201171221209.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201175526385.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201181227051.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201180622550.png </gallery> </div> <span id="an-asus-asustor-flashstor-mini-pc-for-a-home-theater-computer"></span> === An ASUS Asustor Flashstor mini-pc for a home theater computer === This machine fits all of our above requirements above ''beautifully.'' <span id="quiet-operation"></span> ==== Quiet Operation ==== Dealing with noise is important when setting up a home theater PC. Your gaming PC probably sounds like an annoying $20 amazon drone, and many minipcs aren’t much better. This machine makes little to no noise even when playing back high bitrate h.265 files & fits easily inside a TV stand or on a small shelf. <span id="impressive-storage-capacity"></span> ==== Impressive Storage Capacity ==== We are using our server for storage, not the Asustor Flashstor mini-pc. If you wanted to try using this as a small starter server, here’s where the ASUS Asustor MiniPC shines—'''storage capacity'''. Unlike most if not all mini-PCs which offer 1 or 2 slots at best for SATA/NVMe drives, the asustor has '''six NVMe slots on the cheapest model'''. This lets you to install up to 24 terabytes of incredibly fast storage on the cheap asustor, or 48 terabytes on the higher end models. <span id="cost-300-400-on-ebay"></span> ==== Cost: $300-$400 on eBay ==== These can be found under [https://www.ebay.com/itm/126778026449?_skw=asustor&itmmeta=01JE2ADEGT8FRQ5A3F382XAQFR&itmprp=enc%3AAQAJAAAA4HoV3kP08IDx%2BKZ9MfhVJKlHyaaNfhwG0a0qDGiezVnDGbOrDK%2F0m3Z9BOZntIaopaUpFxI2BZ%2FT%2FUTiynBT9r7jGvcZTsYZmKJPAsYnqOf9l1H4iDCewdnk0vpdINtJo5cipLcikC049ecEiax%2FSE5Kafw1PFAajDKRAWEloFrPrK8tfztOIe7j8c9yBUCD17X8rMaY8gUt0KDZBg%2BGT7oGU3%2FHCKycRaUA7HfxYxgfYWQ501010hLK2fFmdl4uPjbvGSslrE0lW3RuxeEVFXNlA331a1QtuPZO%2BPMydshy%7Ctkp%3ABk9SR7rotcrwZA $350 used] which gets you a lag-free, quiet machine with six NVMe slots. <span id="audio-video-output-options"></span> ==== Audio & Video output options ==== The Asustor Flashstor does '''4k60 out of its HDMI port''' just fine. Some cheap no-name fly by night minipc companies use old HDMI standards for their ports & get stuck at 4k30. For high-quality audio, having an '''optical SPDIF''' output is important. as mentioned before, this allows the digital-to-analog conversion to be handled by dedicated audio equipment rather than your multipurpose PC, which sidesteps the noisy nonsense you get when you try encoding video or doing CPU intensive things with headphones plugged in. You may not notice this while your headphones are turned up as you’re engaged playing an exciting game, but quiet passages of movies get ruined by this very easily. The Asustor flashstor includes an optical SPDIF audio output jack, allowing you to connect directly to most modern home theater receivers. * '''Benefit''': Avoids the need for additional USB audio interfaces. * '''Setup''': Use a simple $5 optical cable from Walmart to connect to your stereo system. It has '''optical audio output'''. This allows you to plug the machine into a '''stereo receiver'''’s optical audio input, a discrete '''digital to analog converter''', or an '''integrated amp'''’s optical audio input for clean sound output. HDMI carries audio, but if you’re like me & have a separate audio setup from your television, you’d have to get an HDMI audio/video splitter to get HDMI video to your TV and SPDIF digital audio to your stereo receiver that goes to your speakers. Some TVs can pass through the audio digitally to your stereo receiver, some don’t, but even if they do this is an added pain in the ass. Having optical audio out makes this easier. <span id="powerful-expandable-machine"></span> ==== Powerful, expandable machine ==== Even the cheapest Asustor flashstor handles 4K video effortlessly. [https://www.aaawave.com/asustor-flashstor-6-gen-2-6-bay-nas-quad-core-2-3ghz-cpu-10gbe-ports-8gb-ram-ddr5-6x-m-2-ssd-slots-diskless-fs6806x/ Higher end models] are '''twice as powerful as the server in this guide''' and only take a '''fraction of its power''', making them suitable as a starter server. Low end models have '''6 NVMe solid state drive slots''', but you can buy this with up to [https://www.asustor.com/en-gb/product?p_id=91 12 NVMe drive slots] which would give you 48 terabytes of NVMe storage for a server, with 10 gigabit ethernet for fast network transfers. <span id="the-asustor-flashstor-can-be-a-starter-server."></span> === The asustor flashstor can be a starter server. === Using an Asustor as a starter server is a great idea. If you know you want a home theater PC, you’re going to buy something like this anyway; and even the low end model is powerful enough for most tasks. You can always demote it to a home theater PC down the line when/if you decide to put together a giant 200 terabyte monster like what is pictured above. like what I have pictured above. <span id="dont-use-your-server-as-an-htpc-at-the-same-time-attack-surface-why-you-should-care"></span> ==== Don’t use your server as an HTPC at the same time; attack surface & why you should care ==== The '''attack surface''' (or threat surface) refers to all the different points where a hacker could potentially gain unauthorized access to your system. This means that the more you install onto your machine, the greater the likelihood you turn into one of the poor schmucks in <code>/r/asustor</code> who got [https://www.reddit.com/r/asustor/top/?t=all owned by ransomware]. The more things a machine does, the larger its attack surface becomes & the more opportunities attackers have to exploit vulnerabilities. If you use the same PC for Kodi ''and'' services like Mailcow (mail server), FreePBX (phone system), Immich (photos), or Nextcloud (notes), you’re mixing a '''home theater interface''' with '''mission-critical infrastructure.''' Bad idea. <span id="why"></span> ===== Why? ===== # '''Increased Exposure:''' Running Kodi means more risk of vulnerabilities from media files, plugins, user interaction, etc. If exploited, it could compromise your entire server & everything running on it. # '''Conflicting Security Needs:''' A server for mail and photos requires high uptime, strict access control & limited exposure. A home theater PC is inherently less secure because it’s meant to interact with more devices, networks, & potentially risky media. # '''Damage Scope:''' If someone hacks your Kodi system, do you really want that person having backdoor access to your email, phone, or photos? Keep the two separate & isolate them for better security. <span id="why-not-use-it-as-a-router"></span> ==== Why Not Use It as a Router? ==== You might wonder, can your MiniPC double as a router since it has two Ethernet ports? These are 2.5 GbE ports, which is faster than the typical 1 GbE ports. It offers speeds of 250 to 290 MB/s. However, they use Realtek chipsets (likely the RTL8169) & while you '''can''' use Realtek for a firewall, you really '''shouldn’t'''. This isn’t a meme like running your own self managed mail server. It’s just a bad idea. Don’t ever mix Realtek chipsets with FreeBSD based firewalls(which pfSense is). <blockquote>'''IMPORTANT NOTE:''' Avoid using Realtek chipsets for firewall purposes. Stick to using your MiniPC as a home theater PC instead. </blockquote> <span id="being-silly-adding-eight-3.5-enterprise-class-hard-drives-to-the-asustor-flashstor-mini-pc."></span> ==== Being silly: adding eight 3.5” enterprise class hard drives to the Asustor Flashstor mini-pc. ==== Let’s say you chose to use this device as a server down the line. It only has NVMe slots for solid state drives. 24 terabytes of flash storage might be too little for you. If you want to use hard drives with it, you can’t plug desktop drives directly into it; but that doesn’t mean you can’t try. :) You can actually add eight 3.5” desktop hard drives to an asustor flashstor if you bought one with a '''USB-C 4.0 port'''. If you’re looking to expand beyond NVMe, the higher end models with USB-C ports allow this. If you wanted to go crazy, you could get the following hardware. To be clear, this is ridiculous & not recommended; but there’s something fun about doing ridiculous things. The lengths I have gone through to make use of hardware I already own are great, and I feel compelled to share some of what is possible with you. * '''USB-C to PCI Express Card enclosure''': [https://www.startech.com/en-us/usb-hubs/2tbt3-pcie-enclosure This unit] allows you to plug a desktop PCI Express card slot into a computer that has a USB-C port. This is needed since the flashstor has no PCI Express card slots fit for desktop PCI Express cards. You might have to cut a hole in it for the SATA cables to come out of. * '''PCI Express Serial ATA card:''' [https://www.ebay.com/itm/235464441248?_skw=Intel+RS3WC080&itmmeta=01JE2DYJ39X6E1NKT2GP1AS8V9&hash=item36d2c63da0:g:CCUAAOSwV-pmX3xi&itmprp=enc%3AAQAJAAAA8HoV3kP08IDx%2BKZ9MfhVJKkYGG99u%2FPOyPVfli1VueephfY%2BGqf7itGPMgXK9xShe8TO%2F13dLnEVBooi09dW9ucYYBmmKuUWb%2Bklu5F7ZOnOqT4ElYFOD5WYW%2BEopRsmt5d%2FkPeRRw017E%2BNG9Vw314EAe2bRQy6uCoaUvPIN8kyPH9KL4MntdQwmCFrwfF5uxIhLfnNUaA9I7KetS1rB%2BFQD9R2XPt0jqfIoa6Zm5MMxsDO1uvhf7Pj1CpfOr4sI6KcjRjJGboW3btGqsWtVMbkzNJJ6gIge4pvstvwwIwf3U8WSiTkw1aDplebZRVtYQ%3D%3D%7Ctkp%3ABk9SR9yh-s3wZA This] lets you plug in another 8 serial ATA desktop hard drives. * '''Mini SAS to SATA cable, SFF-8643:''' An [https://store.supermicro.com/us_en/supermicro-minisas-hd-to-4-sata-30-60-70-70cm-cable-cbl-sast-0704.html SFF-8643 adapter cable] goes between your PCI Express SATA card and your eight hard drives. You would need two. * '''Power Splitter''': Needed for powering multiple drives, something like the [https://www.startech.com/en-us/cables/pyo4sata startech SATA power splitter]. * '''SATA drive power supply:''' You’d now need to power those SATA drives. ** Something like [https://www.amazon.com/Warmstor-Adapter-Computer-Connector-Converter/dp/B076WZ1N4K/ref=sr_1_1?crid=37QM5VOFZAM1Q&dib=eyJ2IjoiMSJ9.at93EUUqXo4LGsFjaIg29R-3dDWigqy5MVKmMfIc25yVZWtMqLDzaSH-DHMJYveHuMrs1bMeVSNTqIfDEcuR4zNnfmb44SYNvSe9ZIwYayzkeF5ujjqWWJoOQUxT8etauoS_V66crJBIkf0DITtJN6fJdcnduzoipt7rnRagWy14VBViEpoWeBAO0Fyfht6AfmB3Xn6ymUIyFiie2_j5yQOP5wGBtK2ng7o6GjnRfvY.7fqScExFcxLobhy3oP0mk34glrLTeHSzt46MPMK8Ro4&dib_tag=se&keywords=Sata+Power+Supply&qid=1733101321&sprefix=sata+power+supply%2Caps%2C281&sr=8-1 this] could power 2 drives at a time. ** Any PC power supply that can do over 10 amps on the 12 volt rail would suffice for eight 3.5” enterprise class serial ATA hard drives, but you see why this is getting silly. ** Either you are going to have to do some research to find a sleek looking power supply that does 10 amps at 12 volts to reliably power eight 3.5” enterprise class hard drives, OR: ** Short the green PS_ON wire on a desktop PC power supply to the black wire with a paperclip to turn it on. Desktop PC power supplies only turn on when they are plugged into a desktop computer, and this would only be plugged into the drives. <span id="setting-up-your-home-theater"></span> == Setting Up Your Home Theater == <span id="introduction-once-you-have-your-mini-pc"></span> === Introduction once you have your mini-pc === '''Overview of steps involved:''' [https://libreelec.tv/ LibreELEC] is a GNU/Linux distribution that takes '''less than 90 seconds to install''' that starts up into [https://kodi.tv/ Kodi]''(our media center software)'' software '''right out of the box.''' This is so easy; it just works. It’s so good you’ll forget you’re even using GNU/Linux or open source software. The steps below are as follows: # '''Make LibreELEC install disk''' to install LibreELEC linux distribution onto our asustor home theater PC. # '''OPTIONAL: Install NVMe drives into Asustor.''' My home theater PC does not store any content; that is what my server is for. If you want your Asustor to have '''local storage''' as well, you can install NVMe drives into the bottom of it. #* Use a phillips #0 screwdriver to remove the four screws on the bottom of the Asustor. #* Be gentle; the clips you have to pull back to fit your NVMe drive in aren’t the most durable. In fact, they remind me of the flimsy MacBook A1181 screen bezel clips that broke if you looked at them the wrong way. #* Avoid pressing directly on the SSD’s chip when pushing it into the mini-PC. Instead, apply pressure to the pc board of the solid state drive so you don’t put pressure on the solder balls under the SSD’s chip. #* If at any point you are debating whether to pull back harder on the clips of the asustor that hold the NVMe drive in, or to push harder on the SSD, '''always elect to pull harder on the NVMe clips on the asustor'''. The cost of those breaking is nothing; just use a piece of [https://www.amazon.com/VCHOMY-Sublimation-Polyimide-Temperature-Insulation/dp/B0C9PMHWGS kapton heat resistant tape] to hold the SSD in. The cost of breaking the SSD, is several hundred dollars, or random reboots if you cause a crash in a solder ball that will take you months to trace back to that stupid SSD. # '''Plug Asustor into television, keyboard, & mouse''' # '''Disable secure boot/security features in asustor BIOS(UEFI technically)''' so we can install Linux on it. # '''Erase Bloatware:''' Asus’s garbage software will be removed so it can never be used again, even by accident. # '''Install Libreelec:''' This provides a clean, efficient operating system specially made for home theater PCs. # '''Set Up KODI:''' We’ll use this to catalog media files making them easy to search & access. As soon as you turn the computer on, in less than 30 seconds it will be booted up into KODI so you can access all of your files. <blockquote>'''Note:''' This setup will automatically pull information from internet databases, giving you detailed descriptions & reviews of your content. </blockquote> <span id="installing-libreelec-operating-system-with-kodi"></span> == Installing LibreELEC operating system with KODI == # '''Download LibreELEC:''' #* Head to the [https://libreelec.tv/downloads/generic/ LibreELEC] website and download the generic image for your hardware. #* Generic is what we want; you can download versions for other non-x86 architectures if you want a home theater PC that isn’t based on x86, which is cool, but we’re using an x86 based minipc here. <span id="step-1-creating-a-bootable-libreelec-usb-drive"></span> === Step 1: Creating a Bootable LibreELEC USB Drive === <span id="download-libreelec"></span> ==== 1.1 Download LibreELEC ==== # Head to the [https://libreelec.tv/downloads/generic/ LibreELEC Downloads] page and download the generic image for your hardware. #* Choose the '''Generic''' version for x86-based systems. #* If you’re feeling adventurous, you can download versions for non-x86 architectures, but we’re focusing on an x86-based mini-PC here. # The file will be in <code>.img.gz</code> format. You will need to unzip it. ----- <span id="step-2-unzip-the-.gz-file"></span> === Step 2: Unzip the <code>.gz</code> File === '''Instructions for GNU/Linux, macOS, and Windows:''' <ul> <li><p>'''Linux:'''</p> <pre>gunzip LibreELEC-Generic.x86_64-12.0.1.img.gz</pre> <p>This will extract <code>LibreELEC-Generic.x86_64-12.0.1.img</code> in the same directory.</p></li> <li><p>'''macOS:'''</p> <ol style="list-style-type: decimal;"> <li><p>Open Terminal and navigate to the directory with the downloaded file:</p> <pre>cd /wherever/you/downloaded/it/to</pre></li> <li><p>Use the <code>gunzip</code> command:</p> <pre>gunzip LibreELEC-Generic.x86_64-12.0.1.img.gz</pre></li></ol> </li> <li><p>'''Windows:'''</p> <ol style="list-style-type: decimal;"> <li>Download and install a tool like [https://www.7-zip.org/ 7-Zip].</li> <li>Right-click the <code>.gz</code> file and select '''7-Zip → Extract Here''' to extract the <code>.img</code> file.</li></ol> </li></ul> ----- <span id="step-3-create-a-bootable-usb-drive"></span> === Step 3: Create a Bootable USB Drive === '''⚠ Warning:''' This process will erase everything on the USB drive. # Insert a USB flash drive (at least 4GB in size) into your computer. # Use one of the methods below to write the LibreELEC image to the USB drive. <span id="windows-1"></span> === Windows: === # Download and install [https://rufus.ie/ Rufus]. # Open Rufus and select your USB drive. # Click the '''“SELECT”''' button and choose the <code>.img</code> file you extracted. # Click '''“Start”''' and let Rufus create the bootable USB. <span id="macoslinux"></span> === macOS or GNU/Linux: === <span id="figure-out-which-is-the-right-usb-drive"></span> ==== Figure out which is the right USB Drive: ==== <ol style="list-style-type: decimal;"> <li><p>Open the terminal and run:</p> <pre>sudo fdisk -l</pre></li> <li><p>Make a note of the connected drives.</p></li> <li><p>Insert your USB flash drive and run the command again:</p> <pre>sudo fdisk -l</pre></li> <li><p>Identify the new drive that appears. It’s usually something like <code>/dev/sdX</code> or <code>/dev/diskX</code>.</p></li> <li><p>'''Double-check''' that you’ve identified the correct drive:</p> <ul> <li>Unplug the USB drive.</li> <li>Run <code>sudo fdisk -l</code> again. The drive should disappear.</li> <li>Plug it back in and confirm it reappears.</li></ul> </li> <li><p>If you’re sure the drive is correct, proceed.</p></li></ol> <span id="write-the-image-to-the-usb-drive"></span> ==== Write the Image to the USB Drive: ==== <ol style="list-style-type: decimal;"> <li><p>Replace <code>/dev/sdX</code> with your USB drive’s path and run:</p> <pre>sudo dd if=LibreELEC-Generic.x86_64-12.0.1.img of=/dev/sdX bs=4M status=progress</pre></li> <li><p>Wait for the process to complete. It may take a few minutes.</p></li></ol> ----- <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201233219809.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201233359161.png </gallery> </div> <span id="step-3-set-up-the-asustor-minipc"></span> === Step 3: Set up the Asustor minipc === '''Connect to Your TV and Network:''' * '''HDMI Cable:''' Connect it from the mini PC to your television. * '''Ethernet Cable:''' Connect an ethernet cable so it can connect to your server’s ZFS pool. * '''Optical Audio Cable:''' Use this for audio output to your stereo system. Make sure you insert the optical cable correctly; it is not like a USB-C cable, it fits one way, and there are four possible ways for this to go in. That gives you a 25% chance to plug it in without destroying the jack if you are blindly messing around with it trying to plug it in. Those are bad odds. Pay attention to the plug & the jack! * '''Power Cable:''' Plug this in last, as the asustor flashstor minipc powers on automatically when connected. <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201194913746.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201215358549.png </gallery> </div> <span id="step-4-boot-into-libreelec-installation-and-install-it"></span> === Step 4: Boot into LibreELEC installation and install it === # Insert the bootable USB drive into your mini-PC. # Restart the system and enter the BIOS/UEFI settings by pressing '''F2''' over & over again as fast as possible right after the machine turns on. # Go to '''“boot”''' menu by using the right arrow key and pressing enter. # Set the USB drive as the primary boot device. # In the BIOS, disable any TPM and secure boot options that interferes with Linux installation. This is similar to what we did on the Intel NUC early in the guide when installing pfSense onto it. # Save changes & reboot. LibreELEC will boot from the USB drive. Hitting '''F10''' will exit the BIOS & save your changes. ----- If you managed to erase your entire computer by writing the LibreELEC image to your operating system drive EVEN AFTER reading these instructions, congratulations! You’re almost as stupid as me. Almost. Don’t do that. <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201220116461.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201225302004.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201225320577.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201225331606.png </gallery> </div> <span id="step-5-install-libreelec-onto-the-asustor"></span> === Step 5: Install LibreELEC onto the Asustor === We are erasing all of the Asustor software & replacing it. This process will take less than 90 seconds. and Next, we install LibreELEC, which is just enough OS to run <code>Kodi</code>. # '''Boot and Install''': Follow the prompts to install LibreELEC onto the internal eMMC. # Choose the drive you wish to install it onto, which will be the <code>/dev/mmcblk0</code> device in the case of the Asustor Flashstor. That is the memory that the ASUS software is installed onto; we are erasing it to install LibreELEC & KODI. # You’re done. That’s it. In & out in less than 90 seconds - amazing. :) <blockquote>'''NOTE:''' If you have not installed any new NVMe drives into the Asustor Flashstor minipc, there should only be one device showing up to install onto, which will be the internal EMMC at <code>/dev/mmcblk0</code>. If you have installed new NVMe SSDs, they will show up qith <code>/dev/nvmexn1</code> notation with <code>x</code> being the number of the SSD in the machine. </blockquote> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201230528292.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201230547810.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201230624240.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201230635545.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201230715169.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201230801939.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201231031498.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201231050869.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201231926114.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201231959756.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201232226059.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201232445242.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201232501935.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201232537212.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201232606886.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201232625879.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201233609572.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201233509199.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201233621905.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201233647328.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201233736391.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201233907464.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201233943591.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201233658326.png </gallery> </div> <div class="figure"> <gallery mode="packed-hover" heights=250 widths=400 perrow=2> File:image-20241201234055519.png </gallery> </div> <span id="step-6-boot-into-the-libreelec-system-set-it-up"></span> === Step 6: Boot into the LibreELEC system & set it up === After installing LibreELEC, it will boot into the operating system & start KODI. The rest of the setup is a breeze. '''Networking Configuration''': * Use the default internet connection settings. * There is no need to configure a static IP address for a ''client.'' Static IP addresses are for servers. * If you are using this to watch stuff stored on your server’s ZFS pool, disabling samba server & disabling ssh is the smart way to go. No need to run unnecessary services if you don’t have to. '''Audio Configuration:''' By default, it will output audio via the HDMI cable. * If your HDMI cable connects to an '''audio/video receiver that is hooked up to your speakers''', you’re fine. * If your HDMI cable connects to your '''television''', you may hear the audio through your '''TV speakers''', which is horrible; we will need to change where Kodi outputs to. To change the audio output: # '''Access System Settings''': Navigate to the gear icon for settings, then '''Audio'''. # '''Select the Audio Output Device''': Choose <code>ALSA: HDA Intel PCH, ALC888-VD Digital S/PDIF</code>. Yours may look mildly different - we want whatever looks closest to S/PDIF digital optical/toslink output. Experiment to find which one works for you. # '''Check Display Settings''': Make sure it is set to what your television is capable of. in my case, it is set at ***3840 by 2160 and 60 fps. <blockquote>'''Why not a static IP? Didn’t we make a static IP for everything else?''' Static IPs aren’t important for a computer that doesn’t provide services. When we’re running a server, like our machine with the ZFS pool that stores our media files, we are running something where clients(aka our home theater PC) are going to want to know where to access it. Think of your server like your favorite store. We are going to tell our home theater PC to always go to the store to get movies(….) at <code>192.168.5.2</code> - so our server always NEEDS to be at <code>192.168.5.2</code>. The home theater PC we are setting up right now is the ''“customer”'' - it doesn’t have to have a static IP, nor does it always have to be at the same address every day. A customer can visit a store from a different address every day; it makes no difference to the shopowner selling goods to the customer. However, if the '''''store’s''''' address changed ''every single day'' without notice, the customer would have a very hard time finding the store. They may stop going to that store altogether. We can use the default setup where the server grabs an IP address via DHCP''(aka, it grabs whatever’s available from the router)'' without concern here. </blockquote> <span id="step-7-adding-media-content-to-kodi"></span> == Step 7: Adding Media Content to Kodi == After setup, let’s add some media content to your system. # Click on '''“Movies”''' or '''“TV shows”''' on the side. # Click '''“Add Videos”''' # Click where it says '''<None>''' in order to add an address. # '''Add Samba Share''': Use the IP address and share path to add your media content. For our server that we set up, you would use as follows to access the ZFS pool: <ul> <li><pre> smb://192.168.5.2/archive</pre></li></ul> <blockquote>'''SECURITY NOTE:''' In my personal setup, I like to make a '''separate read only''' user when setting up samba for my media directory that I use for clients that will be viewing music, videos, tv, etc. The reason for this is that if the software I am using to view has a delete button I accidentally press, my cat walks on my keyboard/remote while I am watching something, the software has a bug/glitch etc., I do not lose my media collection. Here is an example from my own samba configuration: <pre>[television] comment = television shows path = /drive1thru8/television browseable = yes read only = no valid users = louis, kodi write list = louis create mask = 0644 directory mask = 0755 force user = louis force group = louis inherit permissions = yes inherit acls = yes ea support = yes</pre> This would be accessible at <code>smb://192.168.5.2/television</code>. My user, <code>louis</code>, can read & write, whereas the user <code>kodi</code> can only read. I would log into the samba share as <code>kodi</code> from my home theater PC, or any client where I solely intend to view content. Even if Kodi’s source code were hijacked by some bastard whose goal it was to destroy our entire media library, they would not be able to. '''''LESSON:''''' '''It is good practice to give minimum necessary permissions to everything!'''</blockquote> # '''Scan Media''': Scan the added directories for movies, TV shows, etc., and organize them in Kodi. # '''Choose media type:''' For '''“This directory contains”''', choose the media type so Kodi is able to look things up for you about what you are watching, grab art, reviews, ratings, etc. # Click onto Movies/TV(whatever you just added) & search for something. # Play & enjoy :) <span id="performance-testing-with-high-quality-media"></span> == Performance Testing with High-Quality Media == Once the physical setup is complete, it’s time to test how well this setup handles high-definition content. * '''Video Playback Test:''' Let’s see how it handles a 4K video file. I’m using a 70-80 GB file of ''“Batman Begins”'' to push the limits. See if it is able to seek within the file quickly, and if there’s any lagging on action scenes or very dark-shot areas ''(this is where bitrate is usually going to be highest, and therefore most difficult for cheap hardware to play back properly)'' * '''Audio Performance:''' Listen for any distortions or skipping in the digital audio output, digital scratching noises. <span id="noise-levels-and-setup"></span> == Noise Levels and Setup == My custom water-cooled desktop with Noctua fans is noisy. I provided comparisons witha DPA 4065 omnidirectional mic in the video, in a normal living room, for you to hear; between that and the Asustor Flashstor minipc. This is not a ''completely'' passive device, but for most; it does amazingly well. <span id="piracy"></span>
Summary:
Please note that all contributions to FUTO may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
FUTO:Copyrights
for details).
Do not submit copyrighted work without permission!
To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:
Cancel
Editing help
(opens in new window)