How to use gpu_screen_resolution_string method of phodevi_gpu class

Best Phoronix-test-suite code snippet using phodevi_gpu.gpu_screen_resolution_string

phodevi_gpu.php

Source:phodevi_gpu.php Github

copy

Full Screen

...55 case 'screen-resolution':56 $property = new phodevi_device_property('gpu_screen_resolution', phodevi::std_caching);57 break;58 case 'screen-resolution-string':59 $property = new phodevi_device_property('gpu_screen_resolution_string', phodevi::std_caching);60 break;61 case '2d-acceleration':62 $property = new phodevi_device_property('gpu_2d_acceleration', phodevi::std_caching);63 break;64 }65 return $property;66 }67 public static function gpu_2d_acceleration()68 {69 $xorg_log = isset(phodevi::$vfs->xorg_log) ? phodevi::$vfs->xorg_log : false;70 $accel_2d = false;71 if($xorg_log)72 {73 if(strpos($xorg_log, 'EXA(0)'))74 {75 $accel_2d = 'EXA';76 }77 else if(stripos($xorg_log, 'GLAMOR acceleration'))78 {79 $accel_2d = 'GLAMOR';80 }81 else if(strpos($xorg_log, 'SNA initialized'))82 {83 $accel_2d = 'SNA';84 }85 else if(strpos($xorg_log, 'UXA(0)'))86 {87 $accel_2d = 'UXA';88 }89 else if(strpos($xorg_log, 'Gallium3D XA'))90 {91 $accel_2d = 'Gallium3D XA';92 }93 else if(strpos($xorg_log, 'shadowfb'))94 {95 $accel_2d = 'ShadowFB';96 }97 }98 return $accel_2d;99 }100 public static function set_property($identifier, $args)101 {102 switch($identifier)103 {104 case 'screen-resolution':105 $property = self::gpu_set_resolution($args);106 break;107 }108 return $property;109 }110 public static function gpu_set_resolution($args)111 {112 if(count($args) != 2 || phodevi::is_windows() || phodevi::is_macosx() || !pts_client::executable_in_path('xrandr'))113 {114 return false;115 }116 $width = $args[0];117 $height = $args[1];118 shell_exec('xrandr -s ' . $width . 'x' . $height . ' 2>&1');119 return phodevi::read_property('gpu', 'screen-resolution') == array($width, $height); // Check if video resolution set worked120 }121 public static function gpu_oc_offset_string()122 {123 $offset = 0;124 if(is_file('/sys/class/drm/card0/device/pp_sclk_od'))125 {126 // AMDGPU OverDrive127 $pp_sclk_od = pts_file_io::file_get_contents('/sys/class/drm/card0/device/pp_sclk_od');128 if(is_numeric($pp_sclk_od) && $pp_sclk_od > 0)129 {130 $offset = 'AMD OverDrive GPU Overclock: ' . $pp_sclk_od . '%';131 }132 }133 return $offset;134 }135 public static function gpu_aa_level()136 {137 // Determine AA level if over-rode138 $aa_level = false;139 if(phodevi::is_nvidia_graphics())140 {141 $nvidia_fsaa = phodevi_parser::read_nvidia_extension('FSAA');142 switch($nvidia_fsaa)143 {144 case 1:145 $aa_level = '2x Bilinear';146 break;147 case 5:148 $aa_level = '4x Bilinear';149 break;150 case 7:151 $aa_level = '8x';152 break;153 case 8:154 $aa_level = '16x';155 break;156 case 10:157 $aa_level = '8xQ';158 break;159 case 12:160 $aa_level = '16xQ';161 break;162 }163 }164 else if(phodevi::is_ati_graphics() && phodevi::is_linux())165 {166 $ati_fsaa = phodevi_linux_parser::read_amd_pcsdb('OpenGL,AntiAliasSamples');167 $ati_fsaa_filter = phodevi_linux_parser::read_amd_pcsdb('OpenGL,AAF');168 if(!empty($ati_fsaa))169 {170 if($ati_fsaa_filter == '0x00000000')171 {172 // Filter: Box173 switch($ati_fsaa)174 {175 case '0x00000002':176 $aa_level = '2x Box';177 break;178 case '0x00000004':179 $aa_level = '4x Box';180 break;181 case '0x00000008':182 $aa_level = '8x Box';183 break;184 }185 }186 else if($ati_fsaa_filter == '0x00000001')187 {188 // Filter: Narrow-tent189 switch($ati_fsaa)190 {191 case '0x00000002':192 $aa_level = '4x Narrow-tent';193 break;194 case '0x00000004':195 $aa_level = '8x Narrow-tent';196 break;197 case '0x00000008':198 $aa_level = '12x Narrow-tent';199 break;200 }201 }202 else if($ati_fsaa_filter == '0x00000002')203 {204 // Filter: Wide-tent205 switch($ati_fsaa)206 {207 case '0x00000002':208 $aa_level = '6x Wide-tent';209 break;210 case '0x00000004':211 $aa_level = '8x Wide-tent';212 break;213 case '0x00000008':214 $aa_level = '16x Wide-tent';215 break;216 }217 }218 else if($ati_fsaa_filter == '0x00000003')219 {220 // Filter: Edge-detect221 switch($ati_fsaa)222 {223 case '0x00000004':224 $aa_level = '12x Edge-detect';225 break;226 case '0x00000008':227 $aa_level = '24x Edge-detect';228 break;229 }230 }231 }232 }233 else if(phodevi::is_mesa_graphics())234 {235 $gallium_msaa = getenv('GALLIUM_MSAA');236 if(is_numeric($gallium_msaa) && $gallium_msaa > 0)237 {238 // Simple test to try to figure out if the GALLIUM_MSAA anti-aliasing value was forced239 $aa_level = $gallium_msaa . 'x MSAA';240 }241 }242 else if(getenv('__GL_FSAA_MODE'))243 {244 $gl_msaa = getenv('__GL_FSAA_MODE');245 if(is_numeric($gl_msaa) && $gl_msaa > 0)246 {247 $aa_level = '__GL_FSAA_MODE=' . $gallium_msaa;248 }249 }250 return $aa_level;251 }252 public static function gpu_af_level()253 {254 // Determine AF level if over-rode255 $af_level = false;256 if(phodevi::is_nvidia_graphics())257 {258 $nvidia_af = phodevi_parser::read_nvidia_extension('LogAniso');259 switch($nvidia_af)260 {261 case 1:262 $af_level = '2x';263 break;264 case 2:265 $af_level = '4x';266 break;267 case 3:268 $af_level = '8x';269 break;270 case 4:271 $af_level = '16x';272 break;273 }274 }275 else if(phodevi::is_ati_graphics() && phodevi::is_linux())276 {277 $ati_af = phodevi_linux_parser::read_amd_pcsdb('OpenGL,AnisoDegree');278 if(!empty($ati_af))279 {280 switch($ati_af)281 {282 case '0x00000002':283 $af_level = '2x';284 break;285 case '0x00000004':286 $af_level = '4x';287 break;288 case '0x00000008':289 $af_level = '8x';290 break;291 case '0x00000010':292 $af_level = '16x';293 break;294 }295 }296 }297 else if(getenv('__GL_LOG_MAX_ANISO'))298 {299 $max_aniso = getenv('__GL_LOG_MAX_ANISO');300 if(is_numeric($max_aniso) && $max_aniso > 0)301 {302 switch($max_aniso)303 {304 case 1:305 $max_aniso = '2x';306 break;307 case 2:308 $max_aniso = '4x';309 break;310 case 3:311 $max_aniso = '8x';312 break;313 case 4:314 $max_aniso = '16x';315 break;316 }317 $af_level = $max_aniso;318 }319 }320 return $af_level;321 }322 public static function gpu_compute_cores()323 {324 // Determine AF level if over-rode325 $cores = 0;326 if(phodevi::is_nvidia_graphics())327 {328 $cores = phodevi_parser::read_nvidia_extension('CUDACores');329 }330 return $cores;331 }332 public static function gpu_xrandr_resolution()333 {334 $resolution = false;335 if(pts_client::executable_in_path('xrandr') && getenv('DISPLAY'))336 {337 // Read resolution from xrandr338 // First try reading "current" screen 0 as it should better handle multiple monitors, etc.339 // e.g. Screen 0: minimum 1 x 1, current 2560 x 1341, maximum 8192 x 8192340 $info = shell_exec('xrandr 2>&1');341 $info = substr($info, strpos($info, 'current ') + 8);342 $info = explode(' x ', trim(substr($info, 0, strpos($info, ','))));343 if(count($info) == 2 && is_numeric($info[0]) && is_numeric($info[1]))344 {345 $resolution = $info;346 }347 if($resolution == false)348 {349 $info = shell_exec('xrandr 2>&1 | grep "*"');350 if(strpos($info, '*') !== false)351 {352 $res = pts_strings::trim_explode('x', $info);353 if(isset($res[1]))354 {355 $res[0] = substr($res[0], strrpos($res[0], ' '));356 $res[1] = substr($res[1], 0, strpos($res[1], ' '));357 $res = array_map('trim', $res);358 if(is_numeric($res[0]) && is_numeric($res[1]))359 {360 $resolution = array($res[0], $res[1]);361 }362 }363 }364 }365 }366 return $resolution;367 }368 public static function gpu_screen_resolution()369 {370 $resolution = false;371 if((($default_mode = getenv('DEFAULT_VIDEO_MODE')) != false))372 {373 $default_mode = explode('x', $default_mode);374 if(count($default_mode) == 2 && is_numeric($default_mode[0]) && is_numeric($default_mode[1]))375 {376 return $default_mode;377 }378 }379 if(phodevi::is_macosx())380 {381 $info = pts_strings::trim_explode(' ', phodevi_osx_parser::read_osx_system_profiler('SPDisplaysDataType', 'Resolution'));382 $resolution = array();383 $resolution[0] = $info[0];384 $resolution[1] = $info[2];385 }386 else if(phodevi::is_linux() || phodevi::is_bsd() || phodevi::is_solaris())387 {388 if($resolution == false && pts_client::executable_in_path('xrandr'))389 {390 $resolution = self::gpu_xrandr_resolution();391 }392 if($resolution == false && phodevi::is_linux())393 {394 // Before calling xrandr first try to get the resolution through KMS path395 foreach(pts_file_io::glob('/sys/class/drm/card*/*/modes') as $connector_path)396 {397 $connector_path = dirname($connector_path) . '/';398 if(is_file($connector_path . 'enabled') && pts_file_io::file_get_contents($connector_path . 'enabled') == 'enabled')399 {400 $mode = pts_arrays::first_element(explode("\n", pts_file_io::file_get_contents($connector_path . 'modes')));401 $info = pts_strings::trim_explode('x', $mode);402 if(count($info) == 2)403 {404 $resolution = $info;405 break;406 }407 }408 }409 }410 if($resolution == false && phodevi::is_nvidia_graphics())411 {412 // Way to find resolution through NVIDIA's NV-CONTROL extension413 // But rely upon xrandr first since when using NVIDIA TwinView the reported FrontEndResolution may be the smaller of the two414 if(($frontend_res = phodevi_parser::read_nvidia_extension('FrontendResolution')) != false)415 {416 $resolution = pts_strings::comma_explode($frontend_res);417 }418 }419 if($resolution == false)420 {421 // Fallback to reading resolution from xdpyinfo422 foreach(phodevi_parser::read_xdpy_monitor_info() as $monitor_line)423 {424 $this_resolution = substr($monitor_line, strpos($monitor_line, ': ') + 2);425 $this_resolution = substr($this_resolution, 0, strpos($this_resolution, ' '));426 $this_resolution = explode('x', $this_resolution);427 if(count($this_resolution) == 2 && is_numeric($this_resolution[0]) && is_numeric($this_resolution[1]))428 {429 $resolution = $this_resolution;430 break;431 }432 }433 }434 if($resolution == false && is_readable('/sys/class/graphics/fb0/virtual_size'))435 {436 // As last fall-back try reading size of fb437 $virtual_size = explode(',', pts_file_io::file_get_contents('/sys/class/graphics/fb0/virtual_size'));438 if(count($virtual_size) == 2 && is_numeric($virtual_size[0]) && is_numeric($virtual_size[1]))439 {440 $resolution = $virtual_size;441 }442 }443 }444 return $resolution == false ? array(-1, -1) : $resolution;445 }446 public static function gpu_screen_resolution_string()447 {448 // Return the current screen resolution449 $resolution = implode('x', phodevi::read_property('gpu', 'screen-resolution'));450 if($resolution == '-1x-1')451 {452 $resolution = null;453 }454 return $resolution;455 }456 public static function gpu_available_modes()457 {458 // XRandR available modes459 $current_resolution = phodevi::read_property('gpu', 'screen-resolution');460 $current_pixel_count = $current_resolution[0] * $current_resolution[1];...

Full Screen

Full Screen

gpu_screen_resolution_string

Using AI Code Generation

copy

Full Screen

1require_once('/usr/share/php/phodevi/gpu.php');2echo phodevi_gpu::gpu_screen_resolution_string();3require_once('/usr/share/php/phodevi/gpu.php');4echo phodevi_gpu::gpu_screen_resolution_string();5require_once('/usr/share/php/phodevi/gpu.php');6echo phodevi_gpu::gpu_screen_resolution_string();7require_once('/usr/share/php/phodevi/gpu.php');8echo phodevi_gpu::gpu_screen_resolution_string();9require_once('/usr/share/php/phodevi/gpu.php');10echo phodevi_gpu::gpu_screen_resolution_string();11require_once('/usr/share/php/phodevi/gpu.php');12echo phodevi_gpu::gpu_screen_resolution_string();13require_once('/usr/share/php/phodevi/gpu.php');14echo phodevi_gpu::gpu_screen_resolution_string();15require_once('/usr/share/php/phodevi/gpu.php');16echo phodevi_gpu::gpu_screen_resolution_string();17require_once('/usr/share/php/phodevi/gpu.php');18echo phodevi_gpu::gpu_screen_resolution_string();19require_once('/usr/share/php/phodevi/gpu.php');20echo phodevi_gpu::gpu_screen_resolution_string();21require_once('/usr/share/php/phodevi/gpu.php');22echo phodevi_gpu::gpu_screen_resolution_string();

Full Screen

Full Screen

gpu_screen_resolution_string

Using AI Code Generation

copy

Full Screen

1require_once 'phodevi.php';2echo phodevi_gpu::gpu_screen_resolution_string();3require_once 'phodevi.php';4echo phodevi_gpu::gpu_screen_resolution_string();5require_once 'phodevi.php';6echo phodevi_gpu::gpu_screen_resolution_string();7require_once 'phodevi.php';8echo phodevi_gpu::gpu_screen_resolution_string();9require_once 'phodevi.php';10echo phodevi_gpu::gpu_screen_resolution_string();11require_once 'phodevi.php';12echo phodevi_gpu::gpu_screen_resolution_string();13require_once 'phodevi.php';14echo phodevi_gpu::gpu_screen_resolution_string();15require_once 'phodevi.php';16echo phodevi_gpu::gpu_screen_resolution_string();17require_once 'phodevi.php';18echo phodevi_gpu::gpu_screen_resolution_string();19require_once 'phodevi.php';20echo phodevi_gpu::gpu_screen_resolution_string();

Full Screen

Full Screen

gpu_screen_resolution_string

Using AI Code Generation

copy

Full Screen

1include_once('phodevi.php');2echo phodevi_gpu::gpu_screen_resolution_string();3include_once('phodevi.php');4echo phodevi_gpu::gpu_screen_resolution_string();5include_once('phodevi.php');6echo phodevi_gpu::gpu_screen_resolution_string();7include_once('phodevi.php');8echo phodevi_gpu::gpu_screen_resolution_string();9include_once('phodevi.php');10echo phodevi_gpu::gpu_screen_resolution_string();11include_once('phodevi.php');12echo phodevi_gpu::gpu_screen_resolution_string();13include_once('phodevi.php');14echo phodevi_gpu::gpu_screen_resolution_string();15include_once('phodevi.php');

Full Screen

Full Screen

gpu_screen_resolution_string

Using AI Code Generation

copy

Full Screen

1include 'phodevi.php';2$gpu = new phodevi_gpu();3$screen_resolution = $gpu->gpu_screen_resolution_string();4if($screen_resolution != null)5{6echo $screen_resolution;7}8{9echo 'N/A';10}11include 'phodevi.php';12$gpu = new phodevi_gpu();13$screen_resolution = $gpu->gpu_screen_resolution_array();14if($screen_resolution != null)15{16echo $screen_resolution['width'].' x '.$screen_resolution['height'];17}18{19echo 'N/A';20}21include 'phodevi.php';22$gpu = new phodevi_gpu();23$screen_resolution = $gpu->gpu_screen_resolution_array();24if($screen_resolution != null)25{26echo $screen_resolution['width'].' x '.$screen_resolution['height'];27}28{29echo 'N/A';30}

Full Screen

Full Screen

gpu_screen_resolution_string

Using AI Code Generation

copy

Full Screen

1require_once('phodevi.php');2$gpu = new phodevi_gpu();3echo $gpu->gpu_screen_resolution_string();4require_once('phodevi.php');5$gpu = new phodevi_gpu();6echo $gpu->gpu_temperature();

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Phoronix-test-suite automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Trigger gpu_screen_resolution_string code on LambdaTest Cloud Grid

Execute automation tests with gpu_screen_resolution_string on a cloud-based Grid of 3000+ real browsers and operating systems for both web and mobile applications.

Test now for Free

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful