this post was submitted on 03 Dec 2024
1073 points (99.2% liked)
Technology
59972 readers
2504 users here now
This is a most excellent place for technology news and articles.
Our Rules
- Follow the lemmy.world rules.
- Only tech related content.
- Be excellent to each another!
- Mod approved content bots can post up to 10 articles per day.
- Threads asking for personal tech support may be deleted.
- Politics threads may be removed.
- No memes allowed as posts, OK to post as comments.
- Only approved bots from the list below, to ask if your bot can be added please contact us.
- Check for duplicates before posting, duplicates may be removed
Approved Bots
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Hmm. Switchable graphics. Do you mean like integrated & GPU? I didn't think that could affect dual screen setup. Guess maybe it could? Idk.
Most laptops with discrete Nvidia and AMD GPUs also have onboard/integrated graphics and only use the Nvidia/AMD GPU when something graphically-intensive is happening (playing a game, video editing or encoding/decoding, etc). They call this "hybrid graphics".
However, the HDMI port on the laptop (as well as the USB-C graphics) is wired directly to the Nvidia GPU (I'll call this the "dGPU" from now on). This means that when an external monitor is plugged in but nothing graphically intense is being done, the screen is rendered on the iGPU, then sent to the dGPU to send over the HDMI port.
The hand-off between the dGPU and iGPU (called "reverse PRIME") is basically voodoo magic. People have tried to get it working in Linux, but there's a bunch of issues with it.
To get dual monitors working properly on my work laptop (Lenovo X1 Extreme Gen5 with an RTX3050), I have to go into the BIOS and force it to only use the dGPU (disable the hybrid mode). If I don't do that, the external monitor renders at maybe 5fps? A coworker got it working by instead forcing the Nvidia card to always use a high clock speed for the RAM instead of reducing it to save power, but I haven't tired that.
This is a laptop-specific problem, only for laptops with hybrid graphics. I have no problems using three monitors on a desktop PC.
The Framework laptops with AMD dGPU has a port on the back of the laptop that comes directly from the dGPU, but you can also have an HDMI module on the side of the laptop, and it outputs to my 4k TV just fine (I guess depending on distro/setup, but Bazzite does it automagically). It uses both cards dynamically, and will engage the dGPU if needed.
But yeah, I mean that's hardware made specifically for Linux, and the Bazzite image is specifically for FW, so...
Yeah I think Framework does it well and they've worked with AMD to have first class Linux support. AMD have submitted bug fixes to the Linux kernel specifically for the Framework laptops. For Linux, AMD is a much better choice than Nvidia. I've got a Framework 16 but don't have the dGPU.
At work I have to use a Lenovo with Nvidia graphics though, with Fedora or Windows (or a MacBook Pro, but Apple is not for me). I've got a desktop (ThinkStation P620) and a laptop (X1 Extreme Gen5).
My personal desktop PC has a GTX1080. I don't really game on it any more so I've considered buying a roughly equivalent AMD GPU second-hand to have a better experience on Linux. Honestly I'd be fine with onboard graphics but the CPU (an older Ryzen) doesn't have onboard graphics.
I didn't know basically anything in your entire comment yet you explained it pretty clearly. Thanks for a learning experience 😊
Each GPU has a limited number of display outputs (also called display pipelines or display controllers). as an example, the macbook air can only support the built-in display and one external display. This is a hardware limitation of its GPU architecture. When using multiple displays on laptops that support it, some systems can utilize both the integrated GPU and discrete GPU simultaneously to drive different displays.