I am inquiring about multi or extended monitor use in Haiku. Some of the posts that I’d seen are quite old and the answers imcomplete.
I have a AMD Radeon RX 580 Series graphics card in a desktop machine (not a laptop). When I run Haiku, I see good support, but the same thing, i.e. mirrored, on both monitors.
I’d like to have separate desktops, i.e. extended monitors. How is that support? I didn’t see the option to do that.
Haiku does not yet support multiple monitors.
There have been discussions about it for years,but it’s a thing that’s not so easy to implement and need major changes in app_server,if I remember right,so it’s not yet implemented.
The Nvidia driver in Haiku does support dual monitors, I used to use it on an older system I had. The way it works from what I understand is it creates a desktop the resolution of both outputs, so it’s a bit of a ‘hack’ within the driver itself. I think you are right however that for proper multi monitor support it would require the changes you mentioned.
It works fine on a small selection of video cards from the early 2000s (early Radeon, early NVidia cards, maybe some others from the same era), with a few limitations. Not supported on any modern hardware.
So saying it’s not supported at all is a bit misleading. However, it’s not usable in a practical way nowadays due to lack of support in drivers for current hardware.
The screen preferences allows you to select the video mode for different video outputs separately. But only on the few videocards where the driver can do it.
The ati multi-monitor is very hacky. The screen preferences app detects the private hooks of the ati driver, and sends ati-driver specific commands to the accelerant via unrelated flags on the monitor’s resolution timing.
It’s pretty hacky which is why we never grew on it. The app_server needs to natively support multiple monitors via a well defined API (likely in a way compatible with a drm/dri (linux drm, not encryption) compatibility layer)
At minimum, the accelerants need new hooks for managing multiple displays.