I have currently a RX 6700XT and I'm quite happy with it when it comes to gaming and regular desktop usage, but was recently doing some local ML stuff and was just made aware of huge gap NVIDIA has over AMD in that space.
But yeah, going back to NVIDIA (I used to run 1080) after going AMD... seems kinda dirty for me ;-; Was very happy to move to AMD and be finally be free from the walled garden.
I thought at first to just buy a second GPU and still use my 6700XT for gaming and just use NVIDIA for ML, but unfortunately my motherboard doesn't have 2 PCIe slots I could use for GPUs, so I need to choose. I would be able to buy used RTX 3090 for a fair price, since I don't want to go for current gen, because of the current pricing.
So my question is how is NVIDIA nowadays? I specifically mean Wayland compatibility, since I just recently switched and would suck to go back to Xorg.
Other than that, are there any hurdles, issues, annoyances, or is it smooth and seamless nowadays? Would you upgrade in my case?
EDIT:
Forgot to mention, I'm currently using GNOME on Arch(btw), since that might be relevant
Better, but still shit. The main holdup right now to what I see is wayland-protocols and the WMs adding Explicit Sync support as the proprietary driver does not have implicit sync support. Its part of a larger move for the graphics stack to move to explicit sync:
Yeah, was just reading about it and it kind of sucks, since one of the main reasons I wanted to go Wayland was multi-monitor VRR and I can see it is also an issue without explicit sync :/
Yeah. I have a multi-monitor VRR setup as well and happened to have a 3090 and not being able to take advantage of Wayland really sucks. And its not like Xorg is any good in that department either so you’re just stuck between a rock and a hard place until explicit sync is in
Lets see what will happen first- me getting a 7900xtx or this protocol being merged
What sort of ML tasks exactly, and is it personal or professional?
If it's for LLMs you can just use Petals, which is a distributed service which doesn't need your own GPU.
If it's for SD / image generation, there are four ways you can go about it. The first is to rent a GPU cloud service like vast.ai, runpod.io, vagon.io etc, then run SD on the PC you're renting. It's relatively cheap, generate as much as you want in the duration you've rented. Last I checked, the prices were something like ~0.33 USD per hour, which is a far cheaper option than buying a top-end nVidia card for casual workloads.
The second option is using a website/service where the SD fronted is presented to you and you generate images through a credit system. Buy X amount of credits and you can generate X amount of images etc. Eg sites like Rundiffusion, dreamlike.art, seek.art, lexica etc.
The third option is to go for a monthly/yearly subscription offering, where you can generate as much as you want, such as MidJourney, Dall-E etc. This can be cheaper than an pay-as-you go service if you've got a ton of stuff go generate. There's also Adobe Firefly which is like a hybrid option (x credits / month).
Finally, there are plenty of free Google collabs for SD. And there is also stable horde, uses distributed computing for SD. And there's also an easy WebUI for it called ArtBot.
So yeah, there's plenty of options these days depending on what you want to do, you no longer need to actually own an nVidia card - and in fact for most users it's the cheaper option. Like say you wanted to buy a 4090, which costs ~$2000. If you instead spent that on cloud services at say $20 p/m, you can get 8.3 years of usage - and most GPUs would become outdated in that time period and you'd have to buy a new one (whereas cloud GPUs continue to get better and for as-a-service models, you could get better GPUs at the same price). And I'm not even factoring in other expenses like power consumption, time spent on maintenance and troubleshooting etc. So for most people it's a waste to buy a card just for ML, unless you're going to be using it 24x7 and you're actually making money off it.
Edit: A used 3090 is going for ~$715-850 at the moment, which works out to an equivalent of ~3+ years of image generation via cloud services, assuming you're going for paid subscription options. If you factor in the free options or casual pay-as-you-go systems, it can still work out a lot cheaper.
Same here, but it turned out a lot of frameworks like tensorflow or pytorch do support AMD ROCm framework. I managed to run most models just by installing a rocm version of these dependencies instead of the default one.
It depends. GNOME on Wayland + Nvidia runs great. But if you try the tiling manager camp, you will run into several issues in sway, hyprland. Things like having to use software mouse because insert nvidia excuse and high cpu usage by just moving the mouse.
Well... I don't know, I would recommend GNOME on Wayland or maybe KDE, haven't tried the latest Plasma 6 release, but outside that, avoid it.
This sounds like co-operative multi-tasking on a single CPU. I remember this with Windows 3.1x around 30 years ago, where the faster you moved your mouse, the more impact it would have on anything else you were running. That text scrolling too fast? Wiggle the mouse to slow it down (etc, etc).
I thought we'd permanently moved on with pre-emptive multi-tasking, multi-threading and multiple cores... 🤦🏼♂️
Native Wayland apps run great. Can't say the same about those using XWayland, as most of them suffer from graphical glitches and flickering (especially Steam and Minecraft). Secure Boot works with some manual configuration.
Discord and Steam flicker / render weird and I get massive input lag for seemingly no reason just trying to use almost any app. I stick with x11 and have little to no issue now that the Firefox offset cursor regression was fixed. I’m running a 3090 on EndeavourOS.
Plasma 6(arch) is pretty excellent. There is the bug mentioned in other comments with Xwayland that won't be (fully) fixed until the Explicit sync wayland protocol is finalized and implemented, but that should apply to any wayland compositor.
As to wayland vs x11, if you want to game or anything else that is only X11, use X11, otherwise most everything else can be use wayland.
Thank you. My laptop is EndeavourOS+KDE6 - which is solid - and I've spent today preparing to nuke my gaming desktop PC (Ubuntu and an Nvidia RTX card) to rebuild it with Endeavour tomorrow, and the only doubt I had was Wayland and Nvidia with Lutris/Heroic/Proton gaming.
Mostly good, though I’ve got a bug on my desktop. It’s a two monitor setup and if I am running a game like Minecraft full screen on the second display and close out the game Plasma crashes to the login screen. Works fine if I disable the second display. That system is running Plasma 5 - Wayland on Nixos 23.11.
Otherwise, I occasionally run into an app that just doesn’t work, but that’s about all. Sometimes it’s a Plasma on Wayland thing (like with Element) sometimes not.
Can't answer your nividia/wayland question, I'm not going back, so I'm just going to shill for my new fav bit of software.
Your 6700xt is miles ahead of my rx570, I could get mine working with some rocm and pytorch bodgery but I found fastsdcpu was just a lot less hassle for the occasional image.