It is currently November 26th, 2022, 6:33 pm

Dual Displays Incorrectly Identified

Report bugs with the Rainmeter application and suggest features.
kjake
Posts: 1
Joined: October 5th, 2009, 3:23 am

Dual Displays Incorrectly Identified

Post by kjake »

I rebooted today and rainmeter started displaying my skin on the secondary (right) monitor instead of the primary (left) monitor. Try as I might with swapping DVI connections, reordering, reapplying settings, etc within Windows, my skin always appeared on the right monitor, whether it was marked as primary or not. I also tried manually dragging components of the skin over to the left monitor, made sure 'Save Position' was on, exited Rainmeter and re-opened, but the component would just display on the right monitor again.

Eventually, by adding @2 to all the X's in the Rainmeter.ini, I was able to get the skin back onto the left monitor.

Currently running Rainmeter 1.1 rev 223 (64-bit), but was running 1.1 rev 213 (32-bit) when this started.

System Stats:
Windows 7 64-bit
4GB of RAM
Xeon X3200 - Quad Core @ 2.40 Ghz
GeForce 9800 GT with 190.38 drivers

Thanks to DragonMage for helping me in IRC :)
rakka1988
Posts: 3
Joined: November 8th, 2009, 7:49 am

Re: Dual Displays Incorrectly Identified

Post by rakka1988 »

Same problem here.

My primary monitor is on the right side with resolution (1920x1080); while my secondary monitor is on left side with resolution (1280x1024).

Using 64bit widnows 7 and rainmeter 1.1 64bit.
Bacones
Posts: 1
Joined: November 11th, 2009, 9:15 pm

Re: Dual Displays Incorrectly Identified

Post by Bacones »

Same problem 2.

Windows 7, 64 bits.
User avatar
spx
Developer
Posts: 686
Joined: August 15th, 2009, 2:41 pm
Location: Osaka, JPN

Re: Dual Displays Incorrectly Identified

Post by spx »

Monitor's order changes because of the system or the display driver, so I'd like to correct.

I prepared the multi-monitor information reporting program.
Could you report this output and post a screenshot of the "Display Properties"?
(I'd like to know how these monitors are recognized (order, state, etc.) on the system...)
MultiMonReport.zip
(If MultiMonReport_x64.exe does not work correctly on 64bit platform, try MultiMonReport.exe.)

Sample 1:
Sample1.jpg

Code: Select all

******************************
MultiMonReport v1.0

Notes:
- @0 means the virtual screen (= desktop). It's the rectangle that combined all monitors' rectangle.
- @1(2,3,...) means the specified monitor's screen.
- The order this program outputs may be different from display properties' one.
- Importantly, @1 may NOT mean the primary monitor's screen.

- OLD-method is compatible with Rainmeter-1.1(r306).
******************************


= Dump of EnumDisplayDevices / EnumDisplayMonitors ==================

******************************
EnumDisplayDevices API
\\.\DISPLAY1 - NVIDIA GeForce 6800 LE : ACTIVE PRIMARY PRUNED 
\\.\DISPLAY2 - ZoneScreen virtual display driver : ACTIVE 
\\.\DISPLAY3 - NVIDIA GeForce 6800 LE : ACTIVE 
\\.\DISPLAYV1 - NetMeeting driver : MIRROR 
\\.\DISPLAYV2 - RDPDD Chained DD : MIRROR 

******************************
EnumDisplayMonitors API
\\.\DISPLAY1 : L=0, T=0, R=1280, B=1024 (W=1280, H=1024), PRIMARY
\\.\DISPLAY3 : L=1280, T=0, R=2080, B=600 (W=800, H=600)
\\.\DISPLAY2 : L=-800, T=0, R=0, B=600 (W=800, H=600)


= Dump of Multi-monitor information =================================

******************************
OLD-method:
MONITOR: Count=3, Primary=@1
@0: L=-800, T=0, R=2080, B=1024 (W=2880, H=1024)
@1: \\.\DISPLAY1 (active) : L=0, T=0, R=1280, B=1024 (W=1280, H=1024)
@2: \\.\DISPLAY3 (active) : L=1280, T=0, R=2080, B=600 (W=800, H=600)
@3: \\.\DISPLAY2 (active) : L=-800, T=0, R=0, B=600 (W=800, H=600)

******************************
NEW-method:
MONITOR: Count=3, Primary=@1
@0: L=-800, T=0, R=2080, B=1024 (W=2880, H=1024)
@1: \\.\DISPLAY1 (active) : L=0, T=0, R=1280, B=1024 (W=1280, H=1024)
@2: \\.\DISPLAY2 (active) : L=-800, T=0, R=0, B=600 (W=800, H=600)
@3: \\.\DISPLAY3 (active) : L=1280, T=0, R=2080, B=600 (W=800, H=600)
Sample 2:
Sample2.jpg

Code: Select all

******************************
MultiMonReport v1.0

Notes:
- @0 means the virtual screen (= desktop). It's the rectangle that combined all monitors' rectangle.
- @1(2,3,...) means the specified monitor's screen.
- The order this program outputs may be different from display properties' one.
- Importantly, @1 may NOT mean the primary monitor's screen.

- OLD-method is compatible with Rainmeter-1.1(r306).
******************************


= Dump of EnumDisplayDevices / EnumDisplayMonitors ==================

******************************
EnumDisplayDevices API
\\.\DISPLAY1 - NVIDIA GeForce 6800 LE : ACTIVE PRIMARY PRUNED 
\\.\DISPLAY2 - ZoneScreen virtual display driver : 
\\.\DISPLAY3 - NVIDIA GeForce 6800 LE : ACTIVE 
\\.\DISPLAYV1 - NetMeeting driver : MIRROR 
\\.\DISPLAYV2 - RDPDD Chained DD : MIRROR 

******************************
EnumDisplayMonitors API
\\.\DISPLAY1 : L=0, T=0, R=1280, B=1024 (W=1280, H=1024), PRIMARY
\\.\DISPLAY3 : L=1280, T=0, R=2080, B=600 (W=800, H=600)


= Dump of Multi-monitor information =================================

******************************
OLD-method:
MONITOR: Count=2, Primary=@1
@0: L=0, T=0, R=2080, B=1024 (W=2080, H=1024)
@1: \\.\DISPLAY1 (active) : L=0, T=0, R=1280, B=1024 (W=1280, H=1024)
@2: \\.\DISPLAY3 (active) : L=1280, T=0, R=2080, B=600 (W=800, H=600)

******************************
NEW-method:
MONITOR: Count=3, Primary=@1
@0: L=0, T=0, R=2080, B=1024 (W=2080, H=1024)
@1: \\.\DISPLAY1 (active) : L=0, T=0, R=1280, B=1024 (W=1280, H=1024)
@2: \\.\DISPLAY2 (inactive)
@3: \\.\DISPLAY3 (active) : L=1280, T=0, R=2080, B=600 (W=800, H=600)
Last edited by spx on November 20th, 2009, 6:13 am, edited 1 time in total.
VannMann
Posts: 1
Joined: November 18th, 2009, 3:15 pm

Re: Dual Displays Incorrectly Identified

Post by VannMann »

is this going to be fixed, and what do i have to add @2 to in the Rainmeter.ini? do i add it to all the windowX values or what?
User avatar
CutTheRedWire
Posts: 3
Joined: August 11th, 2009, 10:58 pm

Re: Dual Displays Incorrectly Identified

Post by CutTheRedWire »

Same problem here on Win XP 32-bit.

Note: I have my monitors switched for which is primary. Not sure if anyone else did that too.

EDIT :: Just saw the reporting program. I ran it and sent the output to the coder.
rakka1988
Posts: 3
Joined: November 8th, 2009, 7:49 am

Re: Dual Displays Incorrectly Identified

Post by rakka1988 »

Thank you ~

Code: Select all

******************************
MultiMonReport v1.0

Notes:
- @0 means the virtual screen (= desktop). It's the rectangle that combined all monitors' rectangle.
- @1(2,3,...) means the specified monitor's screen.
- The order this program outputs may be different from display properties' one.
- Importantly, @1 may NOT mean the primary monitor's screen.

- OLD-method is compatible with Rainmeter-1.1(r306).
******************************


= Dump of EnumDisplayDevices / EnumDisplayMonitors ==================

******************************
EnumDisplayDevices API
\\.\DISPLAY1 - NVIDIA GeForce 9800 GT   : ACTIVE PRIMARY PRUNED 
\\.\DISPLAY2 - NVIDIA GeForce 9800 GT   : ACTIVE 
\\.\DISPLAYV1 - RDPDD Chained DD : MIRROR 
\\.\DISPLAYV2 - RDP Encoder Mirror Driver : MIRROR 
\\.\DISPLAYV3 - RDP Reflector Display Driver : MIRROR 

******************************
EnumDisplayMonitors API
\\.\DISPLAY1 : L=0, T=0, R=1920, B=1080 (W=1920, H=1080), PRIMARY
\\.\DISPLAY2 : L=-1280, T=56, R=0, B=1080 (W=1280, H=1024)


= Dump of Multi-monitor information =================================

******************************
OLD-method:
MONITOR: Count=2, Primary=@1
@0: L=-1280, T=0, R=1920, B=1080 (W=3200, H=1080)
@1: \\.\DISPLAY1 (active) : L=0, T=0, R=1920, B=1080 (W=1920, H=1080)
@2: \\.\DISPLAY2 (active) : L=-1280, T=56, R=0, B=1080 (W=1280, H=1024)

******************************
NEW-method:
MONITOR: Count=2, Primary=@1
@0: L=-1280, T=0, R=1920, B=1080 (W=3200, H=1080)
@1: \\.\DISPLAY1 (active) : L=0, T=0, R=1920, B=1080 (W=1920, H=1080)
@2: \\.\DISPLAY2 (active) : L=-1280, T=56, R=0, B=1080 (W=1280, H=1024)
User avatar
spx
Developer
Posts: 686
Joined: August 15th, 2009, 2:41 pm
Location: Osaka, JPN

Re: Dual Displays Incorrectly Identified

Post by spx »

Thank you for your report. :D
I've prepared the experimental-beta DLL to test on the multi-monitor environments.
Rainmeter-dll.zip
If you test this DLL, you need to use with Rainmeter-1.1. And replace "Rainmeter.dll" to my post's one.
(Rainmeter.dll is probably located in "C:\Program Files\Rainmeter\" by default.)

If you got a problem using this DLL, report the Rainmeter's log and MultiMonReport's log.
(MultiMonReport is here: http://forum.rainmeter.net/viewtopic.php?f=14&t=1491#p14411)

Note:
- @0 means the virtual screen (= desktop area). It's the rectangle that combined all monitors' rectangle.
- @1(2,3,...) means the specified monitor's screen.
- The order Rainmeter handles may be different from display properties' one.
- Importantly, @1 DOES NOT mean the primary monitor's screen. If you'd like to handle as the primary monitor's screen, do not use @-directive.
rakka1988
Posts: 3
Joined: November 8th, 2009, 7:49 am

Re: Dual Displays Incorrectly Identified

Post by rakka1988 »

:-) The new dll works perfectly on windows 7 pro 64bit, with rainmeter 1.1 64bit, thanks sooooo much! Test with Enigma theme.

Now my secondary screen finally got some work to do...
User avatar
CutTheRedWire
Posts: 3
Joined: August 11th, 2009, 10:58 pm

Re: Dual Displays Incorrectly Identified

Post by CutTheRedWire »

It worked perfectly for me too. I just used the new 32-bit .dll file. The config files never were edited. I just waited for a fix, and it seems to have been a short wait.