Stephen Holder
09/21/2010 12:37 PM
post68116
|
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?
|
|
|
Mike Gorchak
|
Re: Multi head photon system
|
Mike Gorchak
09/22/2010 6:41 AM
post68207
|
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.
|
|
|
Stephen Holder
|
Re: Multi head photon system
|
Stephen Holder
09/22/2010 7:09 AM
post68209
|
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
>
>
|
|
|
Stephen Holder
|
Re: Multi head photon system
|
Stephen Holder
09/23/2010 7:25 AM
post68337
|
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:...
|
|
|
Mike Gorchak
|
Re: Multi head photon system
|
Mike Gorchak
09/23/2010 9:06 AM
post68342
|
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).
|
|
|
Stephen Holder
|
Re: Multi head photon system
|
Stephen Holder
09/23/2010 12:19 PM
post68390
|
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
>
>
|
|
|
Derek Leach
|
RE: Multi head photon system
|
Derek Leach
09/23/2010 2:05 PM
post68415
|
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
|
|
|
Mike Gorchak
|
Re: Multi head photon system
|
Mike Gorchak
09/23/2010 2:31 PM
post68424
|
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.
|
|
|
Stephen Holder
|
Re: Multi head photon system
|
Stephen Holder
09/24/2010 6:30 AM
post68476
|
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
>
>
|
|
|
Derek Leach
|
RE: Multi head photon system
|
Derek Leach
09/23/2010 9:06 AM
post68343
|
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
|
|
|
|