Why doesn't DPI scaling option work?! :(

Hello World,

I play a lot of roguelike card deck builder games, and I pretty much always play these in windowed mode at lower resolutions and I am getting sick and tired(and getting a backache) from having to keep streching back and forth from my regular seating position closer to the monitor so I can read some of the text in the game.

I know that Lutris has a DPI scaling option in “Runner Options” but this has never worked for me. Doesn’t matter what number I enter, doesn’t matter what game or type of game(2d, 3d, etc.) I run, doesn’t matter if it’s windowed or full screen or borderless. The ingame text sizes never change… :sob: :sob:

Here’s some logs and stuff with the latest game I started today. If you want more, from maybe other games let me know, though nothing ever changes…

Suggestions please?

Thank you.

Hi,
Things are going to vary and I’m not sure what you’re expecting. I had similar issues when I went to 4k. There are some games where my only option is to drop the screen res.

A standard Windows WINE app works okay and understands DPI in relation to desktop - e.g. I have Keepass2 and Foobar2000 in a prefix, and the DPI override correctly sets the DPI option in WINE, resulting in a larger font - working as expected.

Games…not so much. You will see size changes on a lot of games with launchers. Inside the game is going to vary, especially in windowed mode. Tried tweaking your desktop DPI?

Sadly the only way system DPI helps is if I put in a ridiculous percentage at which point the game is almost the only thing that fits on the scrren anymore, and that defeats the entire purpose. If I try some more normal settings like 130-150% it doesn’t help much… :frowning:
Too bad virtual desktop isn’t supported anymore either, maybe that would have helped… :cry:

Suppose I could try to search for some magnifier app? But it just won’t be the same… :disappointed:

Yeah the old fullscreen res is deprecated - get gamescope instead.
Might be a pre-built package for your distro, otherwise you’re down to getting it off github and building it yourself. Once you’ve added it to your standard path, Lutris can use it.

I already have gamescope, but if I activate it the game simply crashes. If I run lutris -d with gamescope on it says:

[vikings@VIKINGSKINGDOM ~]$ lutris -d
2024-10-14 08:49:00,501: The Battle.net source is unavailable because Google protobuf could not be loaded: Descriptors cannot be created directly.
If this call came from a _pb2.py file, your generated code is out of date and must be regenerated with protoc >= 3.19.0.
If you cannot immediately regenerate your protos, some other possible workarounds are:
 1. Downgrade the protobuf package to 3.20.x or lower.
 2. Set PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python (but this will use pure-Python parsing and will be much slower).

More information: https://developers.google.com/protocol-buffers/docs/news/2022-05-06#python-updates
INFO     2024-10-14 08:49:00,853 [application.do_command_line:479]:Starting Lutris 0.5.17
INFO     2024-10-14 08:49:01,029 [startup.run_all_checks:120]:AMD Radeon RX 7900 XT (1002:744c 1849:5308 amdgpu) Driver 24.3.0
DEBUG    2024-10-14 08:49:01,401 [xrandr.get_resolutions:91]:Retrieving resolution list
DEBUG    2024-10-14 08:49:01,403 [xrandr._get_vidmodes:18]:Retrieving 35 video modes from XrandR
DEBUG    2024-10-14 08:49:01,503 [path_cache._update_missing_games:114]:Checking for missing games
DEBUG    2024-10-14 08:49:01,551 [api.check_stale_runtime_versions:52]:Modified at Lu 14 oct 2024 08:47:58 , will update after Lu 14 oct 2024 14:47:58 
DEBUG    2024-10-14 08:49:01,551 [lutriswindow.create_runtime_updater_cb:1252]:Runtime up to date

(lutris:3741): Gdk-WARNING **: 08:49:01.785: ../gtk/gdk/wayland/gdkcursor-wayland.c:243 cursor image size (40x39) not an integermultiple of scale (2)
DEBUG    2024-10-14 08:49:03,304 [grid.on_item_activated:97]:Item activated: 3
DEBUG    2024-10-14 08:49:03,559 [xrandr.get_outputs:26]:Retrieving display outputs
DEBUG    2024-10-14 08:49:03,562 [xrandr._get_vidmodes:18]:Retrieving 35 video modes from XrandR
lutris-wrapper: Astrea Six-Sided Oracles
Started initial process 3799 from gamescope -f -- gamemoderun /home/vikings/.local/share/lutris/runners/wine/wine-ge-8-26-x86_64/bin/wine /home/vikings/Games/astrea-six-sided-oracles/drive_c/Games/Astrea Six-Sided Oracles/Astrea.exe
Start monitoring process.
[gamescope] [Info]  console: gamescope version 3.15.11 (gcc 14.2.1)
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
Performance will be affected.
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
[gamescope] [Info]  vulkan: selecting physical device 'AMD Radeon RX 7900 XT': queue family 1 (general queue family 0)
[gamescope] [Info]  vulkan: physical device supports DRM format modifiers
[gamescope] [Error] vulkan: vkAllocateDescriptorSets failed
SDL_Vulkan_CreateSurface failed: VK_KHR_wayland_surface extension is not enabled in the Vulkan instance.terminate called without an active exception
Monitored process exited.
No return code
DEBUG    2024-10-14 08:49:04,413 [monitored_command.on_stop:228]:Process 3797 has terminated with code 0
DEBUG    2024-10-14 08:49:05,567 [game.beat:930]:Game thread stopped
WARNING  2024-10-14 08:49:05,568 [game.on_game_quit:968]:Game still running (state: running)
INFO     2024-10-14 08:49:05,568 [game.stop:941]:Stopping Astrea Six-Sided Oracles (wine)
DEBUG    2024-10-14 08:49:05,568 [game.stop_game:897]:Astrea Six-Sided Oracles (wine) has run for 2 seconds
WARNING  2024-10-14 08:49:05,568 [game.stop_game:899]:The game has run for a very short time, did it crash?
DEBUG    2024-10-14 08:49:05,569 [game.stop_game:909]:Playtime: 2 hours 53 minutes
DEBUG    2024-10-14 08:49:05,569 [game.on_game_quit:986]:Astrea Six-Sided Oracles stopped at Lu, 14 oct 2024 08:49:05
DEBUG    2024-10-14 08:49:05,575 [application.on_game_stopped:794]:Removing 3 from running IDs
DEBUG    2024-10-14 08:49:05,633 [path_cache.add_to_path_cache:47]:Adding Astrea Six-Sided Oracles (wine) to path cache
INFO     2024-10-14 08:49:08,302 [application.do_shutdown:1050]:Shutting down Lutris
[vikings@VIKINGSKINGDOM ~]$ 

Only idea I have is to try to run the game with Proton rather than the standard runner. Your process seems to die on this: -

…could be an issue with the pre-packaged version. Search for that and gamescope, see if anyone has any suggestions.

If vulkaninfo | grep VK_KHR_wayland_surface returns something, at least you know its supported, and its gamescope not wanting to play.

Morning,

K, so I tried with proton and game crashes with that too. Lutris -d I get this

lutris-wrapper: Astrea Six-Sided Oracles
Started initial process 3777 from gamescope -f -- gamemoderun /home/vikings/.local/share/Steam/compatibilitytools.d/GE-Proton9-14/files/bin/wine /home/vikings/Games/astrea-six-sided-oracles/drive_c/Games/Astrea Six-Sided Oracles/Astrea.exe
Start monitoring process.
[gamescope] [Info]  console: gamescope version 3.15.11 (gcc 14.2.1)
No CAP_SYS_NICE, falling back to regular-priority compute and threads.
Performance will be affected.
ATTENTION: default value of option vk_khr_present_wait overridden by environment.
[gamescope] [Info]  vulkan: selecting physical device 'AMD Radeon RX 7900 XT': queue family 1 (general queue family 0)
[gamescope] [Info]  vulkan: physical device supports DRM format modifiers
[gamescope] [Error] vulkan: vkAllocateDescriptorSets failed
SDL_Vulkan_CreateSurface failed: VK_KHR_wayland_surface extension is not enabled in the Vulkan instance.terminate called without an active exception
Monitored process exited.
Initial process has exited (return code: 134)
All processes have quit
Exit with return code 134

And the wayland surface command returns this

[vikings@VIKINGSKINGDOM ~]$ vulkaninfo | grep VK_KHR_wayland_surface
        VK_KHR_wayland_surface                 : extension revision 6
        Surface type = VK_KHR_wayland_surface
[vikings@VIKINGSKINGDOM ~]$ 

As far as googling this issue went I saw a lot of complaints and not all that many solutions, at least ones I could understand. From what I did understand and tried nothing fixed my problem.

Anyway, the good news at least, my distro does seem to have a magnifier option in it’s accessibility desktop effects options. And with that I can make a little square appear on the screen that will magnifiy anything that is underneath it.

Not as good as having DPI options that actually work, but hey, at least now I can read the smaller texts without having to strain my neck and my back and it’s much simpler then dealing with all the gamescope nonsense. So until a better system comes along I guess I’ll just stick with this…? :face_with_diagonal_mouth:

Thank you for all your time mate.