Thank you everyone for the great feedback and support! I'm working on some follow-on videos to this topic which I should be able to release over the next few weeks. Specifically, using USB redirection through the thin client and using the login screen to select multiple VMs to connect to. If you have anything else you'd really like to see, let me know!
@ShinyTechThings
2 жыл бұрын
OK, I just have to throw it out there... But can it play DOOM? 🤣🤣🤣🤣
@apalrdsadventures
2 жыл бұрын
I tried and ... no... because the SPICE GPU in VGA emulation only supports 16 and 32 bit color depth. So Win98 games will run in 16 bit (I got the pre-steam Half Life to run in 16-bit), but nothing 8 bit.
@mattheww797
11 ай бұрын
When I tried this playing video in a spice client put a lot of stress on the proxmox cpus
@DarrylGibbs
Жыл бұрын
A video that cuts the BS and gets straight to the point. A rare luxury. Thanks man!
@hillefied
2 жыл бұрын
Talk about easy to follow! Thanks for the amazing tutorial. I setup something unusually complex and this tutorial really helped me get over a few humps. I used a Pi4 and setup nearly everything you've described here with some added bash scripts to connect to a Client VPN before running xserver. This way, no matter where I am, as long as my Pi4 has internet, it can always access the VDI on my Proxmox VE over the internet. Thank you so very much for this.
@apalrdsadventures
2 жыл бұрын
You're very welcome!
@brendonmatheson7286
2 жыл бұрын
This video is really helpful man thanks for making it! Was only vaguely aware of this feature of Proxmox and will definitely be adopting this instead of setting up random VNC servers on VM's like I have been doing. Thank you.
@apalrdsadventures
2 жыл бұрын
remote-viewer and SPICE are definitely a step up from most VNC implementations!
@KenPryor
2 жыл бұрын
Worked like a charm! This was a fun project to do. Thanks for providing these great tutorials.
@apalrdsadventures
2 жыл бұрын
Thanks!
@CaptainBalou
2 жыл бұрын
Awesome content, thanks for sharing. Searched for „vdi proxmox“ a couple of weeks ago but just found commercial products. Very helpful to now have a howto for setting up a non commercial way. 👍🏼
@apalrdsadventures
2 жыл бұрын
Thanks!
@AdmV0rl0n
2 жыл бұрын
One of the few people spending time with spice - very nice video. Without me knowing more, I wonder if spice could benefit from the VM having a gpu card on passthrough or similar. An alternative if it does not - would be to do passthrough on a GPU, but to then use Parsec to be the client part that encodes and passes to the Pi. All the same, very nice video!! Thanks!
@apalrdsadventures
2 жыл бұрын
SPICE creates a QXL (sorta-virtio) GPU for the guest, so with GPU passthrough you'd need to be able to render on one GPU and output video on another. Windows can do this already with an iGPU + dGPU, but I'm not sure if anyone has tried setting that up with QXL + dGPU. I don't currently have a spare GPU to test this with, but maybe in the future I'll be able to. The latency of SPICE is also non-zero, but that's true of any remote display solution. I don't think SPICE will ever perform as well as Parsec over a WAN connection, but locally it might be close - mostly due to Parsec using h.264 vs SPICE using JPEG.
@AdmV0rl0n
2 жыл бұрын
@@apalrdsadventures I remember being pretty excited some years back when they demo'd spice. They did include IIRC movies and media. But I confess outside of Proxmox, I really have not seen much uptake, and... in my gut I feel a bit like with encoders on GPU, not utilising (or perhaps more like not re-thinking it through) older protocols face some hefty headwinds. Parsec is very neat, but I have found some limits. And the enterprise stuff like Horizon is outside of my home lab kinda area to get jiggy with. I think you deserve more subscribers. If you like just doing things home lab, hit me up if you like. I can't say I'd match your skills, but fun could be had all the same. Appreciate the effort you put in on this.
@apalrdsadventures
2 жыл бұрын
I mostly just do this for fun, at some point I enjoy building tools, networks, servers, etc. more than using them myself. I'm actually an embedded software developer normally (the highest level language I use normally is C). I actually ventured down the SPICE path after dealing with a few thin client solutions in the past, seeing how truly useful it is to keep computation in a virtualized space (with all the benefits of spawning new clones on demand, snapshots, suspend, migrate, ...), but how few open source solutions there are. First, my university switched from physical computer labs (with lots of licensed software) to a Citrix system where you could log in to a virtual machine to use licensed software, and later I had a high security (not classified) job which relied heavily on desktop computers and RDP while away from the desk to improve physical security of the machines and h ard drives. So since then, I've played with a few ways to do this on my own (including booting Windows off iSCSI and failing, and now SPICE). I haven't used Parsec personally since Linux compatibility is important to me, but it would definitely be nice if there was a more open alternative that provided a comparable experience. I hope you aren't disappointed when my next two videos come out and have nothing to do with Proxmox, but I do have more SPICE and virtualization projects in the works. If you want to talk more, my email is at the bottom of my website (click on the copyright).
@AdmV0rl0n
2 жыл бұрын
@@apalrdsadventures I wonder if something like taking project looking glass, and then using built in GPU encoders could throw video around in a way that would work. I assume some of the projects like moonlight - already allow some of this. I installed KASM recently. Its a good remote terminal system/idea, but their in house VNC really doesn't work well for me with video or similar media workloads - that being said, I'm running it from a shed of a PC... so probably need better testing :) I know a new thing called pipewire is trying to make some improvements around media handling in Linux. Cheers!!
@apalrdsadventures
2 жыл бұрын
Really, SPICE has most of the features needed for remote work (not necessarily low-latency gaming) they just need to support more modern video codecs. USB redirection is also a nice feature that VNC lacks. I'm actually running on an Asrock A300 Deskmini + Ryzen 2400G as my main Proxmox node. The "A300" chipset is, as far as I can tell, not actually a chip at all, and all of the IO comes straight out of the CPU, so it's definitely an odd combination of hardware to run on. So, my inability to test GPU passthrough is more a lack of PCIe slots than anything else (my only other testing node is MATX and also out of slots).
@andrewelliston478
Жыл бұрын
You are a class act. You gave this class with kindness. Excellent
@AwesomeOpenSource
2 жыл бұрын
Very cool! I like the detail. Thanks for this.
@apalrdsadventures
2 жыл бұрын
Glad you like it!
@joshnz15
2 жыл бұрын
Love this been looking for something like this for a Long Time
@olafschermann1592
2 жыл бұрын
I use raspberry pi as a rdp client for a native connection to windows VMs. Works even via a rdp gateway (https) from our customers to our office over all firewalls.
@apalrdsadventures
2 жыл бұрын
The Pi is super useful!
@ChristopherCompagnon1AndOnly
2 жыл бұрын
Woah ! Amazing ! I was looking for that for months.
@apalrdsadventures
2 жыл бұрын
Glad you like it!
@ChristopherCompagnon1AndOnly
2 жыл бұрын
@@apalrdsadventures I do not like it.. I love it!
@lpkampen
2 жыл бұрын
This is so cool! This is something I'd like to do for my household, just for basic web browsing, email and schoolworks. How does it work with chromebooks as clients? Or even laptops? I would love to see a video where a laptop is set to dual boot win 10/11 by itself and as a remote client! Great video man!
@apalrdsadventures
2 жыл бұрын
You an just run the client on Windows, no need to boot into a dedicated OS for the thin client, and you should be able to install the Linux client through the Linux app support on ChromeOS
@pichonPoP
2 жыл бұрын
Thank you for sharing this video. I wanted to do this a few years ago. Maybe, this is the year that I will try it.
@apalrdsadventures
2 жыл бұрын
You should! Good luck with it!
@lazerusmfh
Жыл бұрын
Excited to try this
2 жыл бұрын
Man! you are an absoluetly genius!!!! You saved my life!!!! thats whats I'm looking for!
@apalrdsadventures
2 жыл бұрын
Glad you liked it!
@SelfSufficient08
2 жыл бұрын
Awesome video !! Thank you for doing this !
@apalrdsadventures
2 жыл бұрын
Glad you liked it! I have a more recent video on this topic ('Choose-A-VM thin client') which shows another way of doing it, if you want to keep the graphical OS for local use.
@SelfSufficient08
2 жыл бұрын
@@apalrdsadventures Thanks ! Will be checking it out and following it. Does the choose a vm offer the option of entering a username and password. Would be neat to allow different users to logon at different terminals. Then all I need to figure out is how to make a non-persistent windows 10vm in proxmox for the family to use. then setup redirection for folders. simple reboot would revert back to a gold image of sorts. :-)
@apalrdsadventures
2 жыл бұрын
Yes, sorta. It sets up certain user accounts on the local systems (which may have passwords) to launch a remote session instead of a local desktop, to a corresponding VM ID in Proxmox. Auth is done locally, PVE auth info is still in the script on the thin client. A viewer of mine wrote a Python program which can do auth via Proxmox and query which VM IDs the user has access to, allowing them to select based on their permissions. I'm working on a video for it, but it's not running well on the Pi due to Qt dependencies. It should be out in 2-3 weeks. github.com/joshpatten/PVE-VDIClient is his client
@joetkeshub
2 жыл бұрын
Pretty instructive and helpful. Thank you! you save my day!
@apalrdsadventures
2 жыл бұрын
Glad you enjoyed it!
@markvonmiller4702
2 жыл бұрын
this is awesome, next time my boss will surely ask why his windows has linux boot sequence
@beauregardslim1914
2 жыл бұрын
Very well explained but also concise, which is hard to do. I hope you make more tutorials. Your mic needs adjusting, btw.
@apalrdsadventures
2 жыл бұрын
I've got two more on this project already published! Working on the audio, it's gotten a bit better in recent videos
@JavierChaparroM
2 жыл бұрын
MAN! this is great content!!
@apalrdsadventures
2 жыл бұрын
I have a few more videos on the Pi Thin Client project that you might like as well!
@donaldwilliams6821
2 жыл бұрын
Very cool video! Thank you.
@apalrdsadventures
2 жыл бұрын
Glad you liked it!
@john_elliott
11 ай бұрын
TIL what spice even is, thank you!
@vrl.
2 жыл бұрын
Thanks for this video. You have given me great inspiration 🎯🚀
@apalrdsadventures
2 жыл бұрын
Thanks!
@carlossoriano4010
2 жыл бұрын
Nice work, thank you! 🤓
@apalrdsadventures
2 жыл бұрын
Thanks!
@Froggie92
2 жыл бұрын
this worked great! thanks so much
@apalrdsadventures
2 жыл бұрын
Glad it helped!
@SenyorDonGatoo
Жыл бұрын
Great video, I actually used it to set a proxmox server itself to output one of the VMs on its screen on startup. Thank you for this, made the process quite easy!
@ornar3
2 ай бұрын
Thank you very much. I have some shortcuts defined on Raspberry using xbindkeys (for example alt+ f9 to restart), but the shortcut runs in the vm. Can you help?
@jcdock
2 жыл бұрын
This is really cool.
@apalrdsadventures
2 жыл бұрын
Thanks!
@youtubewzd2196
10 ай бұрын
Like and subscribe was definitely earned, not just with this video.
@hierholzerd
9 ай бұрын
FYI - I am not sure how powerful the Proxmox server hosting the VM is, but either way, the main reason the performance is lacking in this demo is that the Raspberry Pi 2 does not even have a Gigabit Ethernet Port! In other words, the fastest that this device (Pi 2) can receive/download information is 100 Megabits per second. To put it another way, 100 Megabits per second is only 12.5 Megabytes per second, and even USB 2.0 which came out in the year 2000 can transfer data at 60 Megabytes per second! So USB 2.0 is almost 5 times faster than the Ethernet Port that is being used in this tutorial. If anyone is wondering, you need at least a Raspberry PI 4 to get Gigabit Ethernet speeds, Or you can use any PC that was produced in 2010 or later. (at least according to Google that is what year Gigabit Ethernet Cards became the common standard in all new PCs) Great Tutorial! Thank you for taking the time to make this video! Cheers P.S. - For anyone reading this, do not mistake USB 2.0 for the more common USB 3.0 (or higher) that we commonly see today. USB 2.0: Speed: 60 Megabytes per second. Released In: 2000 USB 3.0: Speed: 640 Megabytes per second. Released In: 2008
@dorvinion
2 жыл бұрын
I love this idea Got a Pi3 that I really don't know what I want to do with. Now I think I might have an idea. My kid does a particular browser based math game and the 14 year old laptop I currently let her use is - well its pathetic, barely runs the game, the power cable comes out all the time and the battery is dead(removed) so its frequently experiencing dirty shutdowns. Configure it as you describe then enable the Overlay File System enabled so powering off the pi/monitor can be simply flipping a switch on a power strip I can use one of the many cheap SD cards I have laying about since I wouldn't care about writes, capacity, or bootup time. Since the Pi only connects to the VM, and since I control Proxmox I could shut the VM down whenever I want such as bedtime or loss of privileges. Only downside I foresee is 2.4GHz WIFI may not cut it and I'd have to run Cat 6 to the room (which is not a bad idea), or I'll have to give her a Pi4 1GB (which I will soon be freeing up)
@apalrdsadventures
2 жыл бұрын
For purely web browsing the Pi 4 might be good enough on its own. I don't think I'd want to use a Pi 3 daily, but the 4 is improved fairly significantly. As for bandwidth, I measured about 1-10Mbps depending on screen activity (full screen video taking much more bandwidth), so 2.4Ghz 802.11N should be acceptable but G would probably stutter sometimes.
@RManPT
3 ай бұрын
Would this still work on rpi5 with bookworm? Is it ok to have the X server although bookworm works on Wayland? I have a perfectly working setup based on this post and am wondering if updating the previous version of raspberry os to bookworm would allow me to just take the SD and run it on rpi5. Any thoughts? Ty
@LifeWithMatthew
Жыл бұрын
great video! I'd love to see how this ran using a pi 3 or 4. It'd be great if there was a way to use a very low powered device like the pi remoting into a VM like that to could work as a daily driver for basic web browsing (such as youtube) and office work.
@apalrdsadventures
Жыл бұрын
I finally got a Pi 4 pretty recently, so I couldn't get a Pi 4 to test it when the video came out. But I did test with the SPICE viewer on my workstation, and even then, the SPICE client still isn't a perfect experience for youtube playback since the protocol is designed for remote desktop usage, and prioritizes visual quality (i.e. no aliased or blurry fonts) over framerate. Switching it to video encoding or partial video encoding results in fast compression with poor quality during motion and then it switches back to lossless compression once the bitrate allows, but it's still really designed to deal with desktop animation effects and not full screen video. That said, for everything but full screen video playback, SPICE works perfectly fine and the Pi 3/4 are perfectly adequate clients. It's about as usable as RDP in most scenarios.
@Klemorius
8 ай бұрын
Hi ! Great video ! That help me a lot to understand how I could setup a VDI in my project but I have some questions... I would like to have my windows VM accessible to my TV. before, I have my computer directly connected to my TV (I use 2K instead of 4K) and I decided to virtualize it on my Proxmox server. So for 2K 60fps I read that is best to use a raspberry pi 4 B because of the 4K 60FPS output capability. But I want to buy the one who is sufficient in RAM for this purpose, I would like to know if you think that 1GB version is sufficient for this project to work perfecly, or, I need to go with the 2GB one ? Thank's in advance ^^
@ElizeuFreitasLinux
Жыл бұрын
Muito bom amigo, com essa solução fica perfeito.
@SilentSolution
2 жыл бұрын
Wow that's great
@apalrdsadventures
2 жыл бұрын
Thanks!
@rachidtessoudali9337
2 жыл бұрын
Awesome 👌
@apalrdsadventures
2 жыл бұрын
🙌
@paullee107
2 жыл бұрын
This is great, thank you. One thing I have trouble with while using my Proxmox VMs is… what’s the best, fastest, most like bare metal way to run a proxmox VM? I hate using the proxmox console- can’t copy/paste, slow, no sound… is remote-viewer and spice a great way? I’d love you see you cover my question - and more proxmox topics in your head! Subbed.
@apalrdsadventures
2 жыл бұрын
Well, SPICE with remote-viewer is a way better experience than VNC or the web console. It does support sound (you have to add a sound device in the VM hardware config) and USB redirection (again you have to add virtual hardware in the VM config). You can install remote-viewer on Windows or Linux and I use that for managing graphical VMs all the time from my workstation. For Linux desktop VMs it's always a pretty smooth experience as long as the client can handle the graphics decompression (the Pi 1 and 2 aren't good at this). For Windows, it's about as smooth as Windows can be without GPU acceleration, but that's more of a Windows issue. The login screen is oddly slow to animate. Overall, on a decently capable client, SPICE is about as usable as Windows Remote Desktop. Not good enough for gaming, but fine for pretty much anything else. I have two videos in progress with more remote-viewer / Pi thin client topics, and I will eventually finish building my GPU passthrough setup which should open up a lot more possibilities.
@Mr.Leeroy
2 жыл бұрын
The best experience would be to dedicate a GPU to VM and hook up a monitor to its HDMI directly. Then you won't notice much difference with baremetal.
@francescmera
2 жыл бұрын
Thank you!, I've been looking for this amazing solution for a long time. I just have a problem, SPICE gets stuck in the Raspberry and is unitilized making me have to reboot the system with the power cable. does it happen to anyone else? I'm using Raspberry 4 with Raspberry Pi Desktop OS 32 bits
@apalrdsadventures
2 жыл бұрын
If you're using kiosk mode (-k) it will do that, and it's designed to do that to prevent people from using the system outside of the SPICE client. You can remove the -k and --kiosk-quit options and replace them with a -f (fullscreen) and it will let you exit
@francescmera
2 жыл бұрын
@@apalrdsadventures Oh Thanks! I'm going to try that, I didn't think about it, but... the kiosk option seems more interesting to me😅 it's a 100% real experience as a windows
@jaroslavchytil5732
Жыл бұрын
Good work ... just small question, its suitable also for rpi zero? Or performance of zero is not enough to run it as thin client?
@apalrdsadventures
Жыл бұрын
The Zero W or Zero 2 W? It will probably *work*, but not be a great experience on the Zero / Zero W, and should be fine on the Zero 2 W. I tested it on a Pi 2.
@jaroslavchytil5732
Жыл бұрын
@@apalrdsadventures the old one :/ ... i am working on kiosk mode, all is fine but performance not so great as should be, so a am trying to find another solution ... have one rpi4 but just for kiosk its waste of power ...
@piervalentini3016
Жыл бұрын
Hi, I am trying to do this on my banana pi m2 berry with raspbian installed and it is not working, does anyone know how to make it work? It simply doesn't connect
@derekzhu7349
Жыл бұрын
Anyway to achieve audio passthrough as well as host to remote USB passthrough
@ehcs0
2 жыл бұрын
Thank you.
@apalrdsadventures
2 жыл бұрын
You're welcome!
@ThierryDiaz
2 жыл бұрын
Very nice! But do you have sound working from the VM to the pi ? Works on remote-viewer on my fedora laptop, but my thin client pi remains silent
@apalrdsadventures
2 жыл бұрын
It's because of how Pi OS handles their audio - sound defaults to the analog jack and in Bullseye it's a pain to change that (rapsi-config's sound output selection no longer does anything). The GUI has an menu widget to change the audio device but nothing on the Lite version. My newer videos use the Desktop version, and you can set the sound output you want before you delete the LXDE config, but with this video, there is no LXDE, so that's not an option.
@ThierryDiaz
2 жыл бұрын
@@apalrdsadventures Understood! Thank you very much for your simple and straightforward blog posts and videos, as well as original topics !
@mikeleboydre9688
4 ай бұрын
great video, i am trying to implement this on my Linux laptop but keep getting a "curl: (22) The requested URL returned error: 500" hope to be able to get pointed in a direction to resolve this
@elalemanpaisa
3 ай бұрын
By chance do you have a zero 2 ?
@MrOxu98
Жыл бұрын
Is audio forwarding somewhere on your to-do list for this particular setup? Im currently demoing this setup with some changes as camera surveillance live-view clients, so far works perfectly for that when the video compression is turned on in SPICE enhancements. However audio forwarding would open up a big box of possibilities for many users i think. So far all progress ive made is ive gotten the audio to work on the raspi itself, but neither pulseaudio or alsa wont play the audio from the openbox session.
@apalrdsadventures
Жыл бұрын
I haven't really gone back to look at it since I've mostly been working with x86 Debian hardware, for which audio usually *does* work properly. As far as I can tell it's an issue with the default audio device being the 3.5mm jack on the Pi, but even then audio didn't work well in Openbox.
@jimcollins7962
2 жыл бұрын
Thanks for a great video and blog. Any update on getting sound to work through SPICE to the Pi?
@apalrdsadventures
2 жыл бұрын
No update on Pi audio. I'll see if the latest update (the choose-a-VM video) works better than the Pi OS Lite version did.
@francescmera
2 жыл бұрын
I was able to fix the audio by adding the device "Audio Device" ich9-intel-hda" in Proxmox Hardware.
@apalrdsadventures
2 жыл бұрын
That's a requirement on the Proxmox side, but on the Pi side it will default to analog output and it's not simple to change to HDMI on the Pi OS Lite distribution
@bastothemax
Жыл бұрын
can I use this with a RPI 1 with 150 MB of ram?
@lordryck
2 жыл бұрын
Nice video, and web page. It was very easy to follow your steps...BUT when I run 'startx --' I get a black screen with a mouse cursor but nothing else. If I right click, I get a menu with "Terminal Emulator, Web browser, Applications, ObConf, Reconfigure, Restart and Exit". Exit really does so kiosk mode isn't being honored either. Any ideas where I went wrong?
@apalrdsadventures
2 жыл бұрын
Usually when that happens it's because the thin client script either failed to connect to Proxmox (node/proxy wrong), failed to authenticate, or the VM ID doesn't exist. If you right click and open terminal emulator, then call the thin client script, it should print out what it's trying to do and where it's going wrong. If all goes well you should see 'AUTH OK' and nothing else.
@lordryck
2 жыл бұрын
@@apalrdsadventures Awesome. Thanks. I couldn't open x-terminal-emulator so I just ran the script from the ssh window. Sure enough, auth failure. I had mistyped the username. I fixed it, saved the script and the screen automatically refreshed to my Windows VM.
@HanzFromHell
2 жыл бұрын
I'd love to see a little menu after the boot, where you can choose your vm ...
@apalrdsadventures
2 жыл бұрын
I would too. An easy way would be to use the normal desktop environment (using the full OS instead of Lite) and have desktop shortcuts to each VM you want. Not quite as hidden as the kiosk mode (since you could still use the Pi as a computer on its own), but also really easy to do.
@bennyoh7735
2 жыл бұрын
That's is truly impressive....! Could you show us how you upload Windows 10 VM into the Raspberry Pi Proxmox?
@apalrdsadventures
2 жыл бұрын
The VM is running on a normal x86 Proxmox system, the Pi is just acting as the display / input devices remotely. So it's like setting up any other Windows VM in Proxmox.
@paulmaydaynight9925
2 жыл бұрын
fun with thin clients but in 2022 just install 'nomachine' on the vm & pi2 etc the nomachine remote will hw h264 encode the screen for better remote vlc playback... give it a go with a cheap pi z2w with zram installed
@apalrdsadventures
2 жыл бұрын
nomachine isn't an open source solution, and it runs on the guest OS, not the hypervisor. Different solution for a different problem. There are plenty of proprietary solutions for remote access, which also happen to work in virtual machines. SPICE as a graphics driver can handle any OS that runs on Proxmox, as long as it doesn't require 8-bit color modes. Windows only requires drivers for the tablet pointer emulation, and older OSes can fall back to mouse emulation instead. The guest is essentially unmodified.
@richardmccreery
2 жыл бұрын
Really enjoyed the video. I have been thinking about something like this for a while as I need to have a Windows machine for work (I am a remote worker) but I want to work more with Linux outside of work. One question I have, is there a way, when the thin client boots up, to have a list of VMs available to that client that the user can choose from. Essential an option to choose either the Ubuntu VM or the Windows VM.
@apalrdsadventures
2 жыл бұрын
You could do it in a few ways. The easiest is to create a desktop shortcut on the Pi (or whatever else you use) for each script, or pass the VMID as an argument to the script. Then you'd use -f (fullscreen) instead of -k (kiosk), so you can quit when you are done. So you'd start from the Pi full install (with GUI), and you'd only need to install virt-viewer/remote-viewer and write the thinclient.sh script, not deal with openbox/etc.
@lpkampen
2 жыл бұрын
Could it be done by having multiple OSes on the client and dualboot them? Maybe more work to keep them up to date?
@apalrdsadventures
2 жыл бұрын
I've played around with how Raspberry Pi has configured their desktop environment (they are using a lot of less common packages which are more lightweight), and its definitely possible to abuse the graphical login system to have certain 'users' which automatically drop into a thin client without a desktop. Once I get the process completely sorted I'll make a video on it.
@hawksights
2 жыл бұрын
the performance comparison to an rpi4 would be interesting
@apalrdsadventures
2 жыл бұрын
I've got a few on backorder .... eventually they'll come
@brijchavda
Жыл бұрын
hi.. quick question.. How is the performance.. Would i be able to play video games running on windows VM via thin client
@apalrdsadventures
Жыл бұрын
The performance of SPICE isn't bad, but without a GPU in the virtual machine the performance of the VM itself will be poor. The first-gen Pi I'm using is pretty awful, but even with good hardware (like a Pi 4 or ebay thin client) the limitation is generally on the VM side, rendering games.
@oleksandrlytvyn532
2 жыл бұрын
thanks
@apalrdsadventures
2 жыл бұрын
Glad you liked it!
@GutsyGibbon
Жыл бұрын
Is there any reason the a Pi4 couldn't be a thin client and run PiHole at the same time?
@apalrdsadventures
Жыл бұрын
No specific reason, but you'd want to install the full Pi OS as a base and install PiHole on top (or AdGuard Home, it's better than PiHole in most ways)
@FunkyDeleriousPriest
2 жыл бұрын
I wonder if SPICE can pass through U2F/FIDO/Yubikeys
@apalrdsadventures
2 жыл бұрын
The answer is Yes, and I have a video on generic USB passthrough in SPICE that drops Friday. In short, SPICE can redirect raw USB devices from the client to the guest, and it doesn't rely on the client or hypervisor having a driver for the USB device either, unlike some other remote access solutions that only work with mass storage / HID / specific device classes.
@KeeperOfTheGate
2 жыл бұрын
Thanks for the video. I have a pi4 8gb that just arrive. I have a Linux VM I want to access using your method. I think the performance should be better than the pi3.
@apalrdsadventures
2 жыл бұрын
I did some testing on a better workstation and found that Linux VMs can be completely smooth (the limitation is the CPU performance for video decoding on the client and/or encoding on the hypervisor), but Windows VMs were never smooth without GPU acceleration on the VM side (I didn't try it, but turning off Windows Aero / using the Windows Basic theme should theoretically help a lot). It's not low latency gaming smooth, but youtube playback and desktop tasks were great on an Ubuntu VM.
@KeeperOfTheGate
2 жыл бұрын
@@apalrdsadventures Thanks for the update. I have my GPU passthrough, so I will see how it goes. It's mainly Linux that I'm trying to connect to. I will let you know how it goes.
@apalrdsadventures
2 жыл бұрын
Good luck!
@NoorquackerInd
2 жыл бұрын
I should bamboozle my slightly-less-techie brother by doing this but with x11vnc to my PC and convince him that I got Minecraft with shaders running on the rpi with "Java GCC ARM with OpenGL ES tricks", some fancy terms I pull out of nowhere in order to sound cool
@JMX246
7 ай бұрын
Thanks for posting - I got this working but when I click on Shell in my PVE and download the spice shortcut file there is no "vv" extension - any ideas ?
@apalrdsadventures
7 ай бұрын
It may not add an extension on Linux, but it should still be openable in remote-viewer
@JMX246
7 ай бұрын
@@apalrdsadventures Im on OSX Ventura 13.6.2 but yes agreed - cheers (it works fine)
@alainaoun1023
Жыл бұрын
Thanks for the great videos! They are really helpful. I am having a problem making the setup for dual monitor. I am trying to use REMINNA with full screen (dual screen) option enabled. However, when using OpenBox the full screen is using one monitor only, while in a regular (Raspbian) desktop environment, the two monitors are being used. Any idea on how to solve this issue?
@apalrdsadventures
Жыл бұрын
I didn't test dual-screen configs, but you should be able to keep lxde and strip it down enough to not need openbox
@kym8873
2 жыл бұрын
Thanks for sharing. Is the rpi can control vm reboot and how connect the thin client usb devices?
@apalrdsadventures
2 жыл бұрын
vm reboot can be done by API endpoints here - pve.proxmox.com/pve-docs/api-viewer/index.html#/nodes/{node}/qemu/{vmid}/status - if you want to write a script to do that I have a separate video on USB that just published today
@DerrickHayden
6 ай бұрын
Can spice be used along with GPU passthrough on a Windows VM?
@apalrdsadventures
6 ай бұрын
eh kinda. You can enable a SPICE GPU still, but Windows will see it as a separate GPU and may not hardware accelerate windows that are displayed on the SPICE output.
@janvanveldhuizen_visma
2 жыл бұрын
I really like it, and have it running on a Pi3B, connecting to an Ubuntu VM. But it is really slow. Mouse clicks are lagging, and I thought dragging windows didn't work, until I found out just to be patient. Maybe you can write a blog on performance tips and tricks. I will try my Pi4 later this week.
@apalrdsadventures
2 жыл бұрын
On a Pi 2 I found that Ubuntu VMs were quite usable? Maybe it's a VM side issue (more RAM / CPU needed in Proxmox)? Windows is just slow when it doesn't have hardware acceleration, and it loves to animate things for fun which really slows down the display stream.
@janvanveldhuizen_visma
2 жыл бұрын
@@apalrdsadventures CPU usage 0.09% of 8 CPU(s) Memory usage 90.44% (1.81 GiB of 2.00 GiB) Maybe I should add more Ram. And the Guest Agent is not installed yet.
@apalrdsadventures
2 жыл бұрын
I've done all of my testing with Ubuntu 20.04 (Live booted, not installed) with 2 GiB RAM and 4 vCPUs (8 total on the host). No guest agent installed, although it's not needed for SPICE on Linux. You should make sure 'use tablet as pointer' is selected in Options in Proxmox (this should be the default), this will make the client draw the cursor instead of the VM. I'd generally recommend against using 'videostreaming' mode initially. General desktop performance is usually worse due to the compression overhead, but full screen video playback and wild desktop animations are faster but also looks awful due to the compression artifacts. RAM usage seems very high, can you add another GiB to the VM and see if that helps? Without the guest agent I don't think Proxmox knows if the RAM usage is 'real' or not, since Linux will eventually fill extra RAM with the filesystem cache until it needs to reallocate the RAM. Running 'free' in the VM will tell you 'free' (how much is actually complete unused) but also 'available' (how much an application could allocate now and not overrun memory, since the kernel would dump its file cache), and 'available' is the 'real' number for practical purposes. WiFi maybe? I tested only with wired networking, the Pi has 100Mb and that was adequate.
@janvanveldhuizen_visma
2 жыл бұрын
@@apalrdsadventures The settings are correct. But I tried something different: I took another SD card, which is faster. That helps. Not dramatically, but it is noticeably faster.
@apalrdsadventures
2 жыл бұрын
That's curious, I wonder why the Pi would be using its SD card at all once it's booted and everything is running
@andrescalapt_
2 жыл бұрын
This is a nice walkaround for what I'm trying to achieve. How to access the Proxmox itself graphically and remotely :) ideias? thanks
@apalrdsadventures
2 жыл бұрын
I'd generally recommend using a remote access VPN to connect back to your network for anything you aren't intending to expose to the world, instead of using a reverse proxy or just exposing it.
@andrescalapt_
2 жыл бұрын
@@apalrdsadventures thank you for your input. I'll explore that ideia. KZitem may have it already ;) congrats
@goowatch
2 жыл бұрын
Gracias por compartir tu experiencia. Tengo una pregunta con el cliente re Spice: ¿De qué manera se debe configurar el servidor para que no genere direcciones aleatorias para conectarme y poder conectarme usando el enlace que se genera la primera vez de manera estática?
@apalrdsadventures
2 жыл бұрын
Proxmox runs a SPICE proxy for authentication, so you always need to query the API to download a file which contains the connection and authentication information
@goowatch
2 жыл бұрын
@@apalrdsadventures gracias por tu respuesta. ¿Sabes dónde puedo conseguir información al respecto? Lo que intento es hacer una conexión similar a un VNC de manera local pero a través de Spice. Lo que sucede es que el proxy cambia los datos con cada conexión tal como me has explicado.
@apalrdsadventures
2 жыл бұрын
If the VM is configured for SPICE, clicking the 'Console' button in Proxmox will download a configuration file which opens in remote-viewer. That's the easiest way to use SPICE. Otherwise, you can modify the thinclient.sh script in this video and double-click it to launch a SPICE session to your favorite VM.
@duckyvirus
2 жыл бұрын
well.... similar setup to what i've done. but I have a problem, and implementing your method changed nothing. using kiosk mode with remote-viewer on a Raspberry Pi USB redirection does not work. in kiosk mode its supposed to be automatic. but it's not. if i run it (on my implementation or yours) [to note the only difference is i used their script instead of yours and it's on a 3B pi] without kiosk mode i can goto file->usb and select the device without issue. maybe i'm missing something stupidly simple. did you ever get that to work?
@apalrdsadventures
2 жыл бұрын
I actually have a video dedicated to USB redirection that drops Friday, but I'm guessing you've already gone through the steps I walk through in that video. I found that redirect on connect works fine (in kiosk or fullscreen mode), but auto redirect didn't work in either mode. I ended up using -f (fullscreen) instead of -k (kiosk) so the menu is available to redirect. There aren't many configuration options available anyway, and closing the viewer will cause it to reopen anyway due to the run loop. If you just need specific devices to pass through and they are permanently connected to the Pi, you can rely on redirect on connect in kiosk mode.
@duckyvirus
2 жыл бұрын
@@apalrdsadventures i'll be sure to check out Fridays video, but yes. i removed -k --kiosk.... options and used -f to fix just sorting out a python script and GPIO button to power the pi down now for the complete package.
@apalrdsadventures
2 жыл бұрын
You could mount the filesystem read only and avoid the issue entirely
@duckyvirus
2 жыл бұрын
@@apalrdsadventures now that is a decent option. but i'm already done the super complex (10-15line) python script lol.
@duckyvirus
2 жыл бұрын
@@apalrdsadventures current issue.... trying to use dialog to allow for a selection of which VM.... never get a chance to see it... annoying .bash_profile lol
@DiyintheGhetto
2 жыл бұрын
Hello, I have a question. Is it possible to have a login after bootup so if they put in a username of one kind it can start a ubuntu session, But if it inputs a different username that can start a windows session? Also I'm a new Subscriber now.
@apalrdsadventures
2 жыл бұрын
It's not hard at all with a console login. Create a Linux user on the local system (the Pi) for each option, create a separate thinclient.sh and bash_profile in each user's home directory, and change the script to point to a different VM ID. Then, when a user logs in on the terminal, it will automatically call their particular thinclient.sh and connect to the VM configured in that script. If you want a graphical login, you'll need to do a bit more work to get the graphical login to launch the window manager but not the desktop environment.
@paulstelian97
2 жыл бұрын
@@apalrdsadventures Can't the graphical display manager launch Openbox which itself calls the remote-viewer and the shenanigans in the script anyway?
@apalrdsadventures
2 жыл бұрын
Yes, you can configure LightDM to launch Openbox + configure that to launch the thin client, but it's more configuration work to get it to stop launching the desktop environment.
@paulstelian97
2 жыл бұрын
@@apalrdsadventures The config sounds like you ARE launching a desktop environment: Openbox. You've just configured it to itself open up remote-viewer in kiosk mode.
@apalrdsadventures
2 жыл бұрын
Openbox isn't a desktop environment on its own, usually it's launched (on the Pi at least) by LXDE which also launches lxpanel and pcmanfm. It seems like you should be able to launch the thin client script by creating a ~/.config/lxsession/LXDE-pi/autostart file and removing the calls to lxpanel and pcmanfm so the desktop menu and background/icons don't exist. That would be per user, so each user would have their own thinclient.sh and therefore each user would launch into their own remote session. I've never worked with LXDE though. You could also just put the thin client script on the desktop and open it, depending on how much you want to completely remove the Pi's desktop from the user experience.
@shuaiyuanwang190
2 жыл бұрын
Can the sound problem be solved? The virt-viewer opened by openbox seems to have no sound, add a sound card to the Proxmox side
@apalrdsadventures
2 жыл бұрын
Adding a sound card to Proxmox is the first step, and after that audio should work on most operating systems, but Raspberry Pi OS is .... special... For a long time, Pi had a single ALSA sink which went to the GPU which would select either the HDMI out or PWM (analog) out with Pi-specific commands. With Pi OS Bullseye, they switched to two ALSA sinks and the first one is the analog out, so if the software isn't actively selecting a sink, it will go to the analog out. I wasn't able to get remote-viewer to respect either ALSA or PulseAudio defaults and choose the second sink (HDMI). I suspect it would work properly with the LXDE setup in my most recent video (if you add the sound card in Proxmox of course).
@shuaiyuanwang190
2 жыл бұрын
@@apalrdsadventures I added a sound card to Proxmox, there is no problem with the direct connection with the browser, there is sound, but there is no sound when connected with openbox.
@apalrdsadventures
2 жыл бұрын
Yes, that's what I mean about the Pi audio being more complicated than normal. If you try it on Pi OS (not Lite, the full desktop) I think it should work fine. It's not an Openbox problem necessarily, but more of the Lite OS not being configured to work with audio out of the box.
@micky1067
2 жыл бұрын
@@apalrdsadventures Hi... Thats right. I search for a long time now for a result. Hope there is a way. Maybe other OS without desktop ? But which one ? Ubuntu server is also not working.
@micky1067
2 жыл бұрын
Now I have Sound.. Juchee.. First uncomment in /boot/config.txt hdmi_drive=2, then change or build /etc/asound.conf with defaults.pcm.card 1 and defaults.ctl.card 1. Now reboot. And maybe you are lucky... :)
@johannesdormann6627
2 жыл бұрын
Could you please check the link to the blogpost? It seems brocken... Thank you :-)
@apalrdsadventures
2 жыл бұрын
Fixed!
@johannesdormann6627
2 жыл бұрын
@@apalrdsadventures Thank you so much,...
@tld8102
2 жыл бұрын
can you game on this raspberry pi thin client? like also with passed through gpu?
@apalrdsadventures
2 жыл бұрын
I'm not entirely sure yet. I am working on getting a spare GPU to test this. I'll make a video if I can get it to work. I don't have any hope for a Pi 2 to do it, but it's possible the Pi 4 will be able to. They're hard to get right now.
@joedoe4489
2 жыл бұрын
Ooh, I have been wanting to do this forever, but I did not know what it was called
@apalrdsadventures
2 жыл бұрын
It used to be way more common when computers were crazy expensive, but now it's coming back as a way to keep computing resources / data centralized and let users bring their own client without having to give unknown hardware access to sensitive data and systems (since they access everything via the VM). There are a few other solutions to this as well, but most free ones rely on remote access solutions that have to be installed/configured within the guest VM, whereas this works through the hypervisor.
@joedoe4489
2 жыл бұрын
@@apalrdsadventures Yeah, definitely. I personally do not have a practical use for it, but it is something I would love to play around with. Although it could become useful in the future if I ever have an IT job Thank you for uploading! Great video
@Prime_Tecnologia_Automacao
2 жыл бұрын
Excellent video, but when using the script to connect I got an error (bad substitution) on the line referring to TICKET="${DATA//\"/}". I did a separate test and I'm getting the DATA variable correctly.
@apalrdsadventures
2 жыл бұрын
On Pi OS? That should be pretty normal bash syntax. Is the ticket returned in DATA valid?
@Prime_Tecnologia_Automacao
2 жыл бұрын
@@apalrdsadventures, I got it, it was missing to determine the spice in the VM video. Thank you very much for the feedback.
@apalrdsadventures
2 жыл бұрын
@@Prime_Tecnologia_Automacao Glad it works now!
@shoukatali5671
2 жыл бұрын
это очень мило
@forsaken1776
2 жыл бұрын
what is proxmox running on?
@apalrdsadventures
2 жыл бұрын
Proxmox is a hypervisor www.proxmox.com/en/proxmox-ve
@HikaruAkitsuki
2 жыл бұрын
I guess Nomachine still be the best option. Still I wonder if the imaging send by the server makes the rasbery pi to struggle?
@apalrdsadventures
2 жыл бұрын
For Linux VMs, yes it's CPU bound by the image decompression on a Pi 2, but only when doing video playback. Basically anything better than a Pi 2 shouldn't struggle nearly this much. Running the client on a workstation to rule out any CPU limitations, the video playback of the display performance is great. For Windows, it's a little bit of that, but even running on the workstation, the stream is still poor if the Windows VM doesn't a GPU, since the Windows desktop relies a lot on GPU acceleration for desktop animations. Switching back to the Windows Basic theme should help with that somewhat. Windows is super resource hungry for the desktop. Nomachine (and other remote access solutions) solve a different problem than this. This is managed entirely by the hypervisor, not software running on the guest. You don't need to configure anything on the guest, and the guest doesn't need to be able to run the remote access server. It's also non proprietary.
@HikaruAkitsuki
2 жыл бұрын
Is theres any way to start on boot any third party remote desktop of any OS or it is just specificly for thinclient enabled hardware?
@apalrdsadventures
2 жыл бұрын
I'm not entirely sure what you mean. Are you talking about the OS being virtualized, or the client? None of the SPICE based setup requires thin client hardware at all, remote-viewer will run on Windows or Linux just fine, I've just set it up here to act as a dedicated thin client. You could just run it from a normal desktop OS and connect to Proxmox VMs that way.
@HikaruAkitsuki
2 жыл бұрын
@@apalrdsadventures For example my if I want to run specific virtual OS from my Virtual Machine server or workstation from my lower end windows desktop, and I don't want to setup my remote all the time because I want to use my servers OS instantly, is theres a way to trigger my computer to do so if my server is ready?
@apalrdsadventures
2 жыл бұрын
So Windows is the client in this case? You can use remote-viewer on Windows too, either by using the same script and installing bash on Windows or logging into the Proxmox UI in a web browser and clicking on the console button for the VM (which will launch remote-viewer). At least on Windows, you'd have to initiate the session.
@yorks_atheist3069
2 жыл бұрын
funny thing is you can pick a thin client up on eBay cheaper than a raspberry pi ATM
@apalrdsadventures
2 жыл бұрын
That's why I have ....... (embarrassed) ... 4 ebay thin clients on my bench now The software setup works the same on Debian too, so an ebay thin client can have a new life as an open source thin client.
@yorks_atheist3069
2 жыл бұрын
@@apalrdsadventures I'd be interested to see a video showing which ones you've selected and why. Tbh not having a ready supply of raspberry PIs has widened my horizons on some projects which isn't a bad thing
@apalrdsadventures
2 жыл бұрын
I have a video on the Dell 5060, and basically my criteria is: * has power supply included / not hard to find a compatible one * has some storage to install the OS * has 4 threads I got a good deal on 3x 5060s since the seller had a discount for buying multiple. I also bought a 3040 and filmed a teardown video already, and the four of them are making their way into my project videos.
@codester_d
2 жыл бұрын
Or just buy used Wyse thin clients that are all over eBay for less than a Pi.
@apalrdsadventures
2 жыл бұрын
The software stack (Proxmox + SPICE + Remote-viewer) will run on anything that can run Linux, so it should run just fine on a real thin client if you want to build a VDI system with all open source software. Aside from the huge backorders in Pi's and inflated pricing, the Wyse thin clients seem to be pretty similar in cost for a complete package (not missing power supply / RAM / storage), so they're definitely a viable path given the Pi shortages.
@kras_mazov
27 күн бұрын
This keyboard is like a half of a laptop.
@Mr.Leeroy
2 жыл бұрын
If someone has plans to play with this and has the ability to showcase similar setup performance on RPi 4, I'd appreciate a reply about a video.
@apalrdsadventures
2 жыл бұрын
I'll definitely make an update once the Pi 4's I've got on backorder come in.
@ShinyTechThings
2 жыл бұрын
@apalrd's adventures This is awesome, you've given me an idea and I'll mention your channel once I make the video on it taking this a few steps further and it may also have a collab with another larger channel. I did try to get in contact directly via the contact page but you don't have your email address setup with KZitem. Hit me back so we can discuss further as I'm easy to reach.
@apalrdsadventures
2 жыл бұрын
Added a contact email to KZitem
@ShinyTechThings
2 жыл бұрын
@@apalrdsadventures Awesome thanks!
@JosephSMcKnight
2 жыл бұрын
Hello, thanks for the awesome job. However I have something strange happening : the script thinclient.sh hangs at the line TICKET="${DATA//\"/}" when it is launched automatically with openbox so no spiceproxy file is generated nor remote-viewer launched. However the script works well when I launch it manually, so I have the spiceproxy file and I can then launch stratx with thinclient script modified so it just launches remote-viewer, and that works. Any idea why thinclient.sh hangs when it is launched by openbox? Thanks.
@apalrdsadventures
2 жыл бұрын
You could print the value of DATA to see what Proxmox returned, the most common cause would be a username/password error or something like that. If Openbox doesn't launch it, can you right-click on the black background and open a terminal to run the script with console output, or is that what you're already doing to run it manually?
@JosephSMcKnight
2 жыл бұрын
@@apalrdsadventures when I launch thinclient.sh, spiceprocy is created with correct values, so credetials are working. I then launch openbox with just this line: "exec remote-viewer -k..... spiceproxy" (the spiceproxy file I generated before). I don't have any terminal installed on the blak background. What is weird is that just the all in one thing doesn't work, I diid the things like you did and i'm here. Still trying to figure out what's wrong.
@apalrdsadventures
2 жыл бұрын
I recall the background having a right click menu in the default Openbox config, with the option to open a terminal. So, even though there's no background, black is still the 'desktop', and there's a bare minimum of functionality still there.
@JosephSMcKnight
2 жыл бұрын
@@apalrdsadventures Yes I know but i had no graphic terminal installed. I installed kterm and then launched thinclient.sh from the console in openbox and it's working.
@JosephSMcKnight
2 жыл бұрын
it's working from the console but not automatically
@ewenchan1239
Жыл бұрын
Thank you for this video. Stupid question: If you want to be able to say, play 1080p video via the thin client, what model of Raspberry Pi would you recommend? Your help is greatly appreciated!
@apalrdsadventures
Жыл бұрын
Soo, SPICE isn't a great protocol for perfect video playback. It tries to use lossless compression, which is great for desktops for good font rendering and such, but prioritizes accuracy over framerate. If you just want to play video, doing it on the Pi itself will be a better experience, and if you can play only h.264 video then any Pi will be able to play that back due to hardware decoding.
@ewenchan1239
Жыл бұрын
@@apalrdsadventures My thought in regards to this was in line with this video, of using the Raspberry Pi as a thin client. On my "normal" desktop, I usually have like a LOT, a LOT of tabs open, which will probably consume more RAM than what you can get on a Raspberry Pi. Therefore; if I can offload my main system to a server (which has a lot of RAM), and then I can use the Raspberry Pi to watch the videos as a thin client, then I can power down my main system and consolidate more of my systems down. So that's the thought that I had after watching this video. As I mentioned, I don't think that the Raspberry Pi would have enough RAM for all of the tabs that I typically would have open, so if you can suggest or recommend an alternative option to SPICE, that would be better for the Raspberry Pi as a thin client, that would be greatly appreciated. Thank you.
@apalrdsadventures
Жыл бұрын
If you want to try with two 'normal' desktops, you can install remote-viewer on Linux or Windows to see how performance as a thin client would be if the client-side CPU isn't a limiting factor. I've tried with a Pi 2 and it wasn't a perfect experience, but also not terrible. Even on my workstation though, SPICE wasn't a flawless video experience, so a Pi 3/4 would probably perform similarly. If your desktop is Linux, you can use x11 forwarding (such as x2go or x over ssh) to run an app remotely and draw it locally on the Pi's desktop. I'm not sure if this would be better or worse video-wise, since it would lose hardware acceleration (although the desktop CPU would be doing rendering in software, not the Pi).
@ewenchan1239
Жыл бұрын
@@apalrdsadventures Is there a reason why the video shows it using SPICE rather than noVNC? (I forget if the video mentioned the reason for that.) I didn't know if there was a solution where the server would do all of the processing for the playback and all of the thin client has to do is to receive the processed data stream over gigabit ethernet. The other problem that I'm also running into (in regards to trying to deploy Raspberry Pi as a thin client) is the lack of availability of Raspberry Pis right now. So, I might have to move up to mini PCs which uses the Intel Celeron J3455 as the CPU for a thin client deployment. (And for beginners such as myself, I would be looking at getting a Raspberry Pi 4 kit, which, all said and done, would cost as much as said Mini PC, but less performant.)
@apalrdsadventures
Жыл бұрын
Proxmox uses an HTTP(s) proxy for secure access to NoVNC, so getting 'raw' VNC access requires manually setting up a VNC port for each VM and there's minimal authentication. SPICE has much better support for remote access outside of the web GUI, and Proxmox has a TLS proxy for SPICE and generates one-time keys for access. I have some later videos in the series (there's a playlist on my channel with them) doing a similar setup on Debian, and Alpine Linux, both of which are compatible with x86-based systems. It's a similar result to this video, but doesn't require a Pi.
Пікірлер: 231