{"id":15014,"date":"2025-02-05T18:30:47","date_gmt":"2025-02-05T08:30:47","guid":{"rendered":"https:\/\/www.penguinpunk.net\/blog\/?p=15014"},"modified":"2025-02-05T20:43:25","modified_gmt":"2025-02-05T10:43:25","slug":"plex-media-server-enable-hardware-acceleration","status":"publish","type":"post","link":"https:\/\/www.penguinpunk.net\/blog\/plex-media-server-enable-hardware-acceleration\/","title":{"rendered":"Plex Media Server &#8211; Enable Hardware Acceleration"},"content":{"rendered":"<p><a href=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2025\/02\/new-plex-logo-v0-5x93lknmuaw81.jpg.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15019 size-medium\" src=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2025\/02\/new-plex-logo-v0-5x93lknmuaw81.jpg-300x300.png\" alt=\"\" width=\"300\" height=\"300\" srcset=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2025\/02\/new-plex-logo-v0-5x93lknmuaw81.jpg-300x300.png 300w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2025\/02\/new-plex-logo-v0-5x93lknmuaw81.jpg-150x150.png 150w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2025\/02\/new-plex-logo-v0-5x93lknmuaw81.jpg-768x768.png 768w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2025\/02\/new-plex-logo-v0-5x93lknmuaw81.jpg.png 800w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>This one should be relatively short. I recently added a GPU to my Plex server (the NVIDIA GTX-1650 &#8211; maybe <a href=\"https:\/\/www.zotac.com\/py\/product\/graphics_card\/zotac-gaming-geforce-gtx-1650-oc\">this one<\/a>). In and of itself, that&#8217;s not so exciting, although the shuffling of things around to get all of the SATA drives spinning while making use of the single PCIe slot on the board was a bit of fun to be sure. I ended up using a M.2 to SATA adapter that actually works quite well. In any case, I thought it was simply a matter of turning on hardware acceleration on the Plex server, as Debian seemed to have detected the card. To do this, go to Settings &#8211; Transcoder and then tick &#8220;Use hardware-accelerated video encoding&#8221;.<\/p>\n<p><a href=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2025\/02\/Screenshot-2025-01-30-at-11.52.08.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15015\" src=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2025\/02\/Screenshot-2025-01-30-at-11.52.08.png\" alt=\"\" width=\"800\" height=\"379\" srcset=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2025\/02\/Screenshot-2025-01-30-at-11.52.08.png 2074w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2025\/02\/Screenshot-2025-01-30-at-11.52.08-300x142.png 300w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2025\/02\/Screenshot-2025-01-30-at-11.52.08-1024x485.png 1024w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2025\/02\/Screenshot-2025-01-30-at-11.52.08-768x364.png 768w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2025\/02\/Screenshot-2025-01-30-at-11.52.08-1536x727.png 1536w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2025\/02\/Screenshot-2025-01-30-at-11.52.08-2048x970.png 2048w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p>I noticed, however, that when I was watching various films, the GPU wasn&#8217;t doing anything. There&#8217;s a good explanation on the Plex website about how this works, and how this should work, that you can read <a href=\"https:\/\/support.plex.tv\/articles\/115002178853-using-hardware-accelerated-streaming\/\">here<\/a>. The solution to my problem was to install the proprietary NVIDIA drivers. There are comprehensive instructions for the various flavours of Debian available <a href=\"https:\/\/wiki.debian.org\/NvidiaGraphicsDrivers#Debian_12_.22Bookworm.22\">here<\/a>. In my case, I&#8217;m using Debian 12, so I ran this command:<\/p>\n<pre>apt install nvidia-driver firmware-misc-nonfree<\/pre>\n<p>Once I did that (and following the reboot, etc), I noticed that Plex was actually using the GPU to do video encoding (where required) and everything was great. Of course, in my home I want to be using <a href=\"https:\/\/support.plex.tv\/articles\/200250387-streaming-media-direct-play-and-direct-stream\/\">Direct Play<\/a>, but if I&#8217;m outside my home I&#8217;ll generally need the server to do some transcoding to meet bandwidth limitations.<\/p>\n<p>The NVIDIA Proprietary Drivers also give you access to a tool called <em>nvidia-smi<\/em>, which is handy if you want to see what&#8217;s happening with the GPU too.<\/p>\n<p><a href=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2025\/02\/Screenshot-2025-02-04-at-20.45.45.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-15016\" src=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2025\/02\/Screenshot-2025-02-04-at-20.45.45.png\" alt=\"\" width=\"800\" height=\"417\" srcset=\"https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2025\/02\/Screenshot-2025-02-04-at-20.45.45.png 1082w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2025\/02\/Screenshot-2025-02-04-at-20.45.45-300x156.png 300w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2025\/02\/Screenshot-2025-02-04-at-20.45.45-1024x534.png 1024w, https:\/\/www.penguinpunk.net\/blog\/wp-content\/uploads\/2025\/02\/Screenshot-2025-02-04-at-20.45.45-768x400.png 768w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<p>Have I found this to be a great improvement in my remote Plex experience? It&#8217;s too soon to say. But I&#8217;ll report back when I&#8217;ve done some more testing. And yes, I know the GPU is old, but so is the server, and so am I for that matter.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This one should be relatively short. I recently added a GPU to my Plex server (the NVIDIA GTX-1650 &#8211; maybe this one). In and of itself, that&#8217;s not so exciting, although the shuffling of things around to get all of the SATA drives spinning while making use of the single PCIe slot on the board [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[135,1454],"tags":[1098,1452,630,337,1334,1135,1453],"class_list":["post-15014","post","type-post","status-publish","format-standard","hentry","category-computers","category-plex","tag-debian","tag-gpu","tag-hardware","tag-htpc-2","tag-nvidia","tag-plex","tag-transcode"],"_links":{"self":[{"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/posts\/15014","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/comments?post=15014"}],"version-history":[{"count":6,"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/posts\/15014\/revisions"}],"predecessor-version":[{"id":15023,"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/posts\/15014\/revisions\/15023"}],"wp:attachment":[{"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/media?parent=15014"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/categories?post=15014"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.penguinpunk.net\/blog\/wp-json\/wp\/v2\/tags?post=15014"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}