Is it viable to use a gaming handheld as main dev machine?
Hello fellow devs.
I'm in need of a new machine as I had a little mishap with my notebook. For a long time, I thought on buying a gaming notebook as normally they should have the best hardware for my personal (gaming, light video edit) and professional (full stack web dev) needs.
Next week, Asus will launch the ROG Ally X officially on my country. So, I'm wondering if it could be a viable alternative.
The other possible devices would be ROG Ally (Z1 Extreme) and Lenovo Legion Go, as Steam Deck is not available here.
I work from home for a foreign company. I have a monitor, a wireless keyboard, and a usb trackball already. I bought them to use with a mac mini my previous company lend to me. I do not have a desktop and do not intend to buy one right now.
So... My questions: Does any of you have experience using a handheld device as a main dev machine? Are there any cons I'm not considering?
I'd strongly recommend against it. Nothing to do with specs or viability but psychologically you'll want to play games - they're enjoyable. You can work around that in a few ways: only use the keyboard/mouse for dev work, only play games outside the workroom, etc. it will still take a lot of self discipline, but it's nothing compared to having a different OS, physical machine, etc.
In terms of specs - if it can run vs code, you can use the remote development plugins to run things on a beefier computer if you do heavy data work, etc. I don't know if it will do video editing though.
I’d strongly recommend against it. Nothing to do with specs or viability but psychologically you’ll want to play games - they’re enjoyable.
This is my main concern, if I'm being completely honest.
But that also applies the other way arround. I'm a bit of a workaholic, so most of the time I open my current notebook on the sofa I start to code. Having a device without a physical keyboard may stop me from on working outside my workroom or coding during vacations, for example.
I have worked remotely on and off for years. Having a physical separation between the space where I work and the space where I play is an absolute must.
Beyond that - the hardware needs for development and gaming are wildly different. If you want something that's going to be good at both, you're going to either going to have to spend a lot of money or compromise heavily on quality.
The con is that it’s not very powerful. I haven’t attempted to code on a gaming handheld, but I’ve had issues with a midrange laptop being under powered. RAM is probably the biggest issue. My life improved noticeably when I upgraded my main machine to 64 GB. Granted I was doing particularly heavy work. It really depends on what you’re doing. You could get away with it for some work, but it’s going to be painfully slow for other stuff.
I personally, haven't been successful mixing my gaming rig with my main development machine.
To really succeed as a developer, I've sometimes needed to be willing to make risky changes to my development machine, that I'm not willing to do to my gaming machine.
If I absolutely had to, I could make it work. But I wouldn't do it on purpose.
The big ones that affect gaming are removing and reinstalling various runtimes (C++, .Net, Python, Java).
In most cases just getting them all installed side by side by side is great for both development and gaming.
But once in awhile, I just got a favorite game working, and it relies on the exact redistributable that I need to upgrade, tweak or reinstall to try out a new code library.
After procrastinating a couple times from such experiments, I started running separate gaming and dev boxes whenever possible.
To really succeed as a developer, I’ve sometimes needed to be willing to make risky changes to my development machine, that I’m not willing to do to my gaming machine.
My plan is to install BazziteOS (Fedora Silverblue derivative) on the device to have a "stable" OS with all the dev environment on distrobox containers or something like that.
I run Silverblue on my work laptop. I haven't really used Distrobox, I just use podman because I'm more familiar with it - under the hood though I believe they're more or less the same though. But in either case, both work just fine on it.
The amount of memory that is dedicated to the iGPU can be changed (at least on the normal ally non x)
It's a range from basically none (auto) to 8GB on my normal ally