public static function sw_opengl_driver() { // OpenGL version $info = null; if (phodevi::is_windows()) { $info = null; // TODO: Windows support } else { if (pts_client::executable_in_path('nvidia-settings')) { $info = phodevi_parser::read_nvidia_extension('OpenGLVersion'); } } if ($info == null) { $info = phodevi_parser::software_glxinfo_version(); if ($info && ($pos = strpos($info, ' ')) != false && strpos($info, 'Mesa') === false) { $info = substr($info, 0, $pos); } $renderer = phodevi_parser::read_glx_renderer(); if ($renderer && ($s = strpos($renderer, 'Gallium')) !== false) { $renderer = substr($renderer, $s); $renderer = substr($renderer, 0, strpos($renderer, ' ', strpos($renderer, '.'))); $info .= ' ' . $renderer . ''; } } return $info; }
protected function generate_graphics_data(&$result_file, $system_identifier) { $this->rows[] = $system_identifier; $rows_index = count($this->rows) - 1; foreach ($this->columns as $i => $cpuinfo_item) { switch ($cpuinfo_item) { case 'OpenGL Renderer': $line = phodevi_parser::read_glx_renderer(); break; case 'OpenGL Version': $line = phodevi_parser::software_glxinfo_version(); break; case 'GLSL Version': $line = phodevi_parser::software_glxinfo_glsl_version(); break; case 'OpenGL Extensions': $line = phodevi_parser::software_glxinfo_opengl_extensions(); break; } $this->table_data[$i][$rows_index] = $line; } }