# Frequently Asked Questions

Q: May I use the Phoronix Test Suite when running benchmarks for my own publication or blog? Are there any publishing restrictions?

A: Anyone is more than welcome to use the Phoronix Test Suite for their own publication or purpose. While the Phoronix Test Suite came out of our internal test tools for carrying out Linux hardware reviews at Phoronix.com, we invite other hardware review web-sites, technology journals, and independent publications to use our software too. While not required, we would just kindly ask that you mention in your review/article that the Phoronix Test Suite was used for carrying out your testing, and ideally to link to www.phoronix-test-suite.com so that your readers will know where to obtain the software if they are interested in running the tests. You are also more than welcome to upload your results to OpenBenchmarking.org so that others may compare their results against yours in an easy manner.

We also try to make the Phoronix Test Suite easy-to-use by independent publications. For example, if you would like to watermark your web-site's URL into the graphs containing your test results, that can be easily modified in ~/.phoronix-test-suite/graph-config.json. The colors and other graph settings are also stored in this XML file. If you are a publication and run into any issues with the Phoronix Test Suite or have a feature request, please let us know.

Q: Why does the Phoronix Test Suite not use my distribution's package management system for acquiring all needed packages?

A: The tests themselves are generally downloaded from source and built locally on the machine, rather than fetching any distribution-specific packages. This is done to ensure more comparable results across operating systems / releases, etc. The distribution packager could be applying a number of unknown patches to the software, building the software with unique build options, or making other changes to the software that could skew the results.

Q: Besides being a developer, documentation writer, or having any other unique technical abilities, how else can I contribute to the Phoronix Test Suite?

A: Independent code contributions are very welcome as well as creating your own test profiles and suites. We also appreciate any feedback, comments, or other ideas either by emailing us, posting on GitHub, or sending a message to the mailing list.

Q: Do you offer technical support for the Phoronix Test Suite

A: Paid, professional support is available and is done via our commercial services. We also offer Phoromatic licenses for use within a corporate intranet and other custom services. Free, community support is offered via our mailing list, IRC channel (#phoronix on FreeNode.net, and GitHub.

Q: May I put the Phoronix Test Suite logo on my company's web-site or on my product packaging?

A: Contact us for licensing information and details regarding the Phoronix Certification & Qualification Suite.

Q: How often is the Phoronix Test Suite updated?

A: We provide major updates on a quarterly basis with an occasional point release to fix outstanding bugs or address other issues. The latest work going into the Phoronix Test Suite is accessible via our Git repository at GitHub.com/phoronix-test-suite.

# Tips & Tricks

## General

- The desktop's screensaver will automatically be shutdown when a test is running and will be restored to its previous state upon the test's completion. This is supported for GNOME, KDE, and other XDG-supportive desktop environments.

- If you have many computers you wish to benchmark, once all of your tests have been downloaded, run phoronix-test-suite make-download-cache to generate a copy of these files at ~/.phoronix-test-suite/download-cache/. A download cache is used for conserving time and bandwidth by eliminating the need for the Phoronix Test Suite to download files that have already been downloaded once. Copy this folder to the other systems or copy it to a DVD or USB hard drive, connect it to the next test system, and the Phoronix Test Suite will automatically use this local download cache. Or store these files on a local HTTP/FTP server and then update your ~/.phoronix-test-suite/user-config.xml file to reflect the location of this download cache directory.

## Running

- When running a test in batch mode (through the use of the batch-run or batch-benchmark options) that normally has end-user options (such as the sub-test to run or resolution), the Phoronix Test Suite will run the test with each unique combination of options possible, if configured appropriately.

- When running a test where you are prompted to enter any test options, multiple selections can be performed -- which will result in multiple test runs for each combination of the selected option(s) -- by separating each intended test option / number with a comma.

- When being prompted for the test identifier or the file name for saving the results, several user variables are supported. These include $VIDEO_RESOLUTION, $VIDEO_CARD, $OPERATING_SYSTEM, $PROCESSOR, $MOTHERBOARD, $CHIPSET, and $KERNEL_VERSION. If any of these variables are entered, the Phoronix Test Suite will replace them with their respective values before saving the results.

- If RemoveDownloadFiles is set to TRUE within the user-config.xml file, once a test has been installed the originally downloaded files for that test will be automatically removed. This conserves disk space but will cause these files to be re-downloaded the next time the test needs to be re-installed. This will also not back up the downloaded files to the Phoronix Test Suite download cache. Enabling this option is just recommended for users with very limited disk space.

- If the amount of video memory for your graphics card is incorrectly reported by the Phoronix Test Suite (you can check by running phoronix-test-suite diagnostics), you can use the VIDEO_MEMORY= environment variable for overriding the video memory capacity (in Megabytes) used by the Phoronix Test Suite.

- If the DISPLAY environment variable is not set or NO_GRAPHICS_TESTS environment variable is set, tests of type Graphics will not be run. Likewise, if NO_SYSTEM_TESTS environment variable is set, tests of type System will not run. This applies to all test types where NO_<TEST TYPE>_TESTS is set.

- If while running multiple tests you want to quit the testing prematurely, in a new terminal window type touch ~/.phoronix-test-suite/halt-testing. All results for tests that had already run will be saved (permitting you opted to save the results), except for the test currently being run.

- If you wish to stop the current test run prematurely but continue the testing process, in a new terminal window type touch ~/.phoronix-test-suite/skip-test.

- If you want the specified test(s) to run in a loop for a set period of time, use the TOTAL_LOOP_TIME environment variable. For instance, running TOTAL_LOOP_TIME=120 phoronix-test-suite benchmark ffmpeg would keep running the ffmpeg test profile for 120 minutes.

- If you want the specified test(s) to run in a loop for a set number of times, use the TOTAL_LOOP_COUNT environment variable. For instance, running TOTAL_LOOP_COUNT=3 phoronix-test-suite benchmark ffmpeg would keep running the ffmpeg test profile three times.

- When any tests are being installed and when tests are being run, a lock is created in the system's temporary directory with the name phoronix-test-suite.active (i.e. /tmp/phoronix-test-suite.active) and is removed upon completion. Thus if you have any system scripts that you wish to run when tests are not running or being installed as to not impact the results, one simple way to handle this is by having the script check for the existence of this lock.

## Troubleshooting

In the event that a test profile fails to install or run, the following general troubleshooting steps may be helpful:

- If a test profile fails immediately after starting, check the test profile's directory in ~/.phoronix-test-suite/installed-tests/ to confirm that the needed files are present. On platforms without External Dependencies support (Windows), it may be necessary to download the files manually and place them in this directory. If this is the case, you will notice that the "Downloading" phase of test installation completes instantly.

- Inspect the scripts inside the above test profile's directory and confirm that directories or search paths for the test correspond to those on your system

- Try running the test profile with the debug-benchmark command, or reinstalling with the debug-install command and make note of any unusual output.

## Configuration

- The user configuration options for the Phoronix Test Suite are stored in ~/.phoronix-test-suite/user-config.xml. The batch mode options are also stored within this file and those can be adjusted by running phoronix-test-suite batch-setup.

- The colors, size, and other attributes for the graphs found within the Phoronix Test Suite Results Viewer can be modified via the file ~/.phoronix-test-suite/graph-config.json.

## Test / Suite Writing

- The Phoronix Test Suite recursively determines tests/suites and allows a suite to call another suite.

## Module Writing

- By writing a Phoronix Test Suite module, you can easily extend the functionality of the Phoronix Test Suite. Some examples are being able to email the results upon completion, controlling the system's screensaver, updating a text LCD panel with the current test status, etc.