So after getting everything working I tried to watch a video on my Jellyfin app on my phone. When I try to do this on any network other than the one connected to my mini PC the video stutters so bad its unwatchable. 10 seconds of video plays then 20-30 second pause. On the mini PC and same network i have no problems. I noticed on performance of my systems that my Mini PC might not be using the graphics card to help process information. I have read though some trouble shooting forums and Tom AI helped me get the graphics card configure to work with the programs. After the first day all of my videos reached a "fatal error playback" after install and configuring. I went to work and tried again this morning and one video appears in the library and plays fine on MiniPC and same network but the other 2 videos don't even appear even after scanning the library one of which had appeared there before. Radarr shows all 3 videos have been downloaded and activity tab shows nothing currently being processed. The downloads folder has all three there but the most recent one still says incomplete so I'm guessing its still collecting information for it still. I gave you all of that information in case its relevant. I am not sure if the stutter is performance based from the mini PC or internet speed based on either phone or PC side. My main concern is wanting to get the jellyfin app to not stutter before I release it to my wife. ๐ Thank you for all of the help
27 replies
tomspark wrote:
You didn't break anything. That stutter on remote networks is almost always your home upload speed โ the video file is bigger than what your internet can send over it. Quick test: check your upload at fast.com. If it's under about 20 Mbps, that's usually the cause, not the Mini PC. In the Jellyfin app on your phone, tap the three-dot menu while playing and drop Video Quality to something lower like 8 Mbps โ that shrinks the stream to fit the connection and stops the buffering. On the missing videos: the one still showing 'incomplete' in Radarr is still downloading, just give it more time. For the other one, open Jellyfin โ Dashboard โ Scheduled Tasks and run Scan All Libraries to pick it up.
SenorMuffinTop wrote:
Hey sorry about the long response time life started to happen. ๐ but Im back to sorting this out. The speed test comes back mid 80's to low 90's on fast.com so I am guessing it is just needing to reduce quality. Currently I am unable to test it because I think the sparkbox update has something acting funny. I tried to push an update but I am getting segmentation fault. I can't get to the dashboard or any other port in the VM. The dashboard never loads or times out it just keeps the spinning wheel going forever. Docker shows that all containers are up and running. Tailscale shows the IP address as down though. andrew@NucBoxK8Plus:/mnt/c/WINDOWS/system32$ sudo sparkbox update Segmentation fault sudo sparkbox update andrew@NucBoxK8Plus:/mnt/c/WINDOWS/system32$ sudo sparkbox doctor Segmentation fault sudo sparkbox doctor andrew@NucBoxK8Plus:/mnt/c/WINDOWS/system32$ sparkbox status | grep dashboard -bash: /usr/local/bin/sparkbox: Input/output error andrew@NucBoxK8Plus:/mnt/c/WINDOWS/system32$ sparkbox down -bash: /usr/local/bin/sparkbox: Input/output error andrew@NucBoxK8Plus:/mnt/c/WINDOWS/system32$ sparkbox up -bash: /usr/local/bin/sparkbox: Input/output error I tried looking at some of the commands in the troubleshooting guides and didn't see anything about this specific situation.
tomspark wrote:
Your 80-90 Mbps upload is plenty โ that remote stutter is almost certainly Jellyfin transcoding on CPU instead of your graphics card, not a bandwidth problem. That'll improve once hardware transcoding is actually set up. The Input/output error on the sparkbox binary is a separate problem โ the file got corrupted, probably during the update attempt. First thing to check: run df -h / and paste the output here. A completely full drive causes exactly this kind of I/O error and that's the first thing to rule out. Tailscale showing down just means remote access is out for now โ the dashboard should still be reachable from the same local network at the same IP address.
SenorMuffinTop wrote:
andrew@NucBoxK8Plus:/mnt/c/WINDOWS/system32$ df -h / Segmentation fault df -h / Just shut down WSL and restarted the mini PC and got sparkbox back on line. some basic troubleshooting for the win lol
tomspark wrote:
Nice one โ that restart cleared it right up, nothing lost. Now that you're back: give the remote stream another test. If the stutter is still there, it's the hardware transcoding thing I mentioned โ your graphics card is already set up and ready (sparkbox doctor confirmed it), it just needs switching on inside Jellyfin. Come back and let me know and I'll walk you through the steps.
SenorMuffinTop wrote:
Just tested the remote stream and the stutter is back and my GPU is not processing any thing. lol
tomspark wrote:
That last clue โ GPU still sitting idle โ tells me the graphics card is reaching SparkBox fine, but Jellyfin itself isnt set to USE it yet. Thats a separate switch inside Jellyfin that is easy to miss. In Jellyfin: click your avatar (top right) - Dashboard - Playback - Transcoding. Set Hardware acceleration to Intel QuickSync (QSV) โ your NucBox has Intel graphics โ put /dev/dri/renderD128 in the device box, tick the H264 and HEVC boxes, and Save. Then replay the remote video and check Dashboard - Activity: it should say hardware instead of software. If QSV gives a device not found error, that means the card isnt reaching the container โ reply here and I will sort the passthrough for you.
SenorMuffinTop wrote:
I got request failed status code 500 this was the full message ne@http://localhost:8096/web/nodemodules.axios.bundle.js?3cf5acc8506265662d4f:2:27502 h@http://localhost:8096/web/nodemodules.axios.bundle.js?3cf5acc8506265662d4f:2:36970 83202/wr/i/<@http://localhost:8096/web/nodemodules.axios.bundle.js?3cf5acc8506265662d4f:2:60742 83202/Sr/Sr/i/<@http://localhost:8096/web/nodemodules.axios.bundle.js?3cf5acc8506265662d4f:2:61674 Or@http://localhost:8096/web/nodemodules.axios.bundle.js?3cf5acc8506265662d4f:2:61787 u@http://localhost:8096/web/nodemodules.axios.bundle.js?3cf5acc8506265662d4f:2:63272
tomspark wrote:
That 500 means Jellyfin can't access the graphics card from inside its app yet โ the connection between them isn't wired up. Run sudo sparkbox update in a terminal, wait for it to finish, then go back to Jellyfin โ Dashboard โ Playback โ Transcoding and try saving again. That update step is what hooks the GPU through to the app. If it still fails after that, let me know and I'll check it a different way.
SenorMuffinTop wrote:
It is all saved and ran sudo sparkbox update and still have the GPU idle.
tomspark wrote:
Okay โ that 500 error plus the still-idle GPU means SparkBox isnt handing the graphics card to Jellyfin yet. There is one setting that does that, and its separate from the update. In the SparkBox dashboard: go to Settings and find Hardware Transcoding โ set it to intel (your NucBox has Intel graphics). Then from a terminal run: sparkbox restart media. THAT is the step that actually passes the graphics card into Jellyfin (the update alone doesnt do it). After that, go back to Jellyfin - Dashboard - Playback - Transcoding, choose Intel QuickSync and Save โ the 500 should be gone and the GPU will start doing the work. If you cant find Hardware Transcoding in your Settings, tell me and Ill give you the one-line file edit instead.
SenorMuffinTop wrote:
I went to bed last night with some downloads running and no known problems other than the stutter. But apparently at some point during restarting WSL2, sparkbox and the mini PC I had inadvertently managed to make the download path go to my Mini PC and my lack of experience has resulted in me wiping out the media on my NAS as well as on the Mini PC. This is my understanding of what I did. I some how I managed to start downloading everything on to my WSL2 file path into the Ubuntu folders on the Mini PC. I woke up this morning to a message that said I was out of storage and had an update on docker desktop that was failing do to not enough storage space. Maybe because of lack of space or due to the update getting stuck docker wouldn't start. I prioritized moving the media over to the NAS which I thought I had completed correctly. I seen all of the files in the NAS and then went to ubuntu file and deleted the media from there since the windows storage was full. This deleted the files in the NAS as well as from ubunto files but this did not free up space on my windows C drive. I have always used windows but I am ready to give linux a shot. What I have read switching to linux OS would make a lot of the nuance issues i have much easier to handle instead of WSL2. Do you have any recommendations before I make the switch? I am just thinking I will wipe it clean and start fresh on linux I don't want to risk bringing any headaches with me over and the mini PC was bought for the purpose of being sort of a small home lab server so it doesn't have anything except the arr stack currently.
tomspark wrote:
Oof โ sorry you lost the media, thats a gut-punch. But moving to native Linux is exactly the right call, and it kills this whole class of headache. WSL2 is where most of these storage/path/Docker-Desktop problems come from โ you were fighting the environment, not SparkBox. For the fresh start: - Ubuntu Server 24.04 LTS is ideal โ lightweight and rock-solid for a homelab box (Ubuntu Desktop is fine too if you want a GUI). - Mount your NAS FIRST, then point SparkBoxs MEDIAROOT and the download folder at it from the start โ that keeps everything off the local disk, which is what filled up and kicked off the mess. - The thing that bit you: a mounted NAS folder IS the NAS โ deleting from it deletes on the NAS too, theres no separate local copy. A proper Linux mount (via fstab) behaves predictably. Since the mini PC only has the arr stack, wiping to Ubuntu is clean and low-risk. Reinstall SparkBox and youll have a much smoother ride โ and Ill happily walk you through the NAS mount when you get there.
tomspark wrote:
Switching to bare Linux is the right call for a dedicated home server โ WSL2 works but adds a layer of friction you won't miss. For your NucBox K8 Plus, Ubuntu Server 24.04 LTS is the move: well-supported, and SparkBox installs exactly the same way (sudo sparkbox install) once you're on it. The C drive space: deleting files inside WSL2 doesn't free up the virtual disk automatically, so that space won't clear until WSL2 itself is gone โ which happens when you wipe. Nothing extra to do there. Sorry about the media โ rough morning. Fresh Linux install makes the path setup much more predictable from day one and you'll avoid that whole class of confusion going forward.
SenorMuffinTop wrote:
Yea I definitely still have a lot to learn. Losing the media is painful but not the end of the world. I am excited to have a fresh start with a less abrasive system. I am fully wiped and installed with a fresh Linux Ubuntu server not desktop. So the first step is to mount the NAS then install sparkbox? since the media is gone would it be better to just delete the old folders off the NAS and let it build the path on install?
SenorMuffinTop wrote:
LOL I definitely learned that lesson. Deleting the files in WSL didn't free up the space in on C drive but it did free up space in the NAS.
tomspark wrote:
Ha โ painful way to learn it, but youll never make that mistake again. Ping me when youre up and running on Ubuntu and Ill help you mount the NAS the right way, so downloads always land there and never fill your local disk. Youve got this.
SenorMuffinTop wrote:
I have it 100% ready to go it is up and running and updated.
tomspark wrote:
Perfect โ that's the right starting point. Mount the NAS first, then run the SparkBox install pointing MEDIAROOT at the mount. And yes, clear out the old folders on the NAS and let it rebuild them fresh โ no leftover permission mess that way. To give you the exact mount command: what's your NAS's IP address and the share name? (It'll be the folder name visible when you browse it from another computer.) SMB is the most common for home NAS setups, so that's what I'll use.
SenorMuffinTop wrote:
192.168.0.35:5000 The share folder name is Media again I deleted the old one and built another
tomspark wrote:
The :5000 is just your NAS's web login page โ the mount uses a different port automatically, you don't need that number. Run these in order (swap in your actual NAS username and password): sudo apt install -y cifs-utils && sudo mkdir -p /mnt/media && sudo mount -t cifs //192.168.0.35/Media /mnt/media -o username=YOURNASUSER,password=YOURNASPASS,uid=1000,gid=1000 After that, run ls /mnt/media โ if your files show up, it worked. Then we'll add one line to make it mount automatically on reboot, and you can run the SparkBox install pointing MEDIAROOT at /mnt/media.
SenorMuffinTop wrote:
ok the files showed up @gmk8:~$ ls /mnt/media 'recycle'
tomspark wrote:
NAS is mounted and working โ great! That recycle folder is just Synology's built-in trash bin, totally normal, you can ignore it. To make the mount survive reboots, run sudo nano /etc/fstab and add this line at the very bottom (fill in your actual NAS username and password): //192.168.0.35/Media /mnt/media cifs username=YOURNASUSER,password=YOURNASPASS,uid=1000,gid=1000,netdev 0 0 Save with Ctrl+O then Ctrl+X. Then run sudo mount -a โ no errors means it worked and it'll auto-mount on every reboot. After that you're ready to run the SparkBox install. When it asks for a media path, use /mnt/media.
SenorMuffinTop wrote:
Everything seems to be working very smooth lol. This feels much better already. Ready for sparkbox install command?
tomspark wrote:
Heck yes โ thats the payoff of going native Linux. Run this on your Ubuntu box: curl -fsSL https://get.tomsparkbox.com/install.sh | sudo bash Itll walk you through everything โ Docker, the dashboard, the apps. One tip from your earlier adventure: when it asks about media/download locations, point them at your NAS mount from the start so nothing ever fills the local disk again. When it finishes youll get a dashboard link โ open that and youre off. Shout if you hit anything, but I think itll be a LOT smoother this time. ๐
SenorMuffinTop wrote:
I really really appreciate it. If you have a "buy me a coffee" link please let me know you have done so much to help.
tomspark wrote:
You already are โ your backer subscription is exactly what keeps SparkBox running. That genuinely means a lot. The Legend tier is the next step up if you ever want to go further. Shout when the install finishes โ you've got this.