summary refs log tree commit diff stats
path: root/results/scraper/fex/2192
diff options
context:
space:
mode:
Diffstat (limited to 'results/scraper/fex/2192')
-rw-r--r--results/scraper/fex/2192104
1 files changed, 104 insertions, 0 deletions
diff --git a/results/scraper/fex/2192 b/results/scraper/fex/2192
new file mode 100644
index 000000000..7324b45b4
--- /dev/null
+++ b/results/scraper/fex/2192
@@ -0,0 +1,104 @@
+[wine-i386]: [opengl can't detect hardware vendor]
+**wine-i386 and winecheck*

+Wine(https://www.winehq.org/)

+winecheck

+

+

+**Describe the bug**

+I try to run x86 program in ubuntu-aarch64, so i use FEXLoader to load wine, then wine load x86 program wincheck.exe. But it seems cant find vendor

+```

+progwrapper$ FEXLoader -R Ubuntu_i386 ./wine-progwrapper/bin/wine ./winecheck.exe

+[ERROR] Couldn't connect to FEXServer socket 1000.FEXServer.Socket 111 Connection refused

+RootFS Position: /home/bogus/.fex-emu/RootFS/Ubuntu_i386 : ./wine-progwrapper/bin/wine

+RootFS Position: /home/bogus/.fex-emu/RootFS/Ubuntu_i386 : /usr/local/share/progwrapper/wine-progwrapper/bin/wine-preloader

+RootFS Position: /home/bogus/.fex-emu/RootFS/Ubuntu_i386 : /usr/local/share/progwrapper/wine-progwrapper/bin/wineserver

+fixme:winediag:start_process Wine Staging 1.9.7 is a testing version containing experimental patches.

+fixme:winediag:start_process Please mention your exact version when filing bug reports on winehq.org.

+err:menubuilder:init_xdg error looking up the desktop directory

+Checking OpenGL ...

+radeon: Failed to get PCI ID, error number -1

+libGL error: failed to create dri screen

+libGL error: failed to load driver: radeonsi

+OpenGL Vendor: VMware, Inc.

+OpenGL Renderer: llvmpipe (LLVM 6.0, 128 bits)

+OpenGL Direct Rendering: True

+ERROR: found bad OpenGL Vendor: VMware, Inc.

+ERROR: found bad OpenGL Renderer: llvmpipe

+OpenGL: FAILURE

+```

+I read the source code, it seems failure in below part code, like this(https://github.com/wine-mirror/wine/blob/master/dlls/opengl32/tests/opengl.c#L1190), but is not the same:

+```

+	hWnd = CreateWindowExA(0, clsName, "OpenGL Test", WS_TILEDWINDOW, 0, 0, 100, 100, 0, 0, 0, 0);

+	if (!hWnd)

+		return false;

+

+	hDC = GetDC(hWnd);

+	if (!hDC)

+		goto error;

+

+	pixelformat = ChoosePixelFormat(hDC, &pfd);

+	if (!pixelformat)

+		goto error;

+

+	if (!SetPixelFormat(hDC, pixelformat, &pfd))

+		goto error;

+

+	context = wglCreateContext(hDC);

+	if (!context)

+		goto error;

+

+	if (!wglMakeCurrent(hDC, context))

+		goto error;

+

+	vendor		= (const char *)glGetString(GL_VENDOR);

+	renderer	= (const char *)glGetString(GL_RENDERER);

+	extensions	= (const char *)glGetString(GL_EXTENSIONS);

+

+	if (extensions && strstr(extensions, "WINE_EXT_direct_rendering"))

+		directRendering = true;

+

+	printf("OpenGL Vendor: %s\n", vendor);

+	printf("OpenGL Renderer: %s\n", renderer);

+	printf("OpenGL Direct Rendering: %s\n",

+	directRendering ? "True" : "False (or old/wrong wine version)");

+``` 

+glGetString(GL_VENDOR) cant get real vendor info, it's just return software implement. 

+

+real vendor info :

+![image](https://user-images.githubusercontent.com/618485/205528127-1a1fb4a1-d3ed-497d-957f-0942ff63b959.png)

+

+Because I cant run winecheck, so I use some opengl test program do test, all is ok

+

+1. FEXLoader ~/Downloads/ogl/glxinfo

+2. WINEPREFIX="/home/bogus/.wine64/" ./wine ~/.wine64/drive_c/users/bogus/Temp/wct/opengl32_test.exe

+3. FEXLoader  -k ~/.fex-emu/ThunkConfigs/thunks.json  -t /usr/lib/fex-emu/HostThunks/ -j /usr/share/fex-emu/GuestThunks -R ~/.fex-emu/RootFS/Ubuntu_22_04 --  ~/Downloads/ogl/glxinfo

+

+And I think it is maybe FEX not implement some opengl32 compatibility interface, But how can I to verify my guess and to fix it? 

+

+**To Reproduce**

+FEXLoader -R Ubuntu_i386 ./wine-progwrapper/bin/wine ./winecheck.exe

+

+**Expected behavior**

+should like this:

+![image](https://user-images.githubusercontent.com/618485/205528127-1a1fb4a1-d3ed-497d-957f-0942ff63b959.png)

+

+**Screenshots and Video**

+

+

+**System information:**

+ - OS: Ubuntu 22.04.1 LTS

+ - CPU/SoC: AMD

+ - Video driver version:     Device: AMD OLAND (LLVM 13.0.1, DRM 2.50, 5.15.0-54-generic) (0x6611)

+ - RootFS used: Ubuntu 16.04 (i386)

+ - FEX version: commit c37fcf136ababf13b491ae8f1a878cc70f8d1c33 (FEXGetConfig build by myself, it seems is the latest version )

+ - Thunks Enabled:  No (I don't know how to enable libgl32 thunk)

+

+**Additional context**

+ - Is this an x86 or x86-64 game: No

+ - Does this reproduce on x86-64 host with FEX: NoTest

+ - Does this reproduce on AArch64 with Radeon/Intel/Nvidia: yes

+ - Is this a Vulkan game: No

+ - 

+

+**And I think it is maybe FEX not implement some opengl32 compatibility interface, But how can I to verify my guess and to fix it?** 

+