Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Pg.i830 Driver: (17 Items)
   
Pg.i830 Driver  
I have an embedded system with an Intel 855 GME Chipset.  The system was using the Pg.flatdc32 driver and we saw a very 
slow window redraw where we can see what is behind on the desktop.

I recently updated to the Pg.i830 driver from the graphics driver patches and I don't see much improvement.

Should I expect a performance increase over the flat driver?  Are there any driver options that I can try?

The application has three windows active and is running in 640X480 mode.

Window layout is as follows:

___________________________________
    Base Window - Title 
___________________________________
                                              |
Main Window                         |  Nav Window
                                              |
                                              -------------------


___________________________________

The Title Window always remains active.
Main Window and Nav window are positioned below the title window
The Nav Window and Main Window change based on context
The Nav window is forced to the front

Thanks for your help.
Re: Pg.i830 Driver  
Hi Larry,

Are you use 32bpp colour mode with Pg.i830 driver? What content is in your three windows? How often content is redraw? 
What slow redraw is mean (milliseconds, seconds, minutes)? How do you draw in windows?

As far as I know Pg.flat* (generic) driver is slow than native. You can see very annoying 
undulating flicks while scrolling with Pg.flat*.

Respectfully,
Oleg


> I have an embedded system with an Intel 855 GME Chipset.  The system was using
>  the Pg.flatdc32 driver and we saw a very slow window redraw where we can see 
> what is behind on the desktop.
> 
> I recently updated to the Pg.i830 driver from the graphics driver patches and 
> I don't see much improvement.
> 
> Should I expect a performance increase over the flat driver?  Are there any 
> driver options that I can try?
> 
> The application has three windows active and is running in 640X480 mode.
> 
> Window layout is as follows:
> 
> ___________________________________
>     Base Window - Title 
> ___________________________________
>                                               |
> Main Window                         |  Nav Window
>                                               |
>                                               -------------------
> 
> 
> ___________________________________
> 
> The Title Window always remains active.
> Main Window and Nav window are positioned below the title window
> The Nav Window and Main Window change based on context
> The Nav window is forced to the front
> 
> Thanks for your help.


Re: Pg.i830 Driver  
Hello Oleg,

We are using 16 bpp.  The Base Window has a widget to display date and time and a heartbeat indicator as well as a 
context specific title.  The Main window consists of a mimic of a plant with various devices that get updated every 500 
msec.  The navigation window consists of three buttons for navigating back to the main and secondary directories and to 
the previous screen.

When the user presses a button the main window gets replaced with a new one.  When this window is being replaced we can 
see the background behind the window from the desktop.  We can make this more noticable by, for instance, placing a 
large yellow msgpad application behind.

I hope this explanation helps.  I look forward to your advice and suggestions.

Thank you.

Larry

P.S. One noticable improvement is with the hardware cursor.  If we place the cursor over a widget that is being 
regularly updated it no longer flickers.   With the Pg.flatdc driver the flicker was very noticable.

P.P.S Another piece of information that I just received is that this is the first time that they (we) are using multiple
 windows.  Previously the application used a single full screen window that was replaced (re-drawn) as required.  Now we
 have three windows, two of which overlap (the main and the navigation window).
Re: Pg.i830 Driver  
Hello Larry,

I think that problem isn't in the driver. There are several more probable  
effects.

1. Problem in hardware. Can you test your software on another HW? What is 
your result?

2. Highly loaded system. How many process in your system? I need output of 
(with both Pg.flatdc and Pg.i830 drivers):

# sin ar
# sin ver
# sin ti
# sin ir
# sin in
# show_pci -vvv

3. Error in software. For instance, widget which implement of a mimic of a 
plant may be not optimal.

-- 
Respectfully,
Oleg

> Hello Oleg,
> 
> We are using 16 bpp.  The Base Window has a widget to display date and
>  time and a heartbeat indicator as well as a context specific title. 
>  The Main window consists of a mimic of a plant with various devices
>  that get updated every 500 msec.  The navigation window consists of
>  three buttons for navigating back to the main and secondary
>  directories and to the previous screen.
> 
> When the user presses a button the main window gets replaced with a new
>  one.  When this window is being replaced we can see the background
>  behind the window from the desktop.  We can make this more noticable
>  by, for instance, placing a large yellow msgpad application behind.
> 
> I hope this explanation helps.  I look forward to your advice and
>  suggestions.
> 
> Thank you.
> 
> Larry
> 
> P.S. One noticable improvement is with the hardware cursor.  If we
>  place the cursor over a widget that is being regularly updated it no
>  longer flickers.   With the Pg.flatdc driver the flicker was very
>  noticable.
> 
> P.P.S Another piece of information that I just received is that this is
>  the first time that they (we) are using multiple windows.  Previously
>  the application used a single full screen window that was replaced
>  (re-drawn) as required.  Now we have three windows, two of which
>  overlap (the main and the navigation window).
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post45062
> 
Re: Pg.i830 Driver  
Good Morning Oleg,

I agree with your assesment as I haven't seen a significant difference with the new driver.  I am not sure how easy it 
will be to test on another platform.  This is a qualified platform for use in the nuclear industry and we have very few 
of them around.

The software environment is also quite complex and was developed by another group.

I will gather the information that you have requested and we will see where that leads.

Thank you again for your help.

Larry
Re: Pg.i830 Driver  
Outputs using the i830 driver:

sin ar

  PID USER NAME    ARGUMENTS
    1 System       Proc32 -l 1 
    2 System       Slib32 
    4 System       Fsys 
    5 System       Fsys.eide -v fsys -n0=hd -n5=cd 
    8 System       Not available.                  
   16 System       Dev 
   19 System       Dev.ansi -Q -n 6 
   21 System       Dev.ser 
   22 System       Dev.par 
   23 System       Dev.pty -n 16 
   27 System       Iso9660fsys /cd0 
   30 System       io-usb 
   41 System       devu-kbd 
   46 System       devu-mouse 
   50 System       devu-prn 
   55 System       io-usb 
   56 System       devu-kbd 
   57 System       devu-mouse 
   58 System       devu-prn 
   60 System       Net 
   63 System       Pipe 
   64 System       nameloc 
   65 System       nameloc 
   68 System       tinit -T /dev/con1 /dev/con2 /dev/con3 /dev/con4 /dev/con5 /dev/con6 -t /dev/con1 
   69 root         -sh 
   80 root         Photon 
   84 root         //1/qnx4/photon/bin/phfontpfr -c 200k 
   88 root         /qnx4/graphics/drivers/Null.ms 
   90 root         /qnx4/graphics/drivers/Pg.i830 -g640x480x16 -d0x8086,0x3582 -I0 -HNqnx/crt -RH 
   94 root         Input kbd -R fd -d/dev/kbd ps2 -r kb -2 microtch -b9600 uart -i4 -p3f8 
   98 root         pwm 
  108 root         Input kbd -R fd -d/dev/kbd ps2 -r kb -2 microtch -b9600 uart -i4 -p3f8 
  118 root         pdm 
  129 root         pterm 
  132 root         /bin/sh 
  134 root         ./simfetch -c /tmp/jaldb.dat -g100 
  135 root         ./ESCM 
  139 root         pterm 
  142 root         /bin/sh 
  145 root         sin ar 

sin ver

PROGRAM                 NAME         VERSION DATE
sys/Proc32              Proc         4.25Q   Jul 18 2005
sys/Proc32              Slib16       4.23G   Oct 04 1996
sys/Slib32              Slib32       4.24B   Aug 12 1997
/bin/Fsys               Fsys32       4.24Y   Apr 23 2002
/bin/Fsys.eide          eide         4.25G   Apr 15 2002
//1/bin/Dev32           Dev32        4.23G   Oct 04 1996
//1/bin/Dev32.ansi      Dev32.ansi   4.23H   Nov 21 1996
//1/bin/Dev32.ser       Dev.ser      4.25A   Feb 14 2003
//1/bin/Dev32.par       Dev32.par    4.25A   Jan 08 2001
//1/bin/Dev32.pty       Dev32.pty    4.23G   Oct 04 1996
//1/bin/Iso9660fsys     Iso9660fsys  4.23D   Mar 20 2000
//1/bin/io-usb          USB          1.00B   Nov 14 2005
//1/bin/devu-kbd        USB KBD      1.00A   Oct 04 2005
//1/bin/devu-mouse      USB MOUSE    1.00A   Oct 04 2005
//1/bin/devu-prn        USB PRN      1.00A   Oct 04 2005
//1/bin/Net             Net          4.25E   Apr 24 2002
//1/bin/Pipe            Pipe         4.23A   Feb 26 1996
//1/*/photon/bin/Photon Photon       1.14B   Dec 04 2002
//1/*/bin/phfontpfr     Photon Font  1.14H   Dec 06 2002

sin ti

SID   PID PROGRAM                 PRI  START TIME   UTIME  STIME CUTIME CSTIME
  0     1 sys/Proc32              30f Jan 14 05:11  0.680  0.320  0.380  0.750
  0     2 sys/Slib32              10r --- -- --:--  0.000  0.000  0.000  0.000
  0     4 /bin/Fsys               10r --- -- --:--  0.210  0.080  0.000  0.000
  0     5 /bin/Fsys.eide          22r --- -- --:--  8.949  0.040  0.000  0.000
  0     8 idle                     0r --- -- --:--    356  0.000  0.000  0.000
  0    16 //1/bin/Dev32           24f Jan 14 05:12  0.000  0.030  0.000  0.000
  0    19 //1/bin/Dev32.ansi      20r Jan 14 05:12  0.540  0.000  0.000  0.000
  0    21 //1/bin/Dev32.ser       20r Jan 14 05:12  0.000  0.000  0.000  0.000
  0    22 //1/bin/Dev32.par        9o Jan 14 05:12  0.010  0.000  0.000  0.000
  0    23 //1/bin/Dev32.pty       20r Jan 14 05:12  0.000  0.010  0.000  0.000
  0    27 //1/bin/Iso9660fsys     10o Jan 14 05:12  0.000  0.000  0.000  0.000
  0    30 //1/bin/io-usb          15r Jan 14 05:12  0.090  0.050  0.000  0.000
  0    41 //1/bin/devu-kbd        15r Jan 14 05:12  0.000  0.000  0.000  0.000
  0    46 //1/bin/devu-mouse      15r Jan 14 05:12  0.000  0.000 ...
View Full Message
Re: Pg.i830 Driver  
Outputs using Flat driver

sin ar

  PID USER NAME    ARGUMENTS
    1 System       Proc32 -l 1 
    2 System       Slib32 
    4 System       Fsys 
    5 System       Fsys.eide -v fsys -n0=hd -n5=cd 
    8 System       Not available.                  
   16 System       Dev 
   19 System       Dev.ansi -Q -n 6 
   21 System       Dev.ser 
   22 System       Dev.par 
   23 System       Dev.pty -n 16 
   27 System       Iso9660fsys /cd0 
   30 System       io-usb 
   41 System       devu-kbd 
   46 System       devu-mouse 
   50 System       devu-prn 
   55 System       io-usb 
   56 System       devu-kbd 
   57 System       devu-mouse 
   58 System       devu-prn 
   60 System       Net 
   63 System       Pipe 
   64 System       nameloc 
   65 System       nameloc 
   68 System       tinit -T /dev/con1 /dev/con2 /dev/con3 /dev/con4 /dev/con5 /dev/con6 -t /dev/con1 
   69 root         -sh 
   80 root         Photon 
   84 root         //1/qnx4/photon/bin/phfontpfr -c 200k 
   88 root         /qnx4/graphics/drivers/Hydra.ms -S -i0x4111 -s0x0000,0x0010 -r 
   90 root         /qnx4/graphics/drivers/Pg.flatdc -HC0x00000010 -PX -HNqnx/crt -g640x480x16 -A0xD8000000,0x7D0000 -
WB1280 
   94 root         Input kbd -R fd -d/dev/kbd ps2 -r kb -2 microtch -b9600 uart -i4 -p3f8 
   98 root         pwm 
  108 root         Input kbd -R fd -d/dev/kbd ps2 -r kb -2 microtch -b9600 uart -i4 -p3f8 
  118 root         pdm 
  128 root         pterm 
  131 root         /bin/sh 
  132 root         ./simfetch -c /tmp/jaldb.dat -g100 
  133 root         ./ESCM 
  137 root         pterm 
  140 root         /bin/sh 
  142 root         sin ar 

sin ver

PROGRAM                 NAME         VERSION DATE
sys/Proc32              Proc         4.25Q   Jul 18 2005
sys/Proc32              Slib16       4.23G   Oct 04 1996
sys/Slib32              Slib32       4.24B   Aug 12 1997
/bin/Fsys               Fsys32       4.24Y   Apr 23 2002
/bin/Fsys.eide          eide         4.25G   Apr 15 2002
//1/bin/Dev32           Dev32        4.23G   Oct 04 1996
//1/bin/Dev32.ansi      Dev32.ansi   4.23H   Nov 21 1996
//1/bin/Dev32.ser       Dev.ser      4.25A   Feb 14 2003
//1/bin/Dev32.par       Dev32.par    4.25A   Jan 08 2001
//1/bin/Dev32.pty       Dev32.pty    4.23G   Oct 04 1996
//1/bin/Iso9660fsys     Iso9660fsys  4.23D   Mar 20 2000
//1/bin/io-usb          USB          1.00B   Nov 14 2005
//1/bin/devu-kbd        USB KBD      1.00A   Oct 04 2005
//1/bin/devu-mouse      USB MOUSE    1.00A   Oct 04 2005
//1/bin/devu-prn        USB PRN      1.00A   Oct 04 2005
//1/bin/Net             Net          4.25E   Apr 24 2002
//1/bin/Pipe            Pipe         4.23A   Feb 26 1996
//1/*/photon/bin/Photon Photon       1.14B   Dec 04 2002
//1/*/bin/phfontpfr     Photon Font  1.14H   Dec 06 2002

sin ti

SID   PID PROGRAM                 PRI  START TIME   UTIME  STIME CUTIME CSTIME
  0     1 sys/Proc32              30f Jan 14 05:21  0.500  0.360  0.320  1.030
  0     2 sys/Slib32              10r --- -- --:--  0.000  0.000  0.000  0.000
  0     4 /bin/Fsys               10r --- -- --:--  0.200  0.080  0.000  0.000
  0     5 /bin/Fsys.eide          22r --- -- --:--  9.019  0.030  0.000  0.000
  0     8 idle                     0r --- -- --:--    171  0.020  0.000  0.000
  0    16 //1/bin/Dev32           24f Jan 14 05:21  0.000  0.000  0.000  0.000
  0    19 //1/bin/Dev32.ansi      20r Jan 14 05:21  0.550  0.010  0.000  0.000
  0    21 //1/bin/Dev32.ser       20r Jan 14 05:21  0.000  0.000  0.000  0.000
  0    22 //1/bin/Dev32.par        9o Jan 14 05:21  0.010  0.000  0.000  0.000
  0    23 //1/bin/Dev32.pty       20r Jan 14 05:21  0.000  0.000  0.000  0.000
  0    27 //1/bin/Iso9660fsys     10o Jan 14 05:21  0.000  0.000  0.000  0.000
  0    30 //1/bin/io-usb          15r Jan 14 05:21  0.110  0.010  0.000  0.000
  0    41 //1/bin/devu-kbd        15r Jan 14 05:21  0.000  0.000  0.000  0.000
  0    46...
View Full Message
Re: Pg.i830 Driver  
Hello Larry,

Have you gathered information immediately after system boot? Please 
reboot, continuously reproduce your issue several times and then gather 
information. It would be nice to put output of each utility in a separate 
file, then put all files in a single archive and attach it.

Can you prepare simple application to demonstrate your issue?

-- 
Respectfully,
Oleg

> Good Morning Oleg,
> 
> I agree with your assesment as I haven't seen a significant difference
>  with the new driver.  I am not sure how easy it will be to test on
>  another platform.  This is a qualified platform for use in the nuclear
>  industry and we have very few of them around.
> 
> The software environment is also quite complex and was developed by
>  another group.
> 
> I will gather the information that you have requested and we will see
>  where that leads.
> 
> Thank you again for your help.
> 
> Larry
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post45241
> 
Re: Pg.i830 Driver  
Thank you for following up.  My priorities have shifted recently.  I will perform the test youu requested as soon as 
time permits.  I will also try to find different hardware as requested previously.

Thank you.
Re: Pg.i830 Driver  
Good Morning,

Well I am back into screen and widget flicker mode :-).  Since my last post I have tried the application on three 
different hardware platforms to rule out a problem with the first platform I was testing on.

As an update the slow window redraw where you can see the desktop behind the window as it is drawn has been addressed 
(at least temporarily) by setting the default desktop background to light grey (the same as our application). This makes
 the slow redraw much less noticable.

The widget flicker on our mimic displays with our custom widgets is still very noticeable.  This display has 11 or 12 
custom widgets and several static bitmaps respresentling passive devices and piping between the various components.

The base window of the application has a 500 msec. timer that walks the widget hierarchy looking for our custom widgets 
and then calling PtDamageWidget to force the widgets to redraw/repair themselves.  During this process we see a lot of 
flicker as it seems the cursor moves from widget to widget redrawing.  We see what looks like horizontal lines moving 
across and through the widgets.

I have looked at reducing the amount of work inside the draw functions to only draw if something has changed and have 
also experimented with calling PtContainerHold and PtContainerRelease on the window containing the custom widgets in the
 hopes that this would help but there appeared to be no improvement.

The widgets contain graphical representations of various pumps and valves in the plant and are drawn using the low level
 PgDraw functions.  We also set clipping rectangles to ensure we don't draw outside our canvas.

Putting our widgets in a DbContainer eliminates the flicker but we can not use the DbContainer widget in this 
application.  Long story ....

Is it possible to reproduce the effects that the DbContainer has in reducing flicker by calling the appropriate low 
level Photon calls ourselves?

I am hoping that with this information someone can provide some advice on how to remove or at least reduce the amount of
 redraw flicker to an acceptable level.

Thank you.

Larry
Re: Pg.i830 Driver  
Hi Larry,

Does this issue occurs with old and new Pg.i830 and Pg.flat* drivers?

-- 
Respectfully,
Oleg

> Good Morning,
> 
> Well I am back into screen and widget flicker mode :-).  Since my last
> post I have tried the application on three different hardware
> platforms to rule out a problem with the first platform I was testing
> on.
> 
> As an update the slow window redraw where you can see the desktop
> behind the window as it is drawn has been addressed (at least
> temporarily) by setting the default desktop background to light grey
> (the same as our application). This makes the slow redraw much less
> noticable.
> 
> The widget flicker on our mimic displays with our custom widgets is
> still very noticeable.  This display has 11 or 12 custom widgets and
> several static bitmaps respresentling passive devices and piping
> between the various components.
> 
> The base window of the application has a 500 msec. timer that walks the
> widget hierarchy looking for our custom widgets and then calling
> PtDamageWidget to force the widgets to redraw/repair themselves. 
> During this process we see a lot of flicker as it seems the cursor
> moves from widget to widget redrawing.  We see what looks like
> horizontal lines moving across and through the widgets.
> 
> I have looked at reducing the amount of work inside the draw functions
> to only draw if something has changed and have also experimented with
> calling PtContainerHold and PtContainerRelease on the window
> containing the custom widgets in the hopes that this would help but
> there appeared to be no improvement.
> 
> The widgets contain graphical representations of various pumps and
> valves in the plant and are drawn using the low level PgDraw
> functions.  We also set clipping rectangles to ensure we don't draw
> outside our canvas.
> 
> Putting our widgets in a DbContainer eliminates the flicker but we can
> not use the DbContainer widget in this application.  Long story ....
> 
> Is it possible to reproduce the effects that the DbContainer has in
> reducing flicker by calling the appropriate low level Photon calls
> ourselves?
> 
> I am hoping that with this information someone can provide some advice
> on how to remove or at least reduce the amount of redraw flicker to an
> acceptable level.
> 
> Thank you.
> 
> Larry
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post49579
Re: Pg.i830 Driver  
Good Morning Oleg,

I am not sure what you mean by old and new Pg.i830 driver.  The Pg.i830 driver I am using is from the  driver patch on 
the QNX website.  Is there a newer one?

I have tested with both the Pg.i830 driver and the Flat32dc driver.

There is a noticeable difference with the Pg.i830 driver.  There are brief periods of time, perhaps 2-3 seconds at a 
time, when there is no flicker and then it comes back as we see the flicker move down the screen through each of the 
widgets.  Then the cycle continues.

If there is a newer driver please let me know and I will test with it.

Thank you very much.

Larry
Re: Pg.i830 Driver  
Hi Larry,

You should test latest (new) driver from 

http://community.qnx.com/sf/frs/do/viewRelease/projects.qnx4/frs.graphics_drivers.pg_i830

and (old) driver from the QNX4 Update CD 2008 or 
http://www.qnx.com/download/feature.html?programid=16721 .

Please note that old driver doesn't support modern controllers.

-- 
Respectfully,
Oleg

> Good Morning Oleg,
> 
> I am not sure what you mean by old and new Pg.i830 driver.  The Pg.i830
> driver I am using is from the  driver patch on the QNX website.  Is
> there a newer one?
> 
> I have tested with both the Pg.i830 driver and the Flat32dc driver.
> 
> There is a noticeable difference with the Pg.i830 driver.  There are
> brief periods of time, perhaps 2-3 seconds at a time, when there is no
> flicker and then it comes back as we see the flicker move down the
> screen through each of the widgets.  Then the cycle continues.
> 
> If there is a newer driver please let me know and I will test with it.
> 
> Thank you very much.
> 
> Larry
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post49997
Re: Pg.i830 Driver  
Thank you very much for the reply Oleg.  I will download the drivers you mention.

Larry
Re: Pg.i830 Driver  
Good Morning Oleg,

I installed the new driver this morning and unfortunately I saw no noticable difference.  I still see the same redraw/
flicker as before :-(.

Also when I tried to switch from 32bit color to 16 bit color the display went weird with dashed black lines all over.  I
 reset the machine and it came up ok in 16 bit color mode.

What are the nature of the changes between this driver and the one from the release patch?

Any other suggestions?  I have experimented with the PmMem* family of functions but they don't seem to have any 
beneficial effect either.

Thanks.

Larry
Re: Pg.i830 Driver  
Hi Larry,

New driver has been ported from QNX6 to support modern hardware.

Can you provide us sample source to demonstrate flicker issue?

-- 
Respectfully,
Oleg

> Good Morning Oleg,
> 
> I installed the new driver this morning and unfortunately I saw no
> noticable difference.  I still see the same redraw/flicker as before
> :-(.
> 
> Also when I tried to switch from 32bit color to 16 bit color the
> display went weird with dashed black lines all over.  I reset the
> machine and it came up ok in 16 bit color mode.
> 
> What are the nature of the changes between this driver and the one from
> the release patch?
> 
> Any other suggestions?  I have experimented with the PmMem* family of
> functions but they don't seem to have any beneficial effect either.
> 
> Thanks.
> 
> Larry
> 
> 
> 
> _______________________________________________
> 
> General
> http://community.qnx.com/sf/go/post50115
Re: Pg.i830 Driver  
Good Morning Oleg,

I will check with my manager to see what the policy is.  Not sure you will be able to reproduce without our hardware 
platform but it may be worth a try.  Perhaps you will see something just looking at the source.

I will let you know once I hear.

Thanks 

Larry