How To Setup a Windows and Linux Environment on a Tesla
No Hardware or Software Hack Required
Tesla vehicles are incredibly intelligent as they are and continue to revolutionize the technology and automotive industry. The growth of EV cars have sky rocketed given the ease to “refuel” the car, environmental benefits, savings from gas and maintenance and lets not forget the technology rich features of the car. While the car itself has a lot to present, what if I told you that I found a way to get windows to run on the car without any mods or software hacks. It just runs via the browser leveraging guacamole. No I don’t mean the delicious side to your chips but rather a neat peace of software that is completely open source and relatively easy to run. Ready to learn? Ok let’s get started.
Before I get too far down explaining the process, here is a short video that shows how it works, some of the shortcomings which I’ll discuss and more testing that needs to get done. Video link here. Also here is the source code in case you want to follow along. Also if you can be so kind to hit that follow button so you stay updated on cool articles like this one. Ok let’s begin
So lets take a look at how we’re going to structure this project.
Now there are several ways to do this but in my opinion this is the most efficieny and secure way to do it complete with SSL and two factor authentication (2FA) for that extra security. You would use your tesla’s built in browswer and visit ‘abettertheatre.come’ to get the ability to use firefox full screen. You can then setup your own domain name (free version explained in video) or use a paid one. You point that domain to cloudflare so it can obfunscate your home IP address becuase you dont want to expose that on the internet. Your request would then be sent from cloudflare to your home which would access a server, in this case a raspberry pi that hosts guacamole. I put guacamole on a kubernetes cluster but you dont need to do that at all. You can install it on any device. Once you do that you can then point your server to connect to your computer through RDP, VNC or SSH. Basically it virtualized your windows or linux computer and then sends the response back to your tesla over a secure connection. Ok let’s break down these steps a little further.
- Ensure you bookmark ‘abettertheatre.com’ on your tesla’s built in broswer and access it later on with ease. Ensure you hit full screen mode.
- Second sign up for the free cloudflare tier. When you sign up it will walk you through the setup instructions to point your domain’s DNS servers to cloudflare. It may sound intimidating but its really simple.
- Get your domain name like mytesla.com or bobstesla.com or whatever your want. There is a webite that allows you to sign up for a free domain name for a year. Instructions are in the video above but here is the link to the site. Also setup SSL via letsencrypt
- Install guacamole on your server which could be an old laptop, a raspberry pi or anything else laying around. I use a k3s cluster but its a bit overkill. A single pi will work just fine. Here are the instructions to setup guacmole on any device you choose. There are far too many devices to cover so i’ll paste the official link for installation here.
- Once you have guacamole installed you can setup 2FA within the software. You can then add your computer devices whehter it be windows or linux (mac is not supported at this time) and access your device remotely.
- Head over to settings and connections, just populate the protocol, IP address of the laptop you want to use and any auth protocols. Then before you know it you’re on a windows device and hoping coding away in VS code
So to summarized we’re essentially looking to virtualized our home computer over the internet and to a client using the browser. The client in this case is the tesla browser. However while this sounds cool, its not perfect. There are a few downsides to this setup.
First. I havent been able to find a way to use a keyboard and mouse yet. If or when that is supported then this would almost remove the need for me to carry around my laptop. I could pull over at by the ocean view, whip out my laptop and just use that to do work in my telsa. However, its just not supported yet.
The second piece is there is an issue with latency. As a result you’re not playing any steam games on your tesla but if you want to browse documents or even code a little, you can do that if you dont mind the touch interface and willing to overcome the next issue
Third, the onscreen keyboard doesnt auto populate when you click on an input field. You have to keep bringing it up which can get a little irritating after a while.
So all in all i’ll likely still travel with my ipad pro or laptop for work on the go but the novelty of being able to access your home computers for quick reference is incredibly cool. The other really big usecase I have is I have a shortcut that automatically goes to my home asssistant at home so it allows me to have access to my garage door openers, lights and more right from my screen.
What do you think? do you see a lot of use for this? Again dont forget to follow me on here and subscribe to my channel. Thanks for reading