this post was submitted on 21 Sep 2024
22 points (95.8% liked)

Ask Experienced Devs

1232 readers
1 users here now

Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient

founded 1 year ago
MODERATORS
 

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?

Thank you!

top 19 comments
sorted by: hot top controversial new old
[–] [email protected] 9 points 2 months ago (1 children)

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.

[–] [email protected] 3 points 2 months ago (1 children)

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.

[–] [email protected] 2 points 2 months ago (1 children)

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.

[–] [email protected] 1 points 2 months ago

The second paragraph kinda depends on how much horsepower they need for dev or gaming. If they play mostly indie games and don't need cuda cores as an example, a steamdeck-like would serve pretty effectively in both roles, especially with the docking station.

[–] [email protected] 5 points 2 months ago (2 children)

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.

[–] [email protected] 2 points 2 months ago (1 children)

Can you give an example of what you mean by a risky change?

[–] [email protected] 1 points 2 months ago* (last edited 2 months ago)

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.

[–] [email protected] 2 points 2 months ago (1 children)

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'm not sure if it's going to work, though.

[–] [email protected] 2 points 2 months ago

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.

[–] [email protected] 4 points 2 months ago

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.

[–] [email protected] 3 points 2 months ago* (last edited 2 months ago) (1 children)

A Steam Deck or similar? Yes.

An old Tiger Electronic game? Probably not.

[–] [email protected] 6 points 2 months ago (1 children)

Dang it...

How about a Gameboy? I mean... It has a printer.

[–] [email protected] 2 points 2 months ago

Absolutely! You can print out punch cards that you have to manually punch out after printing for your gigantic room-sized ENIAC to run.

[–] bestboyfriendintheworld 3 points 2 months ago (1 children)

The ROG Ally X has 12 GB of RAM. That could be an issue if you run lots of VMs, docker images, big databases, etc.

1x USB 3.2 Gen 2 Type-C support DisplayPort™ / power delivery

1x Type C support USB 4 (Thunderbolt™ 4 compliance, DisplayPort™ 1.4 with Freesync support, Power Delivery

Connectivity for external devices seems good. Although it doesn’t say what resolutions are supported for external displays.

[–] [email protected] 3 points 2 months ago (2 children)

It is 24GB of RAM (12 GB x 2), but from my research, 8GB are dedicated to video memory. So it leaves 16GB "usefull" for development.

Also, display is not a concern as my monitor is 1080p.

[–] bestboyfriendintheworld 5 points 2 months ago* (last edited 2 months ago) (1 children)

If you end up doing this, you should write a blog post about how it went after a couple of months. It’s an intriguing idea.

[–] [email protected] 2 points 2 months ago

Oh, for sure!

I did see lots of youtube videos using theese handhelds as "gaming pcs", or from someone whose main workflow is office work... I'm having a hard time find any article about general development. At max, I did find some reddit comments saying they use a Steam Deck for gaming dev, which makes a lot of sense if the Deck is the target.

[–] silverdiamond 2 points 2 months ago (1 children)

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

[–] silverdiamond 2 points 2 months ago

In terms of external displays i believe you wont have a problem with them considering on the x you could hook up a (standard usb 4) egpu and even on the non x with a dock you can get a 4k60 display (depending on the dock and maybe even freesync) I don't think the cpu performance is the limit (it performs on par with a i9 4 generations behind but with 30W), nor the ram (windows paging is what makes win11 usable on that when gaming), although battery life on my z1e ally (non x) is awful but when plugged in that won't matter. What I am concerned about is longevity of the hardware, its not like a standard laptop where the ram is socketed, the wifi card is socketrd (which I HATE, please do put that in mind this is a mediatek wifi card which isn't replacable and has latencies that spike so bad for absolutely no reason and it makes remote desktop unbearable) although you can always plug in a usb to ethernet NIC on that hyptothetical dock youd be using it on