Graphics Server 6

Posted on  by
  1. Graphics Server 5 For Microsoft Windows
  2. Graphics Server 64
  3. Graphics Server Bits Per Second
  4. Graphics Server 6
  5. Graphic Server 5
Graphics Server 6
  • 6Installation Guide
  • 9Graphics-Server Demo
    • 9.2Demo Execution Results
    • 9.4Demo Code Overview
  1. REDIRECT Template:Contact Us button

Keywords: IMX6 Nitrogen, OpenGL, GPU, Graphics-Server, rendering, hardware acceleration

  • Graphics Server 6.0 provides a rich, comprehensive, yet easy-to-use graphing and charting solution for Windows and Internet developers. Implement in either a client-server environment or serve up stunning browser-independent graphs via the Internet.
  • AMD's dual-GPU FirePro S10000 gobbles watts, spews out nearly 6 TFLOPs for server graphics. Latest in Amd ICYMI: An in-depth look at Apple's MacBook Air M1 11.21.20 View. How good is AMD's Ryzen 9.

New channel 👈Grand Theft Auto V - NaturalVision & VisualV & PRSA Graphics PC MOD GTA 6 PlayStat. Download RTSS Rivatuner Statistics Server This is the official homepage for Rivatuner. Initially designed as a small helper application for RivaTuner graphics card utility, RivaTuner Statistics.


Graphics-Server is an API based on OpenGL 2.0 that allows you to easily make GPU hardware accelerated video, image, and text renderings. It allows you to create graphic objects such as planes or cubes with different textures, for example pictures and USB video. Also, RidgeRun's Graphics-Server gives you the ability to customize the created graphics objects and add animation effects.

RidgeRun provides a C API header and library for the interaction between your application and the Graphics-Server. The interprocess communication is done via DBUS.


General:

  • Based on OpenGL 2.0.
  • Provides a C API for the interaction via DBUS with the graphics-server.
  • The dimensions and position of the objects are normalized values, meaning that a value of 1 indicates the whole screen width or height (depending on the parameter) regardless of the screen resolution. This allows to easily keep the graphics object aspect ratio independent of the display device.
  • Auto detect full screen resolution if the output resolution value is not set.
  • If a change in the screen resolution occurs, all what the user has to do is to call the graphicsRestore() function with the new resolution standard in order to adjust the graphics rendering to the new screen resolution.
  • Customizable alpha, position, size and rotation degrees of each graphics object.
  • Mask frames: This feature consists of a filter that give the possibility to only render a specific section in a particular shape of a video or an image. The shape and section of the rendered video/image is determined by a PNG picture who act as a mask. The alphas of the PNG mask are assigned to the video/image, so only the non-transparent pixels of the mask are rendered with the video/image, the transparent pixels of the mask are removed from the video/image (rendered as transparent pixels).
  • Chroma-Key: This feature consists of a filter that removes pixels from an image that are under the range of a specific RGB signature + RGB Threshold configured by the user. The pixels that fits in that range do not get rendered (become transparent pixels).
  • Alpha Blending: This feature allows to display frame-buffer 0 and frame-buffer 1 outputs superimposed one over the other. The Graphics-Server render its output on frame-buffer 1, so frame-buffer 0 is available for other purposes. If the Alpha blending feature is activated and the rendered output do not have a solid background, you could see the Graphics-Server output displayed on top of the content of the frame-buffer 0.

Text Rendering:

  • Text rendering supports different colors and fonts.
  • Text rendering uses a 'text chart' graphic object. This automatically adjusts the size of the text string to fill the maximum possible area of the text chart, thus automatically adjusting the text size to fit in the text chart size.

Animation:

  • Available animations for any graphic object:
    • Shift (x,y plane).
    • Rotate (x,y,z axes).
    • Scale (up/down scale).
    • Fade.
  • Auto-Movement, Auto-Scaling, Auto-Rotation animations.
  • Configurable rotation rate in rotate animations.
  • Configurable movement interval (time from start to end position) and acceleration in shift animations.
  • Configurable scaling time interval in scale animations.
  • Configurable fading time interval, initial and final alpha values in fade animations.
  • Animation group: This feature consists in a group of individual and diverse elements treated as one entity as far as control tasks are concerned. This allows you to control the animation execution flow of a group of elements. For example: This make possible to start or stop the available animations of all the elements under the group at the same time.


Limitations:

  • Only works on Vivante GPU units.
  • Currently supports display video from a USB source captured with V4l2src and using the common 640x480 resolution.
  • Currently supports to display one video object at a time.
  • Chroma-Key feature works fine with images that has well-defined colors, but has some problems with video (Display some pixels of the undesired color configured in the chroma-Key). For example: If you configured the green color to be blocked by the chroma-key feature (RGB color signature + rgb threshold), the chroma-key feature will only remove the pixels that matches exactly with the configured color signature plus threshold, if there are different green color tones (darker or lighter) in the picture that get out of the RGB range defined by the RGB color signature + threshold, those pixels will be rendered in the final image.

Future enhancement:

  • Add support to display video from different video sources (could be video streams from a file or even the network) and different standard resolutions.
  • Add support to multiple video objects at a time.
  • Improve Chroma-Key implementation to fix issues when it is applied to a video element and to be less sensitive to a specific RGB color signature.
  • Add support to render video in a cube element.
  • Add support to create different 3D figures (not only a cube, mesh loading).
  • Add shaders to support several video transformations.


To run Graphics-Server you need to meet the following system requirements:

  • Linux Kernel 3.0 or above version
  • OpenGL version 2.0
  • GStreamer 1.0 or above version
  • DBus
  • Vivante GPU Drivers


Graphics

Using the RR-SDK

The Graphics-Server has been tested using the IMX6-Nitrogen RidgeRun SDK. Following you will find the installation steps under the RR-SDK:

  • 1) Uncompress the Graphics-Server app tarball into the proprietary directory of the SDK
  • 2) Run 'make config' command on the SDK root (DEVDIR)
  • 3) Select the following elements:
  • 4) Run 'make' command on the SDK root (DEVDIR), or in the Graphics-Server directory run: 'make build install'

Using any other Linux distribution

The Graphics-Server has only been installed and tested using the RidgeRun SDK for IMX6-Nitrogen platform, but it should work fine in other platforms that meet the requirements by just make a quick and easy adjustment in the configuration files, and then just run 'make' command. If you are interested in running the Graphics-Server in another platform with a custom Linux distribution please feel free to contact us and we will help you in the process.


Graphics-Server has a very complete and descriptive documentation generated by Doxygen. To get access to the API documentation go to $Graphics-Server-Installation-DIR/Doc/html/ path and open the index.html file with any browser. For example:

Graphics Server 5 For Microsoft Windows

which will open the documentation in the browser window.


In the below picture you can see a diagram that specifies the coordinates of the Graphics-Server Screen Plane workspace. I it is important to recall that Graphics-Server dimensions and position of the objects are normalized values, meaning that a value of 1 indicates the whole screen width or height (depending on the parameter) regardless of the screen resolution. This allows to easily keep the graphics object aspect ratio no matter the screen resolution.


We made a basic demo that expose all the Graphics-Server features to demonstrate its capabilities.

Execution commands

Graphics-Server execution commands:

  • 1) (Optional) Run in background a GStreamer pipeline that plays a video display it on frame-buffer 0. This allows showing the alpha blending capabilities of the Graphics-Server on IMX6 Nitrogen6X. The video is rendered on frame-buffer 0 and the Graphics-server output is rendered on frame-buffer 1. With alpha blending capabilities the Graphics-Server output (which does not have a solid background) is rendered on top of the playing video, allowing us to see both buffer-frames superimposed one over the other.
  • 2) Run the graphics-server graphics-demo-app:
  • 3) Stop the demo-app and Kill the graphics-server:
  • 4) Restart the graphics-server:

Graphics Server 64

Demo Execution Results

Refer to the first section of this wiki: 'Demo Video'

CPU Performance Statistics

Here is some example output from running the top -d1 command while also running the Graphics-Server demo and the background video play GStreamer pipeline:

Demo Code

You can find the demo source code under: $GRAPHICS_SERVER_INSTALL_DIR/src/src/demo/main.c

Demo Code Overview

Rotary and movable RidgeRun Logo picture cube element

This are the necessary functions to create the rotary and movable cube picture element of the demo:

Graphics Server Bits Per Second

Rotary, masked and movable video element

This are the necessary functions to create the rotary, masked and movable video element of the demo:

Fading and scalable logo plane picture element

This are the necessary functions to set the fading and scalable animation to the logo picture element of the demo:

Text chart element

Graphics Server 6

This are the necessary functions to create the text chart element of the demo:


To change the debug level of the Graphics-Server, you have to change the DEBUG_LEVEL_CONFIG variable value on the principal Makefile accordingly to the following description and recompile the app. By default this variable is set to 0 (No debug).

Retrieved from 'http://developer.ridgerun.com/wiki/index.php?title=Getting_Started_Guide_for_RidgeRun_iMX6_Graphics-Server&oldid=22608'

When you enable 3D graphics, you can select a hardware or software graphics renderer and optimize the graphics memory allocated to the virtual machine. You can increase the number of displays in multi-monitor configurations and change the video card settings to meet your graphics requirements.

The default setting for total video RAM is adequate for minimal desktop resolution. For more complex situations, you can change the default memory. Typically, 3D applications require a video memory of 64–512MB.

Fault Tolerance is not supported for virtual machines that have 3D graphics enabled.

Graphic Server 5

  • Verify that the virtual machine is powered off.
  • Verify that the virtual machine compatibility is ESXi 5.0 and later.
  • To enable 3D graphics in virtual machines with Windows 8 guest operating systems, the virtual machine compatibility must be ESXi 5.1 or later.
  • To use a Hardware 3D renderer, ensure that graphics hardware is available. See Configuring 3D Graphics.
  • If you update the virtual machine compatibility from ESXi 5.1 and later to ESXi 5.5 and later, reinstall VMware Tools to get the latest SVGA virtual graphics driver and Windows Display Driver Model driver.
  • Verify that you have the Virtual machine.Configuration.Modify device settings privilege on the virtual machine.

Procedure

  1. Right-click a virtual machine in the inventory and select Edit Settings.
  2. On the Virtual Hardware tab, expand Video Card.
  3. Select custom or automatic settings for your displays from the drop-down menu. Option
    Description
    Auto-detect settings

    Applies common video settings to the guest operating system.

    Specify custom settings

    Lets you select the number of displays and the total video memory.

  4. Select the number of displays from the drop-down menu.
    You can set the number of displays and extend the screen across them.
  5. Enter the required video memory.
  6. (Optional) Click Video Memory Calculator to calculate the required video memory based on the maximum number of displays and resolution that the guest operating system must support, and click OK.
  7. (Optional) Click Enable 3D support.
    This check box is active only for guest operating systems on which VMware supports 3D.
  8. (Optional) Select a 3D Renderer. Option
    Description
    AutomaticSelects the appropriate option (software or hardware) for this virtual machine.
    Software Uses normal CPU processing for 3D calculations.
    Hardware

    Requires graphics hardware (GPU) for faster 3D calculations.

    Note: The virtual machine will not power on if graphics hardware is not available.
  9. Click OK.
Sufficient memory allocation is set for this virtual machine's graphics.