Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fails at start up, possibly by old gpu features #40

Closed
bleuge opened this issue Jul 7, 2023 · 7 comments
Closed

Fails at start up, possibly by old gpu features #40

bleuge opened this issue Jul 7, 2023 · 7 comments
Assignees
Labels
bug Something isn't working documentation Improvements or additions to documentation question Further information is requested

Comments

@bleuge
Copy link

bleuge commented Jul 7, 2023

Hi, impressive work!

I was doing a test of this little marvel in my old notebook, Thinkpad x220,
I am sure it has a crappy GPU. But maybe it's a better way to indicate the user minimum features needed ;)
I've read in the Wiki that it should have poor performance in old adapters.
so maybe this is an error?

Using ROM: ./roms\BIOS_5160_09MAY86_U18_59X7268_62X0890_27256_F800.BIN
Using ROM: ./roms\BIOS_5160_09MAY86_U19_62X0819_68X4370_27256_F000.BIN
Using ROM: ./roms\ibm_xebec_62x0822_1985.bin
Loaded 3 roms in romset.
Found floppy image: "./floppy\8088MPH (Final Version).img" size: 737280
Found floppy image: "./floppy\Area 5150 (Compo Version).img" size: 737280
Found floppy image: "./floppy\cgacomp.img" size: 737280
Found floppy image: "./floppy\FreeDOS 1.3 Disk 1 (Boot me).img" size: 368640
Found floppy image: "./floppy\FreeDOS 1.3 Disk 2.img" size: 368640
Found floppy image: "./floppy\Marty Utilities.img" size: 368640
Found floppy image: "./floppy\Ratillery (CGA).img" size: 368640
Found floppy image: "./floppy\Stellar Roads (CGA).img" size: 368640
thread 'main' panicked at 'called glObjectLabel but it was not loaded.', C:\Users\Daniel.cargo\registry\src\github.com-1ecc6299db9ec823\glow-0.12.2\src\gl46.rs:4571:5

Running with full Rust trace, I got the stack dump if it helps

stack backtrace:
0: 0x7ff6647cbb27 -
1: 0x7ff66436815b -
2: 0x7ff6647afe51 -
3: 0x7ff6647cdbeb -
4: 0x7ff6647cd7c7 -
5: 0x7ff6647ce633 -
6: 0x7ff6647ce0d5 -
7: 0x7ff6647ce01f -
8: 0x7ff6647cdff4 -
9: 0x7ff664b674b5 -
10: 0x7ff664b6dbd6 -
11: 0x7ff664b0ed74 -
12: 0x7ff6648fbb22 -
13: 0x7ff66497bf7a -
14: 0x7ff6645a4a70 -
15: 0x7ff66451804c -
16: 0x7ff66457b399 -
17: 0x7ff6644c3f99 -
18: 0x7ff6644c3fa6 -
19: 0x7ff6644c3b74 -
20: 0x7ff664b65d0c -
21: 0x7ffffa947614 - BaseThreadInitThunk
22: 0x7ffffc7426f1 - RtlUserThreadStart

Regards!

@dbalsom
Copy link
Owner

dbalsom commented Jul 7, 2023

You are probably correct in that it is too old; but let's see if we can get more debug info. set the environment variable RUST_LOG=trace and run again, we should get a lot of debug output as wgpu tries to initialize the adapter.

I am pretty sure this is a bug upstream; i think we should fail gracefully with an error message instead of panicking

@dbalsom dbalsom self-assigned this Jul 7, 2023
@dbalsom dbalsom added question Further information is requested documentation Improvements or additions to documentation bug Something isn't working labels Jul 7, 2023
@bleuge
Copy link
Author

bleuge commented Jul 7, 2023

hi, I pasted below the full log,
btw, many emulators works nice in this crappy GPU, but maybe you are using some special feature,etc. I think you are right, showing an error instead of panicking is better. Thanks!

C:\dev\0086\martypc>martypc.exe
[2023-07-07T14:44:52Z DEBUG marty_core::config] toml_config: ConfigFileParams { emulator: Emulator { basedir: "./", auto_poweron: true, cpu_autostart: true, headless: false, fuzzer: false, warpspeed: true, correct_aspect: true, debug_mode: false, debug_warn: true, no_bios: false, run_bin: None, run_bin_seg: None, run_bin_ofs: None, trace_on: false, trace_mode: Cycle, trace_file: None, video_trace_file: None, video_frame_debug: false, pit_output_file: None, pit_output_int_trigger: true }, gui: Gui { gui_disabled: false, theme_color: Some(3681625) }, input: Input { reverse_mouse_buttons: false }, machine: Machine { model: IBM_XT_5160, rom_override: None, raw_rom: false, turbo: false, video: CGA, composite: false, hdc: Xebec, drive0: None, drive1: None, floppy0: None, floppy1: None }, cpu: Cpu { wait_states_enabled: true, off_rails_detection: false, instruction_history: false }, validator: Validator { vtype: Some(Arduino8088), trigger_address: Some(1048560), trace_file: Some("./traces/validator_trace.log") } }
[2023-07-07T14:44:52Z DEBUG marty_core::rom_manager] Found BIOS file for machine IBM_XT_5160: "./roms\BIOS_5160_09MAY86_U18_59X7268_62X0890_27256_F800.BIN" MD5: 9696472098999c02217bf922786c1f4a
[2023-07-07T14:44:52Z DEBUG marty_core::rom_manager] Found BIOS file for machine IBM_XT_5160: "./roms\BIOS_5160_09MAY86_U19_62X0819_68X4370_27256_F000.BIN" MD5: df9f29de490d7f269a6405df1fed69b7
[2023-07-07T14:44:52Z DEBUG marty_core::rom_manager] Found BIOS file for machine IBM_XT_5160: "./roms\GLABIOS_0.2.5_8XC.ROM" MD5: f36c2dd29344eff6f55135f8b3014b81
[2023-07-07T14:44:52Z DEBUG marty_core::rom_manager] Found BIOS file for machine IBM_XT_5160: "./roms\IBM 5150 - Cassette BASIC version C1.10 - U29 - 5000019.bin" MD5: 69e2bd1d08c893cbf841607c8749d5bd
[2023-07-07T14:44:52Z DEBUG marty_core::rom_manager] Found BIOS file for machine IBM_XT_5160: "./roms\ibm_xebec_62x0822_1985.bin" MD5: 66631d1a095d8d0d54cc917fbdece684
[2023-07-07T14:44:52Z DEBUG marty_core::rom_manager] Found complete rom set, priority 5
[2023-07-07T14:44:52Z DEBUG marty_core::rom_manager] Found complete rom set, priority 2
[2023-07-07T14:44:52Z DEBUG marty_core::rom_manager] Highest priority BASIC: 0
[2023-07-07T14:44:52Z DEBUG marty_core::rom_manager] Loaded 23 checkpoints for active ROM set.
Using ROM: ./roms\BIOS_5160_09MAY86_U18_59X7268_62X0890_27256_F800.BIN
Using ROM: ./roms\BIOS_5160_09MAY86_U19_62X0819_68X4370_27256_F000.BIN
Using ROM: ./roms\ibm_xebec_62x0822_1985.bin
Loaded 3 roms in romset.
Found floppy image: "./floppy\8088MPH (Final Version).img" size: 737280
Found floppy image: "./floppy\Area 5150 (Compo Version).img" size: 737280
Found floppy image: "./floppy\cgacomp.img" size: 737280
Found floppy image: "./floppy\FreeDOS 1.3 Disk 1 (Boot me).img" size: 368640
Found floppy image: "./floppy\FreeDOS 1.3 Disk 2.img" size: 368640
Found floppy image: "./floppy\Marty Utilities.img" size: 368640
Found floppy image: "./floppy\Ratillery (CGA).img" size: 368640
Found floppy image: "./floppy\Stellar Roads (CGA).img" size: 368640
[2023-07-07T14:44:52Z DEBUG martypc_pixels_desktop] Found serial port: SerialPortInfo { port_name: "COM3", port_type: Unknown }
[2023-07-07T14:44:52Z INFO wgpu_hal::vulkan::instance] Unable to find extension: VK_KHR_surface
[2023-07-07T14:44:52Z INFO wgpu_hal::vulkan::instance] Unable to find extension: VK_KHR_win32_surface
[2023-07-07T14:44:52Z INFO wgpu_hal::vulkan::instance] Unable to find extension: VK_EXT_swapchain_colorspace
[2023-07-07T14:44:52Z INFO wgpu_hal::vulkan::instance] Unable to find extension: VK_KHR_get_physical_device_properties2
[2023-07-07T14:44:52Z WARN wgpu_hal::vulkan::instance] create_instance: ERROR_INCOMPATIBLE_DRIVER
[2023-07-07T14:44:52Z DEBUG wgpu_hal::gles::egl] Client extensions: [
"EGL_EXT_client_extensions",
"EGL_EXT_platform_base",
"EGL_EXT_platform_device",
"EGL_ANGLE_platform_angle",
"EGL_ANGLE_platform_angle_d3d",
"EGL_ANGLE_device_creation",
"EGL_ANGLE_device_creation_d3d11",
"EGL_ANGLE_experimental_present_path",
"EGL_KHR_client_get_all_proc_addresses",
]
[2023-07-07T14:44:52Z INFO wgpu_hal::gles::egl] Loading X11 library to get the current display
[2023-07-07T14:44:52Z INFO wgpu_hal::gles::egl] EGL_MESA_platform_surfaceless not available. Using default platform
[2023-07-07T14:44:52Z INFO wgpu_hal::gles::egl] Display vendor "Google Inc. (adapter LUID: 000000000000de60)", version (1, 4)
[2023-07-07T14:44:52Z DEBUG wgpu_hal::gles::egl] Display extensions: [
"EGL_EXT_create_context_robustness",
"EGL_ANGLE_d3d_share_handle_client_buffer",
"EGL_ANGLE_d3d_texture_client_buffer",
"EGL_ANGLE_surface_d3d_texture_2d_share_handle",
"EGL_ANGLE_query_surface_pointer",
"EGL_ANGLE_window_fixed_size",
"EGL_ANGLE_keyed_mutex",
"EGL_ANGLE_surface_orientation",
"EGL_ANGLE_direct_composition",
"EGL_NV_post_sub_buffer",
"EGL_KHR_create_context",
"EGL_EXT_device_query",
"EGL_KHR_image",
"EGL_KHR_image_base",
"EGL_KHR_gl_texture_2D_image",
"EGL_KHR_gl_texture_cubemap_image",
"EGL_KHR_gl_renderbuffer_image",
"EGL_KHR_get_all_proc_addresses",
"EGL_KHR_stream",
"EGL_KHR_stream_consumer_gltexture",
"EGL_NV_stream_consumer_gltexture_yuv",
"EGL_ANGLE_flexible_surface_compatibility",
"EGL_ANGLE_stream_producer_d3d_texture_nv12",
"EGL_ANGLE_create_context_webgl_compatibility",
"EGL_CHROMIUM_create_context_bind_generates_resource",
"EGL_CHROMIUM_sync_control",
"EGL_EXT_pixel_format_float",
"EGL_KHR_surfaceless_context",
"EGL_ANGLE_display_texture_share_group",
"EGL_ANGLE_create_context_client_arrays",
"EGL_ANGLE_program_cache_control",
"EGL_ANGLE_robust_resource_initialization",
]
[2023-07-07T14:44:52Z WARN wgpu_hal::gles::egl] EGL surface: -srgb
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] Configurations:
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=4
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=1
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=0
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=4
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=1
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=0
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=4
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=1
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=0
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=4
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=1
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=0
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=4
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=1
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=0
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=0
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=0
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=0
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=0
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=0
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=8
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=8
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=2
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=8
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=8
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=2
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=8
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=8
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=2
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=8
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=8
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=2
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=8
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=8
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=2
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=16
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=16
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=16
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=16
[2023-07-07T14:44:52Z TRACE wgpu_hal::gles::egl] CONFORMANT=0x44, RENDERABLE=0x44, NATIVE_RENDERABLE=0x0, SURFACE_TYPE=0x405, ALPHA_SIZE=16
[2023-07-07T14:44:52Z INFO wgpu_hal::gles::egl] Trying native-render
[2023-07-07T14:44:52Z WARN wgpu_hal::gles::egl] No config found!
[2023-07-07T14:44:52Z INFO wgpu_hal::gles::egl] Trying presentation
[2023-07-07T14:44:52Z WARN wgpu_hal::gles::egl] EGL says it can present to the window but not natively
[2023-07-07T14:44:52Z INFO wgpu_hal::gles::egl] EGL context: +robust access EXT
[2023-07-07T14:44:52Z INFO wgpu_hal::gles::egl] EGL context: +surfaceless
[2023-07-07T14:44:52Z WARN wgpu_hal::dx12::adapter] Device creation failed: 0x887A0004
[2023-07-07T14:44:52Z INFO wgpu_hal::gles::adapter] Vendor: Google Inc.
[2023-07-07T14:44:52Z INFO wgpu_hal::gles::adapter] Renderer: ANGLE (Intel(R) HD Graphics 4000 Direct3D11 vs_5_0 ps_5_0) [2023-07-07T14:44:52Z INFO wgpu_hal::gles::adapter] Version: OpenGL ES 3.0 (ANGLE 2.1.0.57ea533f79a7)
[2023-07-07T14:44:52Z DEBUG wgpu_hal::gles::adapter] Extensions: {
"GL_EXT_sRGB",
"GL_CHROMIUM_sync_query",
"GL_EXT_texture_format_BGRA8888",
"GL_ANGLE_texture_compression_dxt5",
"GL_OES_texture_half_float_linear",
"GL_OES_compressed_ETC1_RGB8_texture",
"GL_EXT_blend_minmax",
"GL_ANGLE_program_cache_control",
"GL_ANGLE_multiview",
"GL_EXT_shader_texture_lod",
"GL_EXT_texture_storage",
"GL_NV_EGL_stream_consumer_external",
"GL_ANGLE_framebuffer_multisample",
"GL_EXT_debug_marker",
"GL_EXT_color_buffer_half_float",
"GL_CHROMIUM_bind_uniform_location",
"GL_EXT_texture_norm16",
"GL_OES_EGL_image_external",
"GL_OES_mapbuffer",
"GL_EXT_draw_buffers",
"GL_EXT_occlusion_query_boolean",
"GL_OES_vertex_array_object",
"GL_EXT_robustness",
"GL_EXT_map_buffer_range",
"GL_CHROMIUM_color_buffer_float_rgba",
"GL_OES_packed_depth_stencil",
"GL_EXT_texture_compression_dxt1",
"GL_KHR_debug",
"GL_OES_EGL_image",
"GL_OES_surfaceless_context",
"GL_EXT_texture_rg",
"GL_CHROMIUM_color_buffer_float_rgb",
"GL_NV_pixel_buffer_object",
"GL_ANGLE_robust_client_memory",
"GL_CHROMIUM_bind_generates_resource",
"GL_EXT_color_buffer_float",
"GL_ANGLE_translated_shader_source",
"GL_OES_standard_derivatives",
"GL_OES_texture_float_linear",
"GL_EXT_unpack_subimage",
"GL_CHROMIUM_copy_compressed_texture",
"GL_OES_texture_half_float",
"GL_EXT_disjoint_timer_query",
"GL_ANGLE_lossy_etc_decode",
"GL_ANGLE_framebuffer_blit",
"GL_ANGLE_texture_compression_dxt3",
"GL_EXT_frag_depth",
"GL_EXT_texture_filter_anisotropic",
"GL_EXT_discard_framebuffer",
"GL_OES_depth32", 15:45
"GL_ANGLE_instanced_arrays",
"GL_EXT_texture_compression_s3tc_srgb",
"GL_NV_pack_subimage",
"GL_KHR_robust_buffer_access_behavior",
"GL_OES_get_program_binary",
"GL_EXT_read_format_bgra",
"GL_NV_fence",
"GL_ANGLE_client_arrays",
"GL_ANGLE_texture_usage",
"GL_ANGLE_request_extension",
"GL_OES_texture_npot",
"GL_OES_rgb8_rgba8",
"GL_CHROMIUM_copy_texture",
"GL_OES_texture_float",
"GL_OES_EGL_image_external_essl3",
"GL_OES_element_index_uint",
"GL_ANGLE_pack_reverse_row_order",
"GL_ANGLE_depth_texture",
}
[2023-07-07T14:44:52Z INFO wgpu_hal::gles::adapter] SL version: OpenGL ES GLSL ES 3.00 (ANGLE 2.1.0.57ea533f79a7)
[2023-07-07T14:44:52Z INFO wgpu_core::instance] Adapter Gl AdapterInfo { name: "ANGLE (Intel(R) HD Graphics 4000 Direct3D11 vs_5_0 ps_5_0)", vendor: 0, device: 0, device_type: IntegratedGpu, driver: "", driver_info: "", backend: Gl }
thread 'main' panicked at 'called glObjectLabel but it was not loaded.', C:\Users\Daniel.cargo\registry\src\github.com-1ecc6299db9ec823\glow-0.12.2\src\gl46.rs:4571:5
note: run with RUST_BACKTRACE=1 environment variable to display a backtrace
[2023-07-07T14:44:52Z INFO wgpu_core::hub] Dropping Global

@dbalsom
Copy link
Owner

dbalsom commented Jul 7, 2023

It's interesting it's trying to use ANGLE. From what i'm seeing that is a backend for WebGL?

It's true that other emulators may work well on your hardware, and clearly your system can probably emulate an 8088 just fine. Part of this is a consequence of the language I've chosen to use. The Rust ecosystem is still pretty young. I'm using a graphics library called 'wgpu', and they are doing some herculean efforts to support modern GPUs. But at some point it is too difficult and cumbersome to support older devices and drivers based on older versions of OpenGL and such.

I have been considering making a software-based front end based on SDL instead of wgpu. It may not have the full debug interface, though it would in theory run on much older hardware.

Just out of curiosity, are you able to use the MartyPC web player in your browser?
https://dbalsom.github.io/martypc/web/player.html?title=8088mph

@dbalsom
Copy link
Owner

dbalsom commented Jul 7, 2023

here's the upstream issue for this in wgpu
gfx-rs/wgpu#3565

@bleuge
Copy link
Author

bleuge commented Jul 8, 2023

It works very good in browser (using Chrome), image and sound is choppy, losing frames, but not too much.
Let's see if it's an error or just too old GPU.
Thanks!

@fuel-pcbox
Copy link

Even @dbalsom's Ryzen 9 5900x can't run Area 5150 at full speed in all the effects with the web player, but my Ryzen 7 7700x can, so I highly doubt a Thinkpad X220 is fast enough. You might want to upgrade your PC.

@dbalsom
Copy link
Owner

dbalsom commented Jul 9, 2023

Or I need to optimize more :D

@dbalsom dbalsom closed this as completed Apr 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working documentation Improvements or additions to documentation question Further information is requested
Projects
None yet
Development

No branches or pull requests

3 participants