Jacalz / rymdport

Cross-platform application for easy encrypted file, folder, and text sharing between devices.
https://rymdport.github.io/
GNU General Public License v3.0
1.1k stars 57 forks source link

Fyne Error: Window creation error. Not supporting OpenGL #156

Closed schusz closed 7 months ago

schusz commented 7 months ago

Checklist

Description

Downloaded rymdport-v3.5.2-windows-amd64.zip and rymdport-v3.6.0-windows-amd64.zip, extracted the files and ran rymdport.exe in Windows 10. This resulted in error:

Fyne Error

 Fyne error: window creation error Cause:APIUnavailable: WGL: The driver does not appear to
support OpenGL
 At: fyne.io/fine/v2@v2.4.4/internal/driver/gifw/driver.go:149

                                                                [OK]

After having pressed OK, the app did not start.

This happens with both v3.5.2 and 3.6.0.

Steps to Reproduce

  1. Start rymdport.exe

Screenshots

No response

Rymdport version

3.5.2, 3.6.0

Operating System

Windows

Operating System Version

Windows 10

Go Compiler Version

No response

Additional Information

No response

Jacalz commented 7 months ago

Hi there. Thanks for the report. Is this running inside a virtual machine by any chance? If not, what kind of processor and graphics card are you using?

The graphical toolkit that I'm using (Fyne) requires a specific OpenGL version to be supported by the graphics driver. The software driver and generic hardware graphics drivers on Windows are notoriously terrible and do not support a new enough version.

Within virtual machines, the solution is usually to turn on 3D acceleration. Otherwise you usually need to update your graphics driver or install one if not present. The third option (works both within and outside of a virtual machine as far as I know) is to put the Mesa3D DLL next to your application exe for it to use a software renderer that actually works.

Another common culprit is that the drivers for the builtin graphics on old Intel CPUs are terrible on Windows. Many of these processors support a new enough OpenGL version but Intel did, for unknown reasons, not enable or add support for it in the driver. In this case, many processors will run fine on Linux because the open source drivers simply are more mature and have more developers.

I hope this helps.

schusz commented 7 months ago

Hi Jacalz, I am running it on a Dell Latitude E4300 laptop with an Intel(R) Core(TM)2 Duo CPU P9400 @ 2.40 \GHz processor and a Mobile Intel(R) 4 Series Express Chipset Family (Microsoft Corporation - WDDM 1.1) graphics card. The latest available driver for the graphics card is installed. So I downloaded the Mesa3D DLL and copied it next to the location where rymdport.exe resides. And that did the trick :-).

Thanks for the explanation.

Jacalz commented 7 months ago

Glad to hear that it is solved. Yeah, it sounds like using that DLL is the only option for your hardware sadly. Until Fyne support DirectX, we'll continue having driver issues on Windows. I'll write up some documentation on it and close this issue once that is resolved.

Jacalz commented 7 months ago

I added a new wiki page at https://github.com/Jacalz/rymdport/wiki/Requirements and opened https://github.com/Jacalz/rymdport/pull/158.