help testing desktop span feature addition

I needed to test a 2 display system using the side-by-side stereo support that BGE already offers. Unfortunately, the game window only covered one of my displays. So, I figured out how to make the game window cover all displays and I would appreciate some help to test the patch.

Here is a picture of the new option to test when launching your game. I highlighted the 2 options you need for testing.
http://imageshack.us/a/img7/9251/spandesktop.jpg

Here is a video showing this little treasure.
http://youtu.be/Mc-oaQZeBxc

Here is a test ‘game’ file. It uses a FPS camera controller to navigate. You may or may not want side-by-side stereo enabled.
https://dl.dropboxusercontent.com/u/64480429/spanTest_gameEngine.blend

Here is the GraphicAll build link:
Windows 32 bit: http://www.graphicall.org/1052

I NEED HELP WITH OSX AND LINUX BUILDS!

For builders, here is my patch:
https://dl.dropboxusercontent.com/u/64480429/patch_spanDesktop.patch

How to test? Glad you asked.

  1. Check (or uncheck) the ‘Span’ feature. I also prefer to enable the ‘Desktop’ feature too, so my desktop size does not get changed by the game engine.
  2. Export this file as a standalone Blender game. You will need the ‘Save As Game Engine Runtime’ addon (File->User Preferences). Then click ‘File->Export->Save As Game Engine Runtime’ to export a standalone game.
  3. Run your game.
  4. Perform these tests:

TEST 01: If you have more than one display connected, make sure checking ‘Span’ makes the game window cover the entire desktop.
TEST 02: If you have more than one display connected, make sure UNchecking ‘Span’ makes the game window cover ONLY one display.
TEST 03: If you have ONLY one display connected, make sure checking or UNchecking ‘Span’ results in the game window covering your display.

  1. Report the results here. Be nice to me. I hope to do more development work. Let me know how the tests went and what system setup you used (OS/bits, # of monitors, GPU(s)).

What other tests should we use? Can you break it? What happens when you disable ‘Desktop’ and specify reasonable (or unreasonable) values for the Resolution?

THANKS FOR ANY HELP!

I’ll do my best to tally the results here.
[TABLE=“class: grid, width: 500, align: center”]

build

setup: arch, arrangement, resolutions, GPU

TEST 01

TEST 02

TEST 03

user

win 32
win7-64, 1x2, 2x1600x1200, GeForce 460
pass
pass
pass
cyrfer

win 32
XP-32, 1x2, 2x1024x768, ATI integrated
pass
pass
pass
JTA

win 32
win7-64, 2x2, ATi HD 5550, 4x1920x1080
pass
pass
pass
jesterKing

win 32
win7-64, 1x2, GeForce 8800, 2x1920x1080
pass
pass
pass
dfelinto

win 32
win7-64, 1x2, 2x1920x1080, GTX Titan

fail
pass
pass
mmoore500

linux 64

Arch Linux 64bit (3.9.7 kernel), 2x1, 1600x900 and a 1920x1080, GT 425M

pass

fail

pass

Moguri

[/TABLE]

Reported issues:
01- The game window is not starting on the correct monitor when the monitor’s are swapped. (mmoore500)
02- In Blender, ALT+F11 (Toggle fullscreen) has incorrect behavior. (dfelinto)
03- In game, ‘dome’ shows incorrect behavior. (dfelinto)
04- On linux, game window size is already (display1.width+display2.width) x max(display1.height,display2.height) (Moguri). I need to make sure Windows code has the same behavior.

It works on my old 32bit windoze laptop with an ATI mobile integrated video card. Good job! More comments to come later after I have played with it a bit. Thanks!

4 monitors on 2 ATi HD 5550 cards in a 2x2 setup:

TEST 01: … ok.
TEST 02: … ok.
TEST 03: … ok.

Nice work :slight_smile:

For those who are wondering how to save as game runtime: make sure you have enabled the save runtime addon for the game engine in your user preferences.

/Nathan

I just tested the patch with a branch I use for a project and … it works :slight_smile:
Nice work. One GeForce 8800 powering two 1920x1080 displays.

I’m having some trouble with it. Although I’m sure its something I’m doing wrong.
GTX Titan (x2), 1920 x 1080 (x2)

Anyone know what could be causing Mike’s problem with the Win32 build?

We’ve got it figured out…

Under my nvidia control panel, my displays were setup as 2 | 1* (see image below):


which made it look like only a single screen was working:


Then I switched the nvidia settings to 1* | 2 (see below):


And now both screens are working

update

Alternatively, in the nvidia control panel, you can change the primary display to the left screen (from 2 | 1* to 2* | 1) and the span monitors will work correctly. Although, this will change the location of your taskbar on windows.

Ok, I did further tests.
Originally I had Stereo on and it spanned both monitors but just as a mirror so the same thing was on both monitors.
I set Stereo to none and the display was 1024x768 with it centered in the two displays so it was split in half and there were black pillar boxes on each side. Even setting the resolution in Blender to 2048x768 resulted in this.

Also, upon exiting from the external player launched from within Blender, the console window was left in focus on top of the 3D View window. Blender was launched from a CLI/DOS box. Below the hardware specs is the output in the DOS box.

Circa 2005 windoze XP laptop
1.6GHz AMD Turion, 1GB RAM
ATI Radeon Xpress 200M mobility graphics
I used supplied span .blend file
Laptop display + 1 LG external monitor

DOS box output:
C:\Program Files\Blender Foundation\ge_runtimes>spanTest_gameEngine.exe
Color management: using fallback mode for management
BLF_lang_init: ‘locale’ data path for translations not found, continuing
Detected GL_ARB_texture_env_combine
Detected GL_ARB_texture_cube_map
Detected GL_ARB_multitexture
Detected GL_ARB_shader_objects
Detected GL_ARB_vertex_shader
Detected GL_ARB_fragment_shader
Detected GL_ARB_vertex_program
Detected GL_ARB_depth_texture
Detected GL_EXT_separate_specular_color
found bundled python: C:\Program Files\Blender Foundation\ge_runtimes\2.67\python
Error Totblock: 32
Data from Lib Block len: 180 01E604A8
Data from SCR len: 852 01E651A0
Data from SCR len: 12 01E68510
Data from SCR len: 168 01E68550
Data from SCR len: 852 01E68CF8
Data from SCR len: 96 01E69878
Data from SCR len: 852 01E6A1C0
Data from SCR len: 852 01E6D1F0
Data from SCR len: 28 01E6FFB8
Data from SCR len: 4 01D4B2D0
Data from SCR len: 28 02239230
Data from SCR len: 12 02239280
Data from SCR len: 28 022392C0
Data from SCR len: 12 02239310
Data from SCR len: 28 02239350
Data from SCR len: 4 022393A0
Data from SCR len: 12 02239D20
Data from SCR len: 30996 02239D60
Data from SCR len: 852 02242FF8
Data from SCR len: 12 0224BAE8
Data from SCR len: 1176 0224BB28
Data from SCR len: 852 0224D940
Data from SCR len: 852 02250F98
Data from SCR len: 12 022518C0
Data from SCR len: 900 02251900
Data from SCR len: 852 02257E28
Data from SCR len: 28 02258620
Data from SCR len: 4 02258670
Data from SCR len: 12 02258C80
Data from SCR len: 168 02258CC0
Data from SCR len: 852 0225DF98
Data from SCR len: 96 022603C0

.

Tested this patch in Arch Linux 64bit (3.9.7 kernel) with an Nvidia GT 425M (proprietary Nvidia 319.23 drivers). I’ve got TwinView setup through the Nvidia drivers, and whether Span is enabled or not, the Desktop option will use both displays as a single display. I have a 1600x900 and a 1920x1080 display.