Простой способ запуска нативных игр требующих ubuntu

Потребуется proot из aur.
Качаем 18.04
Распаковываем систему прямо из образа в любую папку.
su
mkdir /tmp/iso
mount ./ubuntu-18.04.4-desktop-amd64.iso /tmp/iso/
mkdir /tmp/iso-filesystem
mount /tmp/iso/casper/filesystem.squashfs /tmp/iso-filesystem
cp -r -a /tmp/iso-filesystem /home/ubuntu18
umount /tmp/iso-filesystem /tmp/iso
rm -r /tmp/iso-filesystem /tmp/iso
Для игр из gog достаточно такого стартового сценария
#!/bin/sh
#export LD_PRELOAD="$LD_PRELOAD:/usr/\$LIB/libgamemodeauto.so.0"
PROOT_NO_SECCOMP=1 exec proot -r /home/ubuntu18 -b /home -b /proc/ -b /dev -b /sys -b ./ ./start.sh
Остаётся только поправить .desktop файл для запуска игры сменив исполняемый файл.
Для игр из steam заходим в свойства игры и "Установить параметры запуска..."
PROOT_NO_SECCOMP=1 LD_LIBRARY_PATH=./ proot -r /home/ubuntu18 -b /home -b /proc/ -b /dev -b /sys -b ./ %command%
Если библиотека с играми распологается в другом месте, нужно добавить её также через параметр -b, иначе кеш шейдеров работать не будет:
Failed to create /mnt/RAID/tank/SteamLibrary/steamapps/shadercache/48700 for shader cache (No such file or directory)---disabling.
Пробовал этот способ на RimWorld (gog) и Mount & Blade (steam). LD_LIBRARY_PATH ведущий к библиотекам убунты никак не помогал.
Алё гараж! Вы адресом не ошиблись часом, со своим бубеном?
In Tux We Trust
Чем раздел с играми не подходит?
Нативный RimWorld я пробовал, он под Арчем работает и без этого.
In Tux We Trust
Running RimWorld
Set current directory to /mnt/RAID/tank/games/RimWorlds/game
Found path: /mnt/RAID/tank/games/RimWorlds/game/RimWorldLinux
./start_RimWorld.sh: строка 27: 57709 Ошибка сегментирования                   (стек памяти сброшен на диск) LC_ALL=C ./$GAMEFILE $LOG
Там обновление прилетело и трындец.
Разбирайтесь со своей системой, или с железом, у меня работает. Все обновления установлены.
In Tux We Trust
У меня на трёх разных компах одно и тоже. До обновления системы всё в норме. Может со свободными дровами какие то траблы?
TANK142
какие то
Смотрите что у вас там start_RimWorld.sh: строка 27
И лог $GAMEFILE $LOG
Чрутиться в другую линукс систему для игрушки имхо это уже перебор.
Хотя и сам винду для игрушек использую :)
TANK142
Может со свободными дровами какие то траблы?
Вот с чем разбираться нужно, но тут я не помощник, у меня блоб невидии установлен.
PS. Не обижайтесь, если что. )
In Tux We Trust
27 строка бинарник игры запускает. В логе малочитабельная ахинея.

Mono path[0] = '/mnt/RAID/tank/games/RimWorlds/game/RimWorldLinux_Data/Managed'
Mono config path = '/mnt/RAID/tank/games/RimWorlds/game/RimWorldLinux_Data/MonoBleedingEdge/etc'
Preloaded 'libCSteamworks.so'
Preloaded 'libsteam_api.so'
Preloaded 'ScreenSelector.so'
Display 0 'VX228 22"': 1920x1080 (primary device).
Desktop is 1920 x 1080 @ 73 Hz
Initialize engine version: 2019.2.17f1 (8e603399ca02)
[XR] Discovering subsystems at path /mnt/RAID/tank/games/RimWorlds/game/RimWorldLinux_Data/UnitySubsystems
GfxDevice: creating device client; threaded=1
Renderer: AMD Radeon (TM) RX 480 Graphics (POLARIS10, DRM 3.35.0, 5.4.41-1-lts-fx, LLVM 10.0.0)
Vendor:   X.Org
Version:  4.6 (Core Profile) Mesa 20.0.7
GLES:     0
 GL_AMD_conservative_depth GL_AMD_depth_clamp_separate GL_AMD_draw_buffers_blend GL_AMD_framebuffer_multisample_advanced 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_bindless_texture GL_ARB_blend_func_extended GL_ARB_buffer_storage GL_ARB_clear_buffer_object GL_ARB_clear_texture GL_ARB_clip_control GL_ARB_color_buffer_float 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_dist
ance 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_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_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_sparse_buffer 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_meminfo GL_ATI_texture_float GL_ATI_texture_mirror_once GL_EXT_EGL_image_storage GL_EXT_EGL_sync GL_EXT_abgr GL_EXT_blend_equation_separate GL_EXT_depth_bounds_test 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_memory_object GL_EXT_memory_object_fd 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_semaphore GL_EXT_semaphore_fd GL_EXT_shader_image_load_formatted GL_EXT_shader_image_load_store 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_mirror_clamp GL_EXT_texture_sRGB GL_EXT_texture_sRGB_R8 GL_EXT_texture_sRGB_decod
e 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_EXT_window_rectangles GL_IBM_multimode_draw_arrays GL_KHR_blend_equation_advanced 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_NVX_gpu_memory_info GL_NV_conditional_render GL_NV_depth_clamp GL_NV_packed_depth_stencil GL_NV_texture_barrier GL_NV_vdpau_interop GL_OES_EGL_image GL_S3_s3tc
OPENGL LOG: Creating OpenGL 4.6 graphics device ; Context level  <OpenGL 4.5> ; Context handle 73050352
Obtained 26 stack frames.
#0  0x00000000cbd4b8 in (Unknown)
#1  0x000000009ca2ba in (Unknown)
#2  0x000000009cd133 in (Unknown)
#3  0x000000009cd59f in (Unknown)
#4  0x000000009cd800 in (Unknown)
#5  0x000000007ed5d9 in (Unknown)
#6  0x0000000164e1f5 in Geo::GeoAutoPtr<Geo::IGeoStream, Geo::GeoDeleteDestructor<Geo::IGeoStream> >::bool_conversion_function() const
#7  0x000000016754bb in Geo::GeoAutoPtr<Geo::IGeoStream, Geo::GeoDeleteDestructor<Geo::IGeoStream> >::bool_conversion_function() const
#8  0x0000000167580e in Geo::GeoAutoPtr<Geo::IGeoStream, Geo::GeoDeleteDestructor<Geo::IGeoStream> >::bool_conversion_function() const
#9  0x00000001675988 in Geo::GeoAutoPtr<Geo::IGeoStream, Geo::GeoDeleteDestructor<Geo::IGeoStream> >::bool_conversion_function() const
#10 0x00000001675b24 in Geo::GeoAutoPtr<Geo::IGeoStream, Geo::GeoDeleteDestructor<Geo::IGeoStream> >::bool_conversion_function() const
#11 0x00000001665778 in Geo::GeoAutoPtr<Geo::IGeoStream, Geo::GeoDeleteDestructor<Geo::IGeoStream> >::bool_conversion_function() const
#12 0x0000000165ab2e in Geo::GeoAutoPtr<Geo::IGeoStream, Geo::GeoDeleteDestructor<Geo::IGeoStream> >::bool_conversion_function() const
#13 0x000000007fd6cf in (Unknown)
#14 0x000000007fdafb in (Unknown)
#15 0x000000007fe6a7 in (Unknown)
#16 0x00000000dc0191 in (Unknown)
#17 0x00000000dc5572 in (Unknown)
#18 0x00000000dabb84 in (Unknown)
#19 0x00000000db295c in (Unknown)
#20 0x00000000db2ccd in (Unknown)
#21 0x000000009df65e in (Unknown)
#22 0x00000000c2cd0b in (Unknown)
#23 0x00000000435e70 in (Unknown)
#24 0x007f0ad788f002 in __libc_start_main
#25 0x00000000445d93 in (Unknown)

 
Зарегистрироваться или войдите чтобы оставить сообщение.