Author Topic: Multi-monitor Systems  (Read 8558 times)

demetrioussharpe

  • Full Member
  • ***
  • Posts: 206
    • View Profile
Multi-monitor Systems
« on: 2011.05.22, 18:48:19 »
Hello all,

Is you may/may not know, I'm writing a graphic's driver framework for OS/2-eCS. One area that I do not want to leave out is support for multi-headed/multi-monitor systems. Since I've never had a need for running such systems, I do not have enough experience to know what's good/bad in such an implementation & which features would be most needed. To that end, what I'd like from you all is a basic list of features that you would like to be available in such an implementation. Keep in mind, I must create an API which allows multiple monitors to work, regardless of if the system has multiple video cards, a video card with multiple display ports, or a combination of the two. With that being said, which features would you like?

P.S.  Please also give an example of usage for each feature!
The difference between what COULD be achieved & what IS achieved
is directly relational to what you COULD be doing & what you ARE doing!

miturbide

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1154
    • View Profile
    • OS2World
Re: Multi-monitor Systems
« Reply #1 on: 2011.05.22, 19:34:35 »
Hi demetrius

My experience with multi-monitors is very basic. I had the need only for two monitors that can be an external one or a project.

I can only tell you my feature list based only on user interaction or users features, not a technical features.

Taking the experience of Windows 7 the request will be:
  • Being able to extend desktop
  • Being able to show the same on several screens
Windows 7 does this on the Multiple Screen list (check screenshot 2)

When extending the desktop:
  • Being able to adjust the screen postition (left, right, up down) when you extend your desktop (Screenshot 3)
  • An easy way to select the resolution for each screen.

The basic features:
  • Easy way to identify screens
  • Change resolution without reboot
  • Monitor orientation - landscape, portrait and the inverse ones

I'm not sure if you are asking for this kind of features.
Martín Itúrbide
OS2World.com NewsMaster
Open Source Advocate

Skype - martiniturbide
Google Talk - martiniturbide@gmail.com

demetrioussharpe

  • Full Member
  • ***
  • Posts: 206
    • View Profile
Re: Multi-monitor Systems
« Reply #2 on: 2011.05.22, 20:08:37 »
Hi demetrius

My experience with multi-monitors is very basic. I had the need only for two monitors that can be an external one or a project.

I can only tell you my feature list based only on user interaction or users features, not a technical features.

Taking the experience of Windows 7 the request will be:
  • Being able to extend desktop
  • Being able to show the same on several screens
Windows 7 does this on the Multiple Screen list (check screenshot 2)

When extending the desktop:
  • Being able to adjust the screen postition (left, right, up down) when you extend your desktop (Screenshot 3)
  • An easy way to select the resolution for each screen.

The basic features:
  • Easy way to identify screens
  • Change resolution without reboot
  • Monitor orientation - landscape, portrait and the inverse ones

I'm not sure if you are asking for this kind of features.

This is exactly the kind of feedback that I'm looking for & the pics drove your points home even better! I understood everything that you asked for, except when you mentioned inverse monitor orientation. What exactly does this mean? Please, go into as much (or less) detail as you need to.
The difference between what COULD be achieved & what IS achieved
is directly relational to what you COULD be doing & what you ARE doing!

RobertM

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2034
    • View Profile
    • A.I.BuiltPC - using OS/2 Warp Server & eComStation for Custom Web and Database Solutions
Re: Multi-monitor Systems
« Reply #3 on: 2011.05.22, 21:07:21 »
One core feature missing in the current OS/2 support is the ability to set full screen modes (whether a PM window or a VIO graphics window) to the monitor that contains the majority of the object being full-screened.

The current driver setup probably does have some portion this capability, but it is unused except via xWP's multiple desktop feature, where "invalidated" desktop areas are not used or considered when making an object full screen.
|
|
Kirk's 5 Year Mission Continues at:
Star Trek New Voyages
|
|


demetrioussharpe

  • Full Member
  • ***
  • Posts: 206
    • View Profile
Re: Multi-monitor Systems
« Reply #4 on: 2011.05.22, 21:22:01 »
Has anyone had experience with using OS/2 with multiple video cards? Is that currently possible?
The difference between what COULD be achieved & what IS achieved
is directly relational to what you COULD be doing & what you ARE doing!

miturbide

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 1154
    • View Profile
    • OS2World
Re: Multi-monitor Systems
« Reply #5 on: 2011.05.22, 21:23:08 »
"Monitor orientation - landscape, portrait and the inverse ones"

I meant to have the 4 orientation modes posible. Landscape and Landscape upsidedow. Portrait and portrait upside down. Just like rotating the monitor 90º in the 4 positions that you can..... sorry Im not good explainin it in english.

Other feature to add:
  • Autodetect quantity of monitors
Martín Itúrbide
OS2World.com NewsMaster
Open Source Advocate

Skype - martiniturbide
Google Talk - martiniturbide@gmail.com

demetrioussharpe

  • Full Member
  • ***
  • Posts: 206
    • View Profile
Re: Multi-monitor Systems
« Reply #6 on: 2011.05.22, 21:24:23 »
One core feature missing in the current OS/2 support is the ability to set full screen modes (whether a PM window or a VIO graphics window) to the monitor that contains the majority of the object being full-screened.

The current driver setup probably does have some portion this capability, but it is unused except via xWP's multiple desktop feature, where "invalidated" desktop areas are not used or considered when making an object full screen.

What do you mean? Please explain farther. Are you referring to being able to have a window moved to another monitor where it only shows that window in fullscreen mode? Is the window even shown, or is it just the client area where the data shows up at?
The difference between what COULD be achieved & what IS achieved
is directly relational to what you COULD be doing & what you ARE doing!

demetrioussharpe

  • Full Member
  • ***
  • Posts: 206
    • View Profile
Re: Multi-monitor Systems
« Reply #7 on: 2011.05.22, 21:29:52 »
"Monitor orientation - landscape, portrait and the inverse ones"

I meant to have the 4 orientation modes posible. Landscape and Landscape upsidedow. Portrait and portrait upside down. Just like rotating the monitor 90º in the 4 positions that you can..... sorry Im not good explainin it in english.

Oh, ok, I understand now. It wasn't a problem with your english, I just don't know this topic that well.


Quote
Other feature to add:
  • Autodetect quantity of monitors

On the backend, I'm trying to expose this by exporting a structure that contains a count of how many framebuffers there are & an array of pointers to each of them. I hope that this is sufficient, from the driver API perspective. With this driver interface not being used yet, there's plenty of time to try to get this right.
The difference between what COULD be achieved & what IS achieved
is directly relational to what you COULD be doing & what you ARE doing!

RobertM

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2034
    • View Profile
    • A.I.BuiltPC - using OS/2 Warp Server & eComStation for Custom Web and Database Solutions
Re: Multi-monitor Systems
« Reply #8 on: 2011.05.22, 22:36:46 »
One core feature missing in the current OS/2 support is the ability to set full screen modes (whether a PM window or a VIO graphics window) to the monitor that contains the majority of the object being full-screened.

The current driver setup probably does have some portion this capability, but it is unused except via xWP's multiple desktop feature, where "invalidated" desktop areas are not used or considered when making an object full screen.

What do you mean? Please explain farther. Are you referring to being able to have a window moved to another monitor where it only shows that window in fullscreen mode? Is the window even shown, or is it just the client area where the data shows up at?

Hi,

If you are currently running a multi-monitor setup under OS/2 (as I do), let's say you have a PM window open (any... a folder, an app, whatever), and the window is constrained to one monitor. When you full screen it, the window is full screened across both monitors, as opposed to being full screened to only the monitor it is on.

The same applies (unless something has changed recently) to using various video player apps in full screen mode (such as mPlayer). Or when switching such an app from windowed to full screen. In the case of mPlayer, that means the video is centered across both viewports on both monitors, with half the video on one, and the other half on the other monitor.

Each of those issues is of course separate, with the first probably being easier to address. And of course, the desired results would be something akin to what happens in Windows. For instance, when I am watching Netflix on my laptop, the external port is usually plugged into my TV. I have a browser window open on the LCD, and one open on the secondary viewport (ie: the TV). If I full screen the Netflix player (or YouTube video, or whatever), it only full-screens to the viewport that corresponds with the original windowed object. That allows me to watch videos on the secondary viewport, while having another browser window/folders/whatever, still viewable on the primary viewport. OS/2 currently will full screen across both and center the image - and of course, also reports the combined resolution size as one single viewport (in my case, on my OS/2 setup, that's 2560x1024, instead of (2) x 1280x1024).

Best,
Rob
|
|
Kirk's 5 Year Mission Continues at:
Star Trek New Voyages
|
|


RobertM

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2034
    • View Profile
    • A.I.BuiltPC - using OS/2 Warp Server & eComStation for Custom Web and Database Solutions
Re: Multi-monitor Systems
« Reply #9 on: 2011.05.22, 22:41:59 »
See attached...
|
|
Kirk's 5 Year Mission Continues at:
Star Trek New Voyages
|
|


demetrioussharpe

  • Full Member
  • ***
  • Posts: 206
    • View Profile
Re: Multi-monitor Systems
« Reply #10 on: 2011.05.22, 23:42:10 »
One core feature missing in the current OS/2 support is the ability to set full screen modes (whether a PM window or a VIO graphics window) to the monitor that contains the majority of the object being full-screened.

The current driver setup probably does have some portion this capability, but it is unused except via xWP's multiple desktop feature, where "invalidated" desktop areas are not used or considered when making an object full screen.

What do you mean? Please explain farther. Are you referring to being able to have a window moved to another monitor where it only shows that window in fullscreen mode? Is the window even shown, or is it just the client area where the data shows up at?

Hi,

If you are currently running a multi-monitor setup under OS/2 (as I do), let's say you have a PM window open (any... a folder, an app, whatever), and the window is constrained to one monitor. When you full screen it, the window is full screened across both monitors, as opposed to being full screened to only the monitor it is on.

The same applies (unless something has changed recently) to using various video player apps in full screen mode (such as mPlayer). Or when switching such an app from windowed to full screen. In the case of mPlayer, that means the video is centered across both viewports on both monitors, with half the video on one, and the other half on the other monitor.

Each of those issues is of course separate, with the first probably being easier to address. And of course, the desired results would be something akin to what happens in Windows. For instance, when I am watching Netflix on my laptop, the external port is usually plugged into my TV. I have a browser window open on the LCD, and one open on the secondary viewport (ie: the TV). If I full screen the Netflix player (or YouTube video, or whatever), it only full-screens to the viewport that corresponds with the original windowed object. That allows me to watch videos on the secondary viewport, while having another browser window/folders/whatever, still viewable on the primary viewport. OS/2 currently will full screen across both and center the image - and of course, also reports the combined resolution size as one single viewport (in my case, on my OS/2 setup, that's 2560x1024, instead of (2) x 1280x1024).

Best,
Rob

So from what I'm understanding (& based on the pics), you want to be able to choose between these two types of viewing, but you'd like for both of them to be possible, correct?
The difference between what COULD be achieved & what IS achieved
is directly relational to what you COULD be doing & what you ARE doing!

warpcafe

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 746
  • Failure is not an option.
    • View Profile
Re: Multi-monitor Systems
« Reply #11 on: 2011.05.23, 11:51:00 »
Hi Dee,

not sure if that is a feature that would be on your side of the fence, but... at work, on Windows, the driver we use (Intel IIRC) provides us with an additional window button (close to the upper right edge of window title bar) which, when clicked, moves the current window to the next screen. (That kinda saves you from dragging windows around your extended desktop).

Example:
- I have a 22" wide screen TFT attached to my laptop
- Both act as an extended desktop, with each having its own different resolution
- As soon as the laptop detects the external TFT being attached, it
 -- a) extends the desktop
 -- b) provides the additional window button (always only for the window having the focus)

Button behaviour:
- When I launch the browser, its window appears -say- on my laptop screen
- When it has the focus (obviously immediately when it's just launched) the new button appears
- Clicking on the button will move the window onto the external TFT's screen
- Clicking the button again will make the window being moved back onto my laptop's screen
(There is some logic around the screen-swapping, as the window is scaled and moved in accordance with where/how it was on the previous screen. And, oh yes, that button is only activated for non-fullscreen windows...)

But again, as I said, I am not sure if you are the correct recipient for the "button thing"... at least I guess you would need to provide an API function for it. (?)

Other than that, my experience with multiple screen on OS/2 is limited to that very special moment when I had a Matrox multihead card being returned by a customer: I thought "why not give it a try", plugged it into my desktop and made it work ...(drumroll)... only to discover that I was only able to make it clone the desktop. Not extend it. I said "what kinda crap is that?!". And that's it. :-P

Cheers,
Thomas
"It is not worth an intelligent man's time to be in the majority.
By definition, there are already enough people to do that"
- G.H. Hardy

demetrioussharpe

  • Full Member
  • ***
  • Posts: 206
    • View Profile
Re: Multi-monitor Systems
« Reply #12 on: 2011.05.23, 19:07:26 »
Hi Dee,

Hello!


Quote
not sure if that is a feature that would be on your side of the fence, but... at work, on Windows, the driver we use (Intel IIRC) provides us with an additional window button (close to the upper right edge of window title bar) which, when clicked, moves the current window to the next screen. (That kinda saves you from dragging windows around your extended desktop).

Example:
- I have a 22" wide screen TFT attached to my laptop
- Both act as an extended desktop, with each having its own different resolution
- As soon as the laptop detects the external TFT being attached, it
 -- a) extends the desktop
 -- b) provides the additional window button (always only for the window having the focus)

Button behaviour:
- When I launch the browser, its window appears -say- on my laptop screen
- When it has the focus (obviously immediately when it's just launched) the new button appears
- Clicking on the button will move the window onto the external TFT's screen
- Clicking the button again will make the window being moved back onto my laptop's screen
(There is some logic around the screen-swapping, as the window is scaled and moved in accordance with where/how it was on the previous screen. And, oh yes, that button is only activated for non-fullscreen windows...)

This is a very interesting idea & I feel that something like this could be considered to be part of the framework; I really like this idea a lot! Is this button positioned on the left side of the maximize/minimize/close button cluster? It ONLY displays on the window that  has focus? Is this button always available, or does it only work on extended desktops or something like that?


Quote
But again, as I said, I am not sure if you are the correct recipient for the "button thing"... at least I guess you would need to provide an API function for it. (?)

I'm under the assumption that no one will use my driver work (regardless of quality) unless I build a solid, useable userspace API around it (& configuration apps to control the features & functions). You've come to the right place, I'll be sure to put this on my feature list when I start writing the userspace support portions.


Quote
Other than that, my experience with multiple screen on OS/2 is limited to that very special moment when I had a Matrox multihead card being returned by a customer: I thought "why not give it a try", plugged it into my desktop and made it work ...(drumroll)... only to discover that I was only able to make it clone the desktop. Not extend it. I said "what kinda crap is that?!". And that's it. :-P

Yeh, that would've been my response too! What good is it to have multiple screens, if the only thing that the extra screen(s) can show is the same stuff that's on your primary screen??? Hopefully, I can do better!
The difference between what COULD be achieved & what IS achieved
is directly relational to what you COULD be doing & what you ARE doing!

RobertM

  • Global Moderator
  • Hero Member
  • *****
  • Posts: 2034
    • View Profile
    • A.I.BuiltPC - using OS/2 Warp Server & eComStation for Custom Web and Database Solutions
Re: Multi-monitor Systems
« Reply #13 on: 2011.05.23, 21:32:52 »
One core feature missing in the current OS/2 support is the ability to set full screen modes (whether a PM window or a VIO graphics window) to the monitor that contains the majority of the object being full-screened.

The current driver setup probably does have some portion this capability, but it is unused except via xWP's multiple desktop feature, where "invalidated" desktop areas are not used or considered when making an object full screen.

What do you mean? Please explain farther. Are you referring to being able to have a window moved to another monitor where it only shows that window in fullscreen mode? Is the window even shown, or is it just the client area where the data shows up at?

Hi,

If ... still viewable on the primary viewport. OS/2 currently will full screen across both and center the image - and of course, also reports the combined resolution size as one single viewport (in my case, on my OS/2 setup, that's 2560x1024, instead of (2) x 1280x1024).

Best,
Rob

So from what I'm understanding (& based on the pics), you want to be able to choose between these two types of viewing, but you'd like for both of them to be possible, correct?

Not particularly concerned if the current method works. That I am presuming should still be easily achievable by manually resizing the window across viewport. More concerned with (which OS/2 currently doesn't do) constraining a full screen request to a single monitor.
|
|
Kirk's 5 Year Mission Continues at:
Star Trek New Voyages
|
|


demetrioussharpe

  • Full Member
  • ***
  • Posts: 206
    • View Profile
Re: Multi-monitor Systems
« Reply #14 on: 2011.05.24, 03:47:57 »
Not particularly concerned if the current method works. That I am presuming should still be easily achievable by manually resizing the window across viewport. More concerned with (which OS/2 currently doesn't do) constraining a full screen request to a single monitor.

Ok, to be clear, you'd like the capability to make the app maximize, but be confined to just one screen?
The difference between what COULD be achieved & what IS achieved
is directly relational to what you COULD be doing & what you ARE doing!