Project Home
Project Home
Documents
Documents
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Multi head photon system: Page 1 of 2 (12 Items)
   
Multi head photon system  
I would like to have 3 different applications, each calling Photon drawing functions for display on both my on-board 
(i830) graphics and each of the 2 outputs on a Matrox dual-head card.

My existing system uses only the on-board graphics  and my Photon startup file consists of a simple call to io-display, 
Photon and io-graphics.

How do I modify this file for multi-head Photon use and how do I 'point' each of my applications at the correct display?
Re: Multi head photon system  
> I would like to have 3 different applications, each calling Photon drawing 
> functions for display on both my on-board (i830) graphics and each of the 2 
> outputs on a Matrox dual-head card.
 
> My existing system uses only the on-board graphics  and my Photon startup file
>  consists of a simple call to io-display, Photon and io-graphics.

You have to run io-display two times, one for the each physical video adapter. For example:

io-display -dvid=0x8086,did=0xXXXX -c/etc/system/config/display.conf.i830
io-display -dvid=0x102b,did=0xXXXX -c/etc/system/config/display.conf.matrox

And preliminary content of the each configuration file

display.conf.i830:
############################################
device {
	photon {
		driver {
			drivername=i830
			modeopts=
		}
	}
	drivername=i830
	modeopts=
	vid=0x8086
	did=0xXXXX
	deviceindex=0x0
	display {
		xres=1280
		yres=1024
		refresh=60
		pixel_format=rgb565
		photon {
			enabled=1
			xoffset=0
			yoffset=0
			cursor=hardware
			input_group=1
		}
	}
}

display.conf.matrox:
############################################
device {
	photon {
		driver {
			drivername=matrox
			modeopts=
		}
	}
	drivername=matrox
	modeopts=
	vid=0x102b
	did=0xXXXX
	deviceindex=0x0
	display {
		xres=1280
		yres=1024
		refresh=60
		pixel_format=rgb565
		photon {
			enabled=1
			xoffset=1280
			yoffset=0
			cursor=hardware
			input_group=1
		}
	}
	display {
		xres=1280
		yres=1024
		refresh=60
		pixel_format=rgb565
		photon {
			enabled=1
			xoffset=2560
			yoffset=0
			cursor=hardware
			input_group=1
		}
	}
}

Please take a look on the "drivername" parameter, you have to specify correct driver name in both config files. And then
 take a look on the xoffset and yoffset parameters, you have to specify your displays layout manually, in my example 
they are placed horizontally, one after each other. First display belongs to the i830, and the rest two belong to matrox
 driver.

> How do I modify this file for multi-head Photon use and how do I 'point' each 
> of my applications at the correct display?

The easiest way is to run each window at specific coordinates. For example, you have three displays, all placed 
horizontally and each display is set to 1280x1024 video mode (like in the configuration files above):

display 0: 0-1279
display 1: 1280-2559
display 2: 2560-3839

So, if you want to place your window at display 1, just set window origin coordinates in range of 1280-2559 on x-axis.
Re: Multi head photon system  
Mike,

Many thanks for providing a very clear explanation,

    Regards    Steve

----- Original Message ----- 
From: "Mike Gorchak" <community-noreply@qnx.com>
To: "photon-graphics" <post68207@community.qnx.com>
Sent: Wednesday, September 22, 2010 11:41 AM
Subject: Re: Multi head photon system


>> I would like to have 3 different applications, each calling Photon 
>> drawing
>> functions for display on both my on-board (i830) graphics and each of the 
>> 2
>> outputs on a Matrox dual-head card.
>
>> My existing system uses only the on-board graphics  and my Photon startup 
>> file
>>  consists of a simple call to io-display, Photon and io-graphics.
>
> You have to run io-display two times, one for the each physical video 
> adapter. For example:
>
> io-display -dvid=0x8086,did=0xXXXX -c/etc/system/config/display.conf.i830
> io-display -dvid=0x102b,did=0xXXXX -c/etc/system/config/display.conf.matrox
>
> And preliminary content of the each configuration file
>
> display.conf.i830:
> ############################################
> device {
> photon {
> driver {
> drivername=i830
> modeopts=
> }
> }
> drivername=i830
> modeopts=
> vid=0x8086
> did=0xXXXX
> deviceindex=0x0
> display {
> xres=1280
> yres=1024
> refresh=60
> pixel_format=rgb565
> photon {
> enabled=1
> xoffset=0
> yoffset=0
> cursor=hardware
> input_group=1
> }
> }
> }
>
> display.conf.matrox:
> ############################################
> device {
> photon {
> driver {
> drivername=matrox
> modeopts=
> }
> }
> drivername=matrox
> modeopts=
> vid=0x102b
> did=0xXXXX
> deviceindex=0x0
> display {
> xres=1280
> yres=1024
> refresh=60
> pixel_format=rgb565
> photon {
> enabled=1
> xoffset=1280
> yoffset=0
> cursor=hardware
> input_group=1
> }
> }
> display {
> xres=1280
> yres=1024
> refresh=60
> pixel_format=rgb565
> photon {
> enabled=1
> xoffset=2560
> yoffset=0
> cursor=hardware
> input_group=1
> }
> }
> }
>
> Please take a look on the "drivername" parameter, you have to specify 
> correct driver name in both config files. And then take a look on the 
> xoffset and yoffset parameters, you have to specify your displays layout 
> manually, in my example they are placed horizontally, one after each 
> other. First display belongs to the i830, and the rest two belong to 
> matrox driver.
>
>> How do I modify this file for multi-head Photon use and how do I 'point' 
>> each
>> of my applications at the correct display?
>
> The easiest way is to run each window at specific coordinates. For 
> example, you have three displays, all placed horizontally and each display 
> is set to 1280x1024 video mode (like in the configuration files above):
>
> display 0: 0-1279
> display 1: 1280-2559
> display 2: 2560-3839
>
> So, if you want to place your window at display 1, just set window origin 
> coordinates in range of 1280-2559 on x-axis.
>
>
>
>
> _______________________________________________
>
> Photon microGUI
> http://community.qnx.com/sf/go/post68207
>
> 

Re: Multi head photon system  
My photon startup script now consists of

io-graphics -dxxxxxxxxxx (i830)
io-graphics-dyyyyyyyyyyy (matrox)
/usr/photon/bin/Photon &
/usr/photon/bin/io-graphics

Should there also be 2 io-graphics?

Running each of these lines from the command prompt works without errors. 
There is no evidence of any video from the matrox card whereas the monitor 
connected to the on-board graphics shows a grey background when io-graphics 
is run. The h/w itself works OK since I can change the Bios setting to 'init 
pci display first'. One matrox output then shows the qnx boot-up info. I am 
just wondering if anything else is needed to 'spread' Photon over the 3 
displays? Alternatively, perhaps I am being mis-led by the lack of signal on 
the monitor and it is just a case of getting an application to write to this 
area,

    Thanks for your help,   Steve



----- Original Message ----- 
From: "Mike Gorchak" <community-noreply@qnx.com>
To: "photon-graphics" <post68207@community.qnx.com>
Sent: Wednesday, September 22, 2010 11:41 AM
Subject: Re: Multi head photon system


>> I would like to have 3 different applications, each calling Photon 
>> drawing
>> functions for display on both my on-board (i830) graphics and each of the 
>> 2
>> outputs on a Matrox dual-head card.
>
>> My existing system uses only the on-board graphics  and my Photon startup 
>> file
>>  consists of a simple call to io-display, Photon and io-graphics.
>
> You have to run io-display two times, one for the each physical video 
> adapter. For example:
>
> io-display -dvid=0x8086,did=0xXXXX -c/etc/system/config/display.conf.i830
> io-display -dvid=0x102b,did=0xXXXX -c/etc/system/config/display.conf.matrox
>
> And preliminary content of the each configuration file
>
> display.conf.i830:
> ############################################
> device {
> photon {
> driver {
> drivername=i830
> modeopts=
> }
> }
> drivername=i830
> modeopts=
> vid=0x8086
> did=0xXXXX
> deviceindex=0x0
> display {
> xres=1280
> yres=1024
> refresh=60
> pixel_format=rgb565
> photon {
> enabled=1
> xoffset=0
> yoffset=0
> cursor=hardware
> input_group=1
> }
> }
> }
>
> display.conf.matrox:
> ############################################
> device {
> photon {
> driver {
> drivername=matrox
> modeopts=
> }
> }
> drivername=matrox
> modeopts=
> vid=0x102b
> did=0xXXXX
> deviceindex=0x0
> display {
> xres=1280
> yres=1024
> refresh=60
> pixel_format=rgb565
> photon {
> enabled=1
> xoffset=1280
> yoffset=0
> cursor=hardware
> input_group=1
> }
> }
> display {
> xres=1280
> yres=1024
> refresh=60
> pixel_format=rgb565
> photon {
> enabled=1
> xoffset=2560
> yoffset=0
> cursor=hardware
> input_group=1
> }
> }
> }
>
> Please take a look on the "drivername" parameter, you have to specify 
> correct driver name in both config files. And then take a look on the 
> xoffset and yoffset parameters, you have to specify your displays layout 
> manually, in my example they are placed horizontally, one after each 
> other. First display belongs to the i830, and the rest two belong to 
> matrox driver.
>
>> How do I modify this file for multi-head Photon use and how do I 'point' 
>> each
>> of my applications at the correct display?
>
> The easiest way is to run each window at specific coordinates. For 
> example, you have three displays, all placed horizontally and each display 
> is set to 1280x1024 video mode (like in the configuration files above):
>
> display 0: 0-1279
> display 1: 1280-2559
> display 2:...
Re: Multi head photon system  
> My photon startup script now consists of
> 
> io-graphics -dxxxxxxxxxx (i830)
> io-graphics-dyyyyyyyyyyy (matrox)
> /usr/photon/bin/Photon &
> /usr/photon/bin/io-graphics
> 
> Should there also be 2 io-graphics?

No, one io-graphics is enough.
 
> Running each of these lines from the command prompt works without errors. 
> There is no evidence of any video from the matrox card whereas the monitor 
> connected to the on-board graphics shows a grey background when io-graphics 
> is run.

Yes, after io-graphics startup you'll get black (or grey background in case if brightness of your monitor is set to very
 high value :) ). Then you need to run your applications or/and shelf with background manager, and other Photon services
 to get some output on connected displays.

Are you using one monitor only ? It is important to connect three monitors in your case, because some drivers are using 
auto detection of monitor presence. So if you doesn't have a connected monitor, there are no any reasons to show 
anything for you on not connected video outputs :) Another problem can be with analog or digital output auto-detection, 
so driver needs monitor to be connected for auto detection of output type.

> The h/w itself works OK since I can change the Bios setting to 'init 
> pci display first'. One matrox output then shows the qnx boot-up info. I am 
> just wondering if anything else is needed to 'spread' Photon over the 3 
> displays? Alternatively, perhaps I am being mis-led by the lack of signal on 
> the monitor and it is just a case of getting an application to write to this 
> area,

In your case built-in video card must be primary (Intel integrated video).
Re: Multi head photon system  
Thanks for everyone's comments,

I can confirm I have 2 monitors connected to the Matrox card at power-up & 
then occasionally swap one with the on-board graphics (since I am confident 
this one will always come-up OK).

Just to add a bit more background information, I am using a standard 6.5 
installation with a 'nophoton' file present to prevent the desktop from 
appearing. I am then calling my own startup files (including my own photon 
startup file) from rc.local. I mention this since if I disable my photon 
startup file, I still see 5 io-displays in a ps -eaf listing. Also, if I 
modify the default display.conf with the matrox driver info, reboot and then 
run my photon startup script (with the 2 io-displays configured as per 
Mike's suggestions), it initialises both of the Matrox heads i.e. both heads 
show a video signal.

Could the problem be something to do with these existing io-displays? If so, 
what file is calling them please?

    Thanks,    Steve

----- Original Message ----- 
From: "Mike Gorchak" <community-noreply@qnx.com>
To: "photon-graphics" <post68342@community.qnx.com>
Sent: Thursday, September 23, 2010 2:06 PM
Subject: Re: Multi head photon system


>> My photon startup script now consists of
>>
>> io-graphics -dxxxxxxxxxx (i830)
>> io-graphics-dyyyyyyyyyyy (matrox)
>> /usr/photon/bin/Photon &
>> /usr/photon/bin/io-graphics
>>
>> Should there also be 2 io-graphics?
>
> No, one io-graphics is enough.
>
>> Running each of these lines from the command prompt works without errors.
>> There is no evidence of any video from the matrox card whereas the 
>> monitor
>> connected to the on-board graphics shows a grey background when 
>> io-graphics
>> is run.
>
> Yes, after io-graphics startup you'll get black (or grey background in 
> case if brightness of your monitor is set to very high value :) ). Then 
> you need to run your applications or/and shelf with background manager, 
> and other Photon services to get some output on connected displays.
>
> Are you using one monitor only ? It is important to connect three monitors 
> in your case, because some drivers are using auto detection of monitor 
> presence. So if you doesn't have a connected monitor, there are no any 
> reasons to show anything for you on not connected video outputs :) Another 
> problem can be with analog or digital output auto-detection, so driver 
> needs monitor to be connected for auto detection of output type.
>
>> The h/w itself works OK since I can change the Bios setting to 'init
>> pci display first'. One matrox output then shows the qnx boot-up info. I 
>> am
>> just wondering if anything else is needed to 'spread' Photon over the 3
>> displays? Alternatively, perhaps I am being mis-led by the lack of signal 
>> on
>> the monitor and it is just a case of getting an application to write to 
>> this
>> area,
>
> In your case built-in video card must be primary (Intel integrated video).
>
>
>
>
> _______________________________________________
>
> Photon microGUI
> http://community.qnx.com/sf/go/post68342
>
> 

RE: Multi head photon system  
io-display is run automatically by the system enumerator at startup, is
this what you asking about, where io-display is being started from?

-----Original Message-----
From: Stephen Holder [mailto:community-noreply@qnx.com] 
Sent: Thursday, September 23, 2010 12:20 PM
To: photon-graphics
Subject: Re: Multi head photon system

Thanks for everyone's comments,

I can confirm I have 2 monitors connected to the Matrox card at power-up
& 
then occasionally swap one with the on-board graphics (since I am
confident 
this one will always come-up OK).

Just to add a bit more background information, I am using a standard 6.5

installation with a 'nophoton' file present to prevent the desktop from 
appearing. I am then calling my own startup files (including my own
photon 
startup file) from rc.local. I mention this since if I disable my photon

startup file, I still see 5 io-displays in a ps -eaf listing. Also, if I

modify the default display.conf with the matrox driver info, reboot and
then 
run my photon startup script (with the 2 io-displays configured as per 
Mike's suggestions), it initialises both of the Matrox heads i.e. both
heads 
show a video signal.

Could the problem be something to do with these existing io-displays? If
so, 
what file is calling them please?

    Thanks,    Steve

----- Original Message ----- 
From: "Mike Gorchak" <community-noreply@qnx.com>
To: "photon-graphics" <post68342@community.qnx.com>
Sent: Thursday, September 23, 2010 2:06 PM
Subject: Re: Multi head photon system


>> My photon startup script now consists of
>>
>> io-graphics -dxxxxxxxxxx (i830)
>> io-graphics-dyyyyyyyyyyy (matrox)
>> /usr/photon/bin/Photon &
>> /usr/photon/bin/io-graphics
>>
>> Should there also be 2 io-graphics?
>
> No, one io-graphics is enough.
>
>> Running each of these lines from the command prompt works without
errors.
>> There is no evidence of any video from the matrox card whereas the 
>> monitor
>> connected to the on-board graphics shows a grey background when 
>> io-graphics
>> is run.
>
> Yes, after io-graphics startup you'll get black (or grey background in

> case if brightness of your monitor is set to very high value :) ).
Then 
> you need to run your applications or/and shelf with background
manager, 
> and other Photon services to get some output on connected displays.
>
> Are you using one monitor only ? It is important to connect three
monitors 
> in your case, because some drivers are using auto detection of monitor

> presence. So if you doesn't have a connected monitor, there are no any

> reasons to show anything for you on not connected video outputs :)
Another 
> problem can be with analog or digital output auto-detection, so driver

> needs monitor to be connected for auto detection of output type.
>
>> The h/w itself works OK since I can change the Bios setting to 'init
>> pci display first'. One matrox output then shows the qnx boot-up
info. I 
>> am
>> just wondering if anything else is needed to 'spread' Photon over the
3
>> displays? Alternatively, perhaps I am being mis-led by the lack of
signal 
>> on
>> the monitor and it is just a case of getting an application to write
to 
>> this
>> area,
>
> In your case built-in video card must be primary (Intel integrated
video).
>
>
>
>
> _______________________________________________
>
> Photon microGUI
> http://community.qnx.com/sf/go/post68342
>
> 





_______________________________________________

Photon microGUI
http://community.qnx.com/sf/go/post68390
Re: Multi head photon system  
> Just to add a bit more background information, I am using a standard 6.5 
> installation with a 'nophoton' file present to prevent the desktop from 
> appearing. I am then calling my own startup files (including my own photon 
> startup file) from rc.local. I mention this since if I disable my photon 
> startup file, I still see 5 io-displays in a ps -eaf listing. Also, if I 
> modify the default display.conf with the matrox driver info, reboot and then 
> run my photon startup script (with the 2 io-displays configured as per 
> Mike's suggestions), it initialises both of the Matrox heads i.e. both heads 
> show a video signal.

Just for your information. io-display has been executed for the default video adapter by device enumerator at the moment
 of system startup.

Please slay all io-display instances. Run two io-displays or run one but with options suggested by Derek and Misha.

Do not run Photon. Please post output of the sloginfo and "ls -l /dev/io-display/"

Then run (I assume that first io-display is executed or mounted for the built-in video adapter and the second one for 
the Matrox):

demo-alpha -D 0 -d 0          , press Enter to exit
demo-alpha -D 1 -d 0          , press Enter to exit
demo-alpha -D 1 -d 1          , press Enter to exit

Where -D is used to specify video device index and -d for the display index (Intel integrated graphics controller has 
one display and Matrox has two displays with indices 0 and 1)

You will see output of the demo-alpha demo on the each video output.
Re: Multi head photon system  
Mike,

Apologies for being a bit slow today - at least it's Friday!

Could you clarify please the way you want me to run-up io-display? If you 
could give me an example line for the Intel device say, that would be great,

    Thanks for being patient with me,    Steve

----- Original Message ----- 
From: "Mike Gorchak" <community-noreply@qnx.com>
To: "photon-graphics" <post68424@community.qnx.com>
Sent: Thursday, September 23, 2010 7:31 PM
Subject: Re: Multi head photon system


>> Just to add a bit more background information, I am using a standard 6.5
>> installation with a 'nophoton' file present to prevent the desktop from
>> appearing. I am then calling my own startup files (including my own 
>> photon
>> startup file) from rc.local. I mention this since if I disable my photon
>> startup file, I still see 5 io-displays in a ps -eaf listing. Also, if I
>> modify the default display.conf with the matrox driver info, reboot and 
>> then
>> run my photon startup script (with the 2 io-displays configured as per
>> Mike's suggestions), it initialises both of the Matrox heads i.e. both 
>> heads
>> show a video signal.
>
> Just for your information. io-display has been executed for the default 
> video adapter by device enumerator at the moment of system startup.
>
> Please slay all io-display instances. Run two io-displays or run one but 
> with options suggested by Derek and Misha.
>
> Do not run Photon. Please post output of the sloginfo and "ls -l 
> /dev/io-display/"
>
> Then run (I assume that first io-display is executed or mounted for the 
> built-in video adapter and the second one for the Matrox):
>
> demo-alpha -D 0 -d 0          , press Enter to exit
> demo-alpha -D 1 -d 0          , press Enter to exit
> demo-alpha -D 1 -d 1          , press Enter to exit
>
> Where -D is used to specify video device index and -d for the display 
> index (Intel integrated graphics controller has one display and Matrox has 
> two displays with indices 0 and 1)
>
> You will see output of the demo-alpha demo on the each video output.
>
>
>
>
> _______________________________________________
>
> Photon microGUI
> http://community.qnx.com/sf/go/post68424
>
> 

RE: Multi head photon system  
From the io-graphics usemsg:


io-graphics [-c <file>] [-d vid=<vid>,did=<did>[,deviceindex=<index>]*]
   [-n <name>] [-f <global|local|none> ] [-v] [-e] [-w #] [-p #] [-l]
   [-h] [-P #]

Options:
    -c <file>   configuration file
[/etc/system/config/display.conf]

    -d vid=<vid>,<did>=<did>[,deviceindex=<index>]
                This option can be used multiple times, if more than one
                device is needed.


So only use it once.

In actuality, I _think_ you only need to run one io-display as well,
just passing multiple:

-dvid=aaaa0,did=bbbb0,deviceindex=ccccc0 
-dvid=aaaa1,did=bbbb1,deviceindex=ccccc1

It has been a while since I have done this though, but you can also run
two io-displays as well.

-Derek

-----Original Message-----
From: Stephen Holder [mailto:community-noreply@qnx.com] 
Sent: Thursday, September 23, 2010 7:25 AM
To: photon-graphics
Subject: Re: Multi head photon system


My photon startup script now consists of

io-graphics -dxxxxxxxxxx (i830)
io-graphics-dyyyyyyyyyyy (matrox)
/usr/photon/bin/Photon &
/usr/photon/bin/io-graphics

Should there also be 2 io-graphics?

Running each of these lines from the command prompt works without
errors. 
There is no evidence of any video from the matrox card whereas the
monitor 
connected to the on-board graphics shows a grey background when
io-graphics 
is run. The h/w itself works OK since I can change the Bios setting to
'init 
pci display first'. One matrox output then shows the qnx boot-up info. I
am 
just wondering if anything else is needed to 'spread' Photon over the 3 
displays? Alternatively, perhaps I am being mis-led by the lack of
signal on 
the monitor and it is just a case of getting an application to write to
this 
area,

    Thanks for your help,   Steve



----- Original Message ----- 
From: "Mike Gorchak" <community-noreply@qnx.com>
To: "photon-graphics" <post68207@community.qnx.com>
Sent: Wednesday, September 22, 2010 11:41 AM
Subject: Re: Multi head photon system


>> I would like to have 3 different applications, each calling Photon 
>> drawing
>> functions for display on both my on-board (i830) graphics and each of
the 
>> 2
>> outputs on a Matrox dual-head card.
>
>> My existing system uses only the on-board graphics  and my Photon
startup 
>> file
>>  consists of a simple call to io-display, Photon and io-graphics.
>
> You have to run io-display two times, one for the each physical video 
> adapter. For example:
>
> io-display -dvid=0x8086,did=0xXXXX
-c/etc/system/config/display.conf.i830
> io-display -dvid=0x102b,did=0xXXXX
-c/etc/system/config/display.conf.matrox
>
> And preliminary content of the each configuration file
>
> display.conf.i830:
> ############################################
> device {
> photon {
> driver {
> drivername=i830
> modeopts=
> }
> }
> drivername=i830
> modeopts=
> vid=0x8086
> did=0xXXXX
> deviceindex=0x0
> display {
> xres=1280
> yres=1024
> refresh=60
> pixel_format=rgb565
> photon {
> enabled=1
> xoffset=0
> yoffset=0
> cursor=hardware
> input_group=1
> }
> }
> }
>
> display.conf.matrox:
> ############################################
> device {
> photon {
> driver {
> drivername=matrox
> modeopts=
> }
> }
> drivername=matrox
> modeopts=
> vid=0x102b
> did=0xXXXX
> deviceindex=0x0
> display {
> xres=1280
> yres=1024
> refresh=60
> pixel_format=rgb565
> photon {
> enabled=1
> xoffset=1280
> yoffset=0
> cursor=hardware
> input_group=1
> }
> }
> display {
> xres=1280
> yres=1024
> refresh=60
> pixel_format=rgb565
>...
View Full Message