Files
dustin.coffee-jekyll-blog/tech/2024/03/27/brewing-resilience-from-lxc-to-vm-for-flawless-plex-and-beyond.html
2026-02-12 11:17:02 -05:00

115 lines
8.1 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- Begin Jekyll SEO tag v2.8.0 -->
<title>brewing resilience: from lxc to vm for flawless plex and beyond | d@n tech</title>
<meta name="generator" content="Jekyll v4.3.4" />
<meta property="og:title" content="brewing resilience: from lxc to vm for flawless plex and beyond" />
<meta name="author" content="dustin newkirk" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Introduction: Hey everyone, its time for another tech update from d@n tech! Recently, I made a significant change to my Plex server setup that Im excited to share with you all. After encountering issues with hardware transcoding, I decided to transition my Plex server from an LXC container to a VM, utilizing GPU passthrough for flawless transcoding performance." />
<meta property="og:description" content="Introduction: Hey everyone, its time for another tech update from d@n tech! Recently, I made a significant change to my Plex server setup that Im excited to share with you all. After encountering issues with hardware transcoding, I decided to transition my Plex server from an LXC container to a VM, utilizing GPU passthrough for flawless transcoding performance." />
<link rel="canonical" href="https://dustin.coffee/tech/2024/03/27/brewing-resilience-from-lxc-to-vm-for-flawless-plex-and-beyond.html" />
<meta property="og:url" content="https://dustin.coffee/tech/2024/03/27/brewing-resilience-from-lxc-to-vm-for-flawless-plex-and-beyond.html" />
<meta property="og:site_name" content="d@n tech" />
<meta property="og:type" content="article" />
<meta property="article:published_time" content="2024-03-27T00:00:00-04:00" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="brewing resilience: from lxc to vm for flawless plex and beyond" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"BlogPosting","author":{"@type":"Person","name":"dustin newkirk"},"dateModified":"2024-03-27T00:00:00-04:00","datePublished":"2024-03-27T00:00:00-04:00","description":"Introduction: Hey everyone, its time for another tech update from d@n tech! Recently, I made a significant change to my Plex server setup that Im excited to share with you all. After encountering issues with hardware transcoding, I decided to transition my Plex server from an LXC container to a VM, utilizing GPU passthrough for flawless transcoding performance.","headline":"brewing resilience: from lxc to vm for flawless plex and beyond","mainEntityOfPage":{"@type":"WebPage","@id":"https://dustin.coffee/tech/2024/03/27/brewing-resilience-from-lxc-to-vm-for-flawless-plex-and-beyond.html"},"url":"https://dustin.coffee/tech/2024/03/27/brewing-resilience-from-lxc-to-vm-for-flawless-plex-and-beyond.html"}</script>
<!-- End Jekyll SEO tag -->
<meta name="keywords" content="" />
<meta name="google-adsense-account" content="ca-pub-5033279084799102">
<link rel="shortcut icon" href="/assets/logos/dn-tech-favicon-color.png" />
<link rel="apple-touch-icon" href="/assets/logos/logo-color.png"/>
<link rel="stylesheet" type="text/css" href="/assets/css/styles.css" />
<link rel="stylesheet" type="text/css" href="/assets/css/prism.css" />
<script src="/assets/js/prism.js"></script>
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-5033279084799102"
crossorigin="anonymous"></script>
</head>
<body>
<div class="wrapper">
<header class="wrapper-header">
<div class="header">
<h1>d@n tech</h1>
<br>
<h5><i>Caffinated Tech Insights</i></h5>
<br>
<nav>
<a href="/">About & Contact</a>
<a href="/posts">Posts</a>
<a href="/categories/">Categories</a>
<a href="/resume">Resume</a>
</nav>
<hr>
</div>
</header>
<main class="wrapper-main">
<div class="main-content">
<div class="post-info">
<h2>brewing resilience: from lxc to vm for flawless plex and beyond</h2>
<p>27 Mar 2024 - </p>
</div>
<div class="post-content">
<h4 id="introduction">Introduction:</h4>
<p>Hey everyone, its time for another tech update from d@n tech! Recently, I made a significant change to my Plex server setup that Im excited to share with you all. After encountering issues with hardware transcoding, I decided to transition my Plex server from an LXC container to a VM, utilizing GPU passthrough for flawless transcoding performance.</p>
<h4 id="the-importance-of-hardware-transcoding-and-gpu-passthrough">The Importance of Hardware Transcoding and GPU Passthrough:</h4>
<p>Before diving into the transition process, lets talk about why hardware transcoding and GPU passthrough are crucial for a smooth Plex experience. Hardware transcoding offloads the burden of video transcoding from the CPU to specialized hardware, such as a GPU. This results in lower CPU usage, faster transcoding speeds, and better playback performance, especially for remote streaming or multiple concurrent streams. GPU passthrough allows a virtual machine to directly access and utilize a physical GPU, ensuring optimal performance for tasks like video encoding and decoding.</p>
<h4 id="encountering-issues-and-making-the-transition">Encountering Issues and Making the Transition:</h4>
<p>A couple of weeks ago, I noticed that hardware transcoding on my Plex server was no longer functioning properly. After troubleshooting for hours, I discovered that something had broken, preventing the GPU from being utilized for transcoding within the LXC container. Faced with this dilemma, I decided to take the plunge and convert my Plex server to a VM, passing the GPU directly to the VM for optimal performance.</p>
<h4 id="the-transition-process">The Transition Process:</h4>
<p>Converting the Plex server from an LXC container to a VM was no small feat, but it was well worth the effort. I spent several hours meticulously configuring the VM and setting up GPU passthrough. Once everything was in place, I fired up Plex and was thrilled to see hardware transcoding working flawlessly once again. The difference in performance was like night and day, with smoother playback and reduced CPU load.</p>
<h4 id="conclusion">Conclusion:</h4>
<p>The transition from LXC to VM with GPU passthrough has revitalized my Plex server, ensuring seamless streaming experiences for users across the United States. With hardware transcoding back on track, remote streaming is once again smooth and reliable, regardless of the distance. Beyond Plex, this change underscores the significance of leveraging hardware acceleration and GPU passthrough for a wide range of services hosted on my server. From media streaming to collaborative projects and beyond, the improved performance enhances the overall user experience and reinforces the reliability of my server infrastructure.</p>
<h4 id="stay-tuned">Stay Tuned:</h4>
<p>As I continue to fine-tune my server setup and explore new technologies, including optimizations for remote streaming and enhancements to various hosted services, be sure to stay tuned for more updates and insights here at d@n tech. Whether youre a fellow tech enthusiast or a remote user enjoying the benefits of my server, theres always something new on the horizon.</p>
</div>
</div>
</main>
</div>
<footer class="wrapper-footer">
<div class="footer">
<span class="footer-text float-left">This work is licensed under <a rel="license" href="https://www.gnu.org/licenses/gpl-3.0.en.html" target="_blank">GPLv3</a></span>
<span class="footer-text float-right">
Site Updated: 2025-07-29 ET (<a href="/feed.xml" target="_blank">RSS</a>)
</span>
</div>
<script src='https://storage.ko-fi.com/cdn/scripts/overlay-widget.js'></script>
<script>
kofiWidgetOverlay.draw('dustinnewkirk', {
'type': 'floating-chat',
'floating-chat.donateButton.text': 'Support Me',
'floating-chat.donateButton.background-color': '#ff851b',
'floating-chat.donateButton.text-color': '#3D2200'
});
</script>
</footer>
</body>
</html>