LINUX.ORG.RU

Слайдшоу в Chromium / Chrome и в Электрон-софте на 4K мониторе

 , , ,


0

0

Имеется:

  • cpu: Intel Core i5-9500
  • mem: 32GB
  • motherboard: Gigabyte B365M
  • video (internal): Intel UHD Graphics 630
  • video (external): Gigabyte Radeon RX 550 (драйвер от AMD установлен)
  • display: 2 одинаковых монитора 4K 3840x2160
  • OS: Ubuntu 20.04, i3wm
  • включено масштабирование HIDPi

Сначала не было внешней видеокарты, один монитор был подключен к DisplayPort (далее DP), другой к HDMI.
Монитор через DP работал ок - 3840x2160/60Hz, а через HDMI было слайдшоу из-за частоты 3840x2160/30Hz.

Чтож, раз сразу я не подумал про HDMI и эти 30Hz, пришлось купить внешнюю видеокарту.
Сейчас оба монитора ч/з DP, оба выдают нормальные разрешение и частоту 3840x2160/60Hz (проверял в меню самих мониторов).
Кабели DP оригинальные, шли в комплекте с мониторами.
DP-1 подключен к встроенной, DP-2 к внешней.
Слайдшоу частично прошло - стало терпимее, но все равно есть не идеально:

  • на встренной все работает отлично
  • на внешней тормозит Chrome/Chromium и прочие VSCod-ы.

Похоже, проблемы именно в движке Chromium, т.к. другой софт работает ок на обоих мониторах. Например:

  • evince, листание .pdf-файла
  • gedit, листание большого .txt-файла
  • IntelliJ IDEA, листание большого .java-файла

Ниже данные из inxi и chrome://gpu/ Chromium-а
inxi:

System:    Host: workstation Kernel: 5.4.0-33-generic x86_64 bits: 64 Desktop: Gnome 3.36.2 
           Distro: Ubuntu 20.04 LTS (Focal Fossa) 
Machine:   Type: Desktop System: Gigabyte product: B365M D3H v: N/A serial: <superuser/root required> 
           Mobo: Gigabyte model: B365M D3H-CF v: x.x serial: <superuser/root required> UEFI [Legacy]: American Megatrends 
           v: F2 date: 08/13/2019 
CPU:       Topology: 6-Core model: Intel Core i5-9500 bits: 64 type: MCP L2 cache: 9216 KiB 
           Speed: 1139 MHz min/max: 800/4400 MHz Core speeds (MHz): 1: 800 2: 800 3: 800 4: 800 5: 800 6: 800 
Graphics:  Device-1: Intel UHD Graphics 630 driver: i915 v: kernel 
           Device-2: Advanced Micro Devices [AMD/ATI] Baffin [Radeon RX 550 640SP / RX 560/560X] driver: amdgpu v: kernel 
           Display: x11 server: X.Org 1.20.8 driver: amdgpu,ati,modesetting unloaded: fbdev,vesa 
           resolution: 3840x2160~60Hz, 3840x2160~60Hz 
           OpenGL: renderer: Mesa Intel UHD Graphics 630 (CFL GT2) 
           v: 4.6 Mesa 20.2.0-devel (git-27b7b89 2020-06-11 focal-oibaf-ppa) 
Audio:     Device-1: Intel 200 Series PCH HD Audio driver: snd_hda_intel 
           Device-2: AMD Baffin HDMI/DP Audio [Radeon RX 550 640SP / RX 560/560X] driver: snd_hda_intel 
           Sound Server: ALSA v: k5.4.0-33-generic 
Network:   Device-1: Intel Ethernet I219-V driver: e1000e 
           IF: eno1 state: up speed: 100 Mbps duplex: full mac: b4:2e:99:ce:49:75 
           IF-ID-1: br-84a62275a81c state: down mac: 02:42:ce:9c:07:ef 
           IF-ID-2: docker0 state: down mac: 02:42:4a:2e:e4:93 
           IF-ID-3: tun0 state: unknown speed: 10 Mbps duplex: full mac: N/A 
Drives:    Local Storage: total: 1.14 TiB used: 355.56 GiB (30.5%) 
           ID-1: /dev/sda vendor: Samsung model: SSD 860 EVO 250GB size: 232.89 GiB 
           ID-2: /dev/sdb vendor: Seagate model: ST1000DM010-2EP102 size: 931.51 GiB 
Partition: ID-1: / size: 227.28 GiB used: 106.86 GiB (47.0%) fs: ext4 dev: /dev/dm-0 
           ID-2: swap-1 size: 980.0 MiB used: 131.0 MiB (13.4%) fs: swap dev: /dev/dm-1 
Sensors:   System Temperatures: cpu: 38.0 C mobo: N/A gpu: amdgpu temp: 29 C 
           Fan Speeds (RPM): N/A gpu: amdgpu fan: 1556 
Info:      Processes: 361 Uptime: 6d 12h 01m Memory: 31.24 GiB used: 4.50 GiB (14.4%) Shell: bash inxi: 3.0.38 

chrome://gpu/:


Graphics Feature Status
Canvas: Hardware accelerated
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
Out-of-process Rasterization: Disabled
OpenGL: Enabled
Hardware Protected Video Decode: Unavailable
Rasterization: Software only. Hardware acceleration disabled
Skia Renderer: Enabled
Video Decode: Unavailable
Vulkan: Disabled
WebGL: Hardware accelerated
WebGL2: Hardware accelerated
Driver Bug Workarounds
adjust_src_dst_region_for_blitframebuffer
clear_uniforms_before_first_program_use
count_all_in_varyings_packing
disable_post_sub_buffers_for_onscreen_surfaces
exit_on_context_lost
msaa_is_slow
rely_on_implicit_sync_for_swap_buffers
scalarize_vec_and_mat_constructor_args
disabled_extension_GL_KHR_blend_equation_advanced
disabled_extension_GL_KHR_blend_equation_advanced_coherent
disabled_extension_GL_MESA_framebuffer_flip_y
Problems Detected
Accelerated video decode is unavailable on Linux: 137247, 1032907
Disabled Features: accelerated_video_decode
Protected video decoding with swap chain is for Windows and Intel only
Disabled Features: protected_video_decode
Clear uniforms before first program use on all platforms: 124764, 349137
Applied Workarounds: clear_uniforms_before_first_program_use
Mesa drivers in Linux handle varyings without static use incorrectly: 333885
Applied Workarounds: count_all_in_varyings_packing
Disable partial swaps on Mesa drivers (detected with GL_RENDERER): 339493
Applied Workarounds: disable_post_sub_buffers_for_onscreen_surfaces
Always rewrite vec/mat constructors to be consistent: 398694
Applied Workarounds: scalarize_vec_and_mat_constructor_args
On Intel GPUs MSAA performance is not acceptable for GPU rasterization: 527565
Applied Workarounds: msaa_is_slow
Disable partial swaps on Mesa drivers (detected with GL_VERSION): 339493
Applied Workarounds: disable_post_sub_buffers_for_onscreen_surfaces
adjust src/dst region if blitting pixels outside framebuffer on Linux Intel: 664740
Applied Workarounds: adjust_src_dst_region_for_blitframebuffer
Disable KHR_blend_equation_advanced until cc shaders are updated: 661715
Applied Workarounds: disable(GL_KHR_blend_equation_advanced), disable(GL_KHR_blend_equation_advanced_coherent)
Some drivers can't recover after OUT_OF_MEM and context lost: 893177
Applied Workarounds: exit_on_context_lost
Avoid waiting on a egl fence before swapping buffers and rely on implicit sync on Intel GPUs: 938286
Applied Workarounds: rely_on_implicit_sync_for_swap_buffers
Disable GL_MESA_framebuffer_flip_y for desktop GL: 964010
Applied Workarounds: disable(GL_MESA_framebuffer_flip_y)
Version Information
Data exported	2020-06-12T08:02:11.371Z
Chrome version	Chrome/81.0.4044.138
Operating system	Linux 5.4.0-33-generic
Software rendering list URL	https://chromium.googlesource.com/chromium/src/+/8c6c7ba89cc9453625af54f11fd83179e23450fa/gpu/config/software_rendering_list.json
Driver bug list URL	https://chromium.googlesource.com/chromium/src/+/8c6c7ba89cc9453625af54f11fd83179e23450fa/gpu/config/gpu_driver_bug_list.json
ANGLE commit id	unknown hash
2D graphics backend	Skia/81 5e3098d8fad5b3a6fa9c70d6438f416eec201db7
Command Line	/usr/lib/chromium-browser/chromium-browser --enable-pinch --flag-switches-begin --flag-switches-end --disable-webrtc-apm-in-audio-service
Driver Information
Initialization time	73
In-process GPU	false
Passthrough Command Decoder	false
Sandboxed	false
GPU0	VENDOR= 0x1002, DEVICE=0x67ff
GPU1	VENDOR= 0x8086, DEVICE=0x3e92 *ACTIVE*
Optimus	false
AMD switchable	true
Driver vendor	Mesa
Driver version	20.2.0
GPU CUDA compute capability major version	0
Pixel shader version	4.60
Vertex shader version	4.60
Max. MSAA samples	16
Machine model name	
Machine model version	
GL_VENDOR	Intel
GL_RENDERER	Mesa Intel(R) UHD Graphics 630 (CFL GT2)
GL_VERSION	4.6 (Core Profile) Mesa 20.2.0-devel (git-27b7b89 2020-06-11 focal-oibaf-ppa)
GL_EXTENSIONS	GL_3DFX_texture_compression_FXT1 GL_AMD_conservative_depth GL_AMD_depth_clamp_separate GL_AMD_draw_buffers_blend GL_AMD_gpu_shader_int64 GL_AMD_multi_draw_indirect GL_AMD_performance_monitor GL_AMD_pinned_memory GL_AMD_query_buffer_object GL_AMD_seamless_cubemap_per_texture GL_AMD_shader_stencil_export GL_AMD_shader_trinary_minmax GL_AMD_texture_texture4 GL_AMD_vertex_shader_layer GL_AMD_vertex_shader_viewport_index GL_ANGLE_texture_compression_dxt3 GL_ANGLE_texture_compression_dxt5 GL_ARB_ES2_compatibility GL_ARB_ES3_1_compatibility GL_ARB_ES3_2_compatibility GL_ARB_ES3_compatibility GL_ARB_arrays_of_arrays GL_ARB_base_instance GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_compressed_texture_pixel_storage GL_ARB_compute_shader GL_ARB_compute_variable_group_size GL_ARB_conditional_render_inverted GL_ARB_conservative_depth GL_ARB_copy_buffer GL_ARB_copy_image GL_ARB_cull_distance GL_ARB_debug_output GL_ARB_depth_buffer_float GL_ARB_depth_clamp GL_ARB_derivative_control GL_ARB_direct_state_access GL_ARB_draw_buffers GL_ARB_draw_buffers_blend GL_ARB_draw_elements_base_vertex GL_ARB_draw_indirect GL_ARB_draw_instanced GL_ARB_enhanced_layouts GL_ARB_explicit_attrib_location GL_ARB_explicit_uniform_location GL_ARB_fragment_coord_conventions GL_ARB_fragment_layer_viewport GL_ARB_fragment_shader GL_ARB_fragment_shader_interlock GL_ARB_framebuffer_no_attachments GL_ARB_framebuffer_object GL_ARB_framebuffer_sRGB GL_ARB_get_program_binary GL_ARB_get_texture_sub_image GL_ARB_gl_spirv GL_ARB_gpu_shader5 GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader_int64 GL_ARB_half_float_pixel GL_ARB_half_float_vertex GL_ARB_indirect_parameters GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_internalformat_query2 GL_ARB_invalidate_subdata GL_ARB_map_buffer_alignment GL_ARB_map_buffer_range GL_ARB_multi_bind GL_ARB_multi_draw_indirect GL_ARB_occlusion_query2 GL_ARB_parallel_shader_compile GL_ARB_pipeline_statistics_query GL_ARB_pixel_buffer_object GL_ARB_point_sprite GL_ARB_polygon_offset_clamp GL_ARB_post_depth_coverage GL_ARB_program_interface_query GL_ARB_provoking_vertex GL_ARB_query_buffer_object GL_ARB_robust_buffer_access_behavior GL_ARB_robustness GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_seamless_cube_map GL_ARB_seamless_cubemap_per_texture GL_ARB_separate_shader_objects GL_ARB_shader_atomic_counter_ops GL_ARB_shader_atomic_counters GL_ARB_shader_ballot GL_ARB_shader_bit_encoding GL_ARB_shader_clock GL_ARB_shader_draw_parameters GL_ARB_shader_group_vote GL_ARB_shader_image_load_store GL_ARB_shader_image_size GL_ARB_shader_objects GL_ARB_shader_precision GL_ARB_shader_stencil_export GL_ARB_shader_storage_buffer_object GL_ARB_shader_subroutine GL_ARB_shader_texture_image_samples GL_ARB_shader_texture_lod GL_ARB_shader_viewport_layer_array GL_ARB_shading_language_420pack GL_ARB_shading_language_include GL_ARB_shading_language_packing GL_ARB_spirv_extensions GL_ARB_stencil_texturing GL_ARB_sync GL_ARB_tessellation_shader GL_ARB_texture_barrier GL_ARB_texture_buffer_object GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_buffer_range GL_ARB_texture_compression_bptc GL_ARB_texture_compression_rgtc GL_ARB_texture_cube_map_array GL_ARB_texture_filter_anisotropic GL_ARB_texture_float GL_ARB_texture_gather GL_ARB_texture_mirror_clamp_to_edge GL_ARB_texture_multisample GL_ARB_texture_non_power_of_two GL_ARB_texture_query_levels GL_ARB_texture_query_lod GL_ARB_texture_rectangle GL_ARB_texture_rg GL_ARB_texture_rgb10_a2ui GL_ARB_texture_stencil8 GL_ARB_texture_storage GL_ARB_texture_storage_multisample GL_ARB_texture_swizzle GL_ARB_texture_view GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_transform_feedback_instanced GL_ARB_transform_feedback_overflow_query GL_ARB_uniform_buffer_object GL_ARB_vertex_array_bgra GL_ARB_vertex_array_object GL_ARB_vertex_attrib_64bit GL_ARB_vertex_attrib_binding GL_ARB_vertex_buffer_object GL_ARB_vertex_shader GL_ARB_vertex_type_10f_11f_11f_rev GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_ATI_blend_equation_separate GL_ATI_texture_float GL_EXT_EGL_image_storage GL_EXT_EGL_sync GL_EXT_abgr GL_EXT_blend_equation_separate GL_EXT_demote_to_helper_invocation GL_EXT_draw_buffers2 GL_EXT_draw_instanced GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_framebuffer_object GL_EXT_framebuffer_sRGB GL_EXT_packed_depth_stencil GL_EXT_packed_float GL_EXT_pixel_buffer_object GL_EXT_polygon_offset_clamp GL_EXT_provoking_vertex GL_EXT_shader_framebuffer_fetch GL_EXT_shader_framebuffer_fetch_non_coherent GL_EXT_shader_integer_mix GL_EXT_shader_samples_identical GL_EXT_texture_array GL_EXT_texture_compression_dxt1 GL_EXT_texture_compression_rgtc GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_integer GL_EXT_texture_sRGB GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_decode GL_EXT_texture_shadow_lod GL_EXT_texture_shared_exponent GL_EXT_texture_snorm GL_EXT_texture_swizzle GL_EXT_timer_query GL_EXT_transform_feedback GL_EXT_vertex_array_bgra GL_EXT_vertex_attrib_64bit GL_IBM_multimode_draw_arrays GL_INTEL_blackhole_render GL_INTEL_conservative_rasterization GL_INTEL_performance_query GL_INTEL_shader_atomic_float_minmax GL_INTEL_shader_integer_functions2 GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_KHR_context_flush_control GL_KHR_debug GL_KHR_no_error GL_KHR_parallel_shader_compile GL_KHR_robust_buffer_access_behavior GL_KHR_robustness GL_KHR_texture_compression_astc_ldr GL_KHR_texture_compression_astc_sliced_3d GL_MESA_framebuffer_flip_y GL_MESA_pack_invert GL_MESA_shader_integer_functions GL_MESA_texture_signed_rgba GL_NV_compute_shader_derivatives GL_NV_conditional_render GL_NV_copy_image GL_NV_depth_clamp GL_NV_fragment_shader_interlock GL_NV_packed_depth_stencil GL_NV_texture_barrier GL_OES_EGL_image GL_S3_s3tc
Disabled Extensions	GL_KHR_blend_equation_advanced GL_KHR_blend_equation_advanced_coherent GL_MESA_framebuffer_flip_y
Disabled WebGL Extensions	
Window system binding vendor	SGI
Window system binding version	1.4
Window system binding extensions	GLX_ARB_create_context GLX_ARB_create_context_no_error GLX_ARB_create_context_profile GLX_ARB_create_context_robustness GLX_ARB_fbconfig_float GLX_ARB_framebuffer_sRGB GLX_ARB_get_proc_address GLX_ARB_multisample GLX_EXT_buffer_age GLX_EXT_create_context_es2_profile GLX_EXT_create_context_es_profile GLX_EXT_fbconfig_packed_float GLX_EXT_framebuffer_sRGB GLX_EXT_import_context GLX_EXT_texture_from_pixmap GLX_EXT_visual_info GLX_EXT_visual_rating GLX_INTEL_swap_event GLX_MESA_copy_sub_buffer GLX_MESA_query_renderer GLX_MESA_swap_control GLX_OML_swap_method GLX_OML_sync_control GLX_SGIS_multisample GLX_SGIX_fbconfig GLX_SGIX_pbuffer GLX_SGIX_visual_select_group GLX_SGI_make_current_read GLX_SGI_swap_control GLX_SGI_video_sync
Window manager	i3
XDG_CURRENT_DESKTOP	i3
GDMSESSION	i3
Compositing manager	No
System visual ID	33
RGBA visual ID	1905
Direct rendering version	DRI3
Reset notification strategy	0x8252
GPU process crash count	0
gfx::BufferFormats supported for allocation and texturing	R_8: not supported, R_16: not supported, RG_88: not supported, BGR_565: not supported, RGBA_4444: not supported, RGBX_8888: not supported, RGBA_8888: not supported, BGRX_8888: not supported, BGRX_1010102: not supported, RGBA_1010102: not supported, BGRA_8888: not supported, RGBA_F16: not supported, YVU_420: not supported, YUV_420_BIPLANAR: not supported, P010: not supported
Compositor Information
Tile Update Mode	One-copy
Partial Raster	Enabled
GpuMemoryBuffers Status
R_8	Software only
R_16	Software only
RG_88	Software only
BGR_565	Software only
RGBA_4444	Software only
RGBX_8888	Software only
RGBA_8888	Software only
BGRX_8888	Software only
BGRX_1010102	Software only
RGBA_1010102	Software only
BGRA_8888	Software only
RGBA_F16	Software only
YVU_420	Software only
YUV_420_BIPLANAR	Software only
P010	Software only
Display(s) Information
Info	Display[8564274688388418] bounds=[0,0 2133x1200], workarea=[0,0 2134x1200], scale=1.8, rotation=0, panel_rotation=0 external.
Color space information	{primaries_d50_referred: [[0.6830, 0.3130], [0.3001, 0.6589], [0.1589, 0.0529]], transfer:IEC61966_2_1, matrix:RGB, range:FULL}
SDR white level in nits	100
Bits per color component	8
Bits per pixel	24
Refresh Rate in Hz	59
Info	Display[8564274688388494] bounds=[2134,0 2132x1200], workarea=[2133,0 2134x1200], scale=1.8, rotation=0, panel_rotation=0 external.
Color space information	{primaries:BT709, transfer:IEC61966_2_1, matrix:RGB, range:FULL}
SDR white level in nits	100
Bits per color component	8
Bits per pixel	24
Refresh Rate in Hz	59
Video Acceleration Information
Vulkan Information
Log Messages
[422498:422498:0612/105359.583791:ERROR:sandbox_linux.cc(374)] : InitializeSandbox() called with multiple threads in process gpu-process.

Сначала не было внешней видеокарты, один монитор был подключен к DisplayPort (далее DP), другой к HDMI. Монитор через DP работал ок - 3840x2160/60Hz, а через HDMI было слайдшоу из-за частоты 3840x2160/30Hz.

А один порт DP разве не тянет 2x4K/60Hz?

А, нет, не тянет.

https://www.displayport.org/cables/driving-multiple-displays-from-a-single-displayport-output/

aquadon ★★★★★ ()
Последнее исправление: aquadon (всего исправлений: 2)

Хромой один, видеокарты две. Очень сильно сомневаюсь, что он обучен работать одновременно с двумя драйверами. Поэтому вангую, что хромой на экране, отличном от того, на котором он был запущен, работает через софтверный рендер.

Решение - использовать PRIME, т.к. у тебя типичный гибридно-ноутбучный сетап.

pekmop1024 ★★★★★ ()
Ответ на: комментарий от pekmop1024

Спасибо тебе, добрый человек!
Отключил встроенную видеокарту в BIOS-е, подключил 2-й монитор к внешней ч/з HDMI - и стало все отлично!
Оба, и DisplayPort и HDMI на внешней теперь выдают 3840x2160/60Hz.
И волосы теперь гладкие и шелковистые!

p.s. я не помню, как так я криво проверял до того, воткнув оба монитора во внешнуюю видюху, но или HDMI вообще ничего не показывал (скорее всего я недонастроил i3wm), или выдавал 30 Hz.

anonymous ()