Wine tips

To play Windows games on Linux, Wine is necessary. Even Steam Proton is also based on Wine.

To play most modern Windows games, I will suggest NVidia graphic card as the hardware requirement. Without good graphic card, a lot of 3D games are not able to render properly. Moreover, some pixelated games perform better with NVidia graphic card.

Winetricks

In my opinion, to configure Wine to the best compatibility, we need to install several libraries (DLLs) using winetricks.

  • dxvk
  • d9vk

Then it is able to use Vulkan for DirectX 9, 10, and 11. For more details about dxvk and Vulkan installation, can read here and here.

Media Foundation

Recently, I found that some games require Media Foundation for playing movie. Though winetricks can install Media Foundation, it doesn’t work. A more promising solution is mf-install.

Heat and laptop fan issue

I also experienced that, quite a lot of games cause my laptop to produce loud fan, due to the heat. I prefer performance rather than good graphics. At the end, I found that, libstrangle is able to solve the problem. I use 25 FPS for most of the games.

CJK support

Just in case you need to render some CJK fonts, can try to import this registry file using regedit, then run the wine with LANG environment variable. However, this solution only works on the Window user interface like menu items.

For some games that render CJK fonts, may need to install the font and also fontconfig.

Emulate virtual desktop

I experienced that, Alt-Tab causes the game not functioning. To solve this issue, emulate virtual desktop is the best solution. This can be done by using winecfg. Alternatively, we can run

wine explorer /desktop=wine,1024x768 explorer

“explorer /desktop=wine,1024×768” will run the application with the emulated virtual desktop. By this, we need not to use winecfg to configure the virtual desktop.

Use different Wine prefix for different usage

To understand Wine prefix, read here. I personally uses this script to manage Wine prefix. Because some installations require to run Wine as Windows XP, but the game can only run with Wine as Windows 7 and above. Keep changing the version with winecfg is inconvenient.

Besides that, some games may require dotnet4x installed. Yet dotnet may break other games in the same prefix.

Use Proton as an alternative

Some of the games may have poor performance on Wine. In that case, can try on Proton. I have wrote a script to make the Proton invocation easier.

But my personal experience is that, Proton doesn’t have good support on joystick/gamepad as Wine.

Note: Proton version 5.x has an issue that I have reported here.

Other libraries

Not only Wine libraries affect the games, Linux libraries are also important to make the games work, for instance, Vulkan. This wiki page suggested several libraries as well.

Compatibility databases

I found that ProtonDB is a good place to find whether a game is compatible to Proton. And some users also shared the solutions on how to make the games work.

Alternatively, Wine official application database also provides some details on game configuration.

Offline mode

Just in case we prefer to run certain apps without Internet connection, we can use firejail. Eg, firejail --noprofile --net=none wine explorer.

Solution on Evernote login issue

I faced the login issue with Evernote since around two weeks ago. It leads me to a blank page, with the HTTP status code 418. There is similar issue reported here. I made the bug report, but the issue not yet solved. Looks like it happened in Malaysia and Vietnam according to the forum. Suggested solution in the forum was to use VPN.

This is how I solved the issue as a temporary solution to login.

Requirement:

  • Google account
  • Tor browser or any VPN related connection

Try to login successfully from the web, by luck or by Tor browser or any VPN related connection.

After login, go to Settings > Connected Services, and enable “Sign in with Google (Sign in to Evernote with 1 click)”.

By enabling the above, I can just sign in with my Google account, which skips the status code 418 issue.

Med (Linux memory editor) version 3.6.1

I released version 3.6.1 for my hobby project, Med (Linux Memory Editor). There are several great changes in UI (since 3.5), especially the larger window, due to more components in the UI.

Named scans

Now it supports named scans (the bottom part of the window).

New UI

I create this named scans feature because sometimes I need to scan for several values of interested. For example, a game character A’s experience point and character B’s experience point. By using named scans, I can scan these two values without destroying the scan result of each others. This makes my (game cheating) life become much easy.

Improved memory editing

Memory edit

Memory editing is now improved with preview the values in int32, float32, and float64 (double as in C/C++). This is useful for me to discover the pattern surrounding the game character status. For example, there is a game I played, the character has non-rounded float32. This causes me failed to search the values for various trial. Lastly I found the address by scan unknown. By using these three values preview, I can discover the values easier without doing actual scanning.

Furthermore, memory editing now supports “entering” the value according to the scan type (the Enter button). In the versions prior to 3.6, memory editing can only directly edit the hexadecimal. This is troublesome to edit the float values. Previously, I have to create a new memory address in the stored list, then edit the value. But now, I can update the values directly.

Besides that, in the memory editing, it supports “string” scan type, for entering the string directly.
WARNING: Longer string may cause the memory overflow.
NOTE: Entering string is not null-terminated. Add the null (0) value at the end if necessary.

Lastly, I fixed the cursor in the memory editing (hexadecimal area).