boxtron icon indicating copy to clipboard operation
boxtron copied to clipboard

Errors when starting Steam

Open michaelneverwins opened this issue 1 year ago • 9 comments

Recently, I started getting errors from Boxtron upon launching Steam.

error1 error2

Based on errors logged to the terminal, it looks like this is because Steam is trying to run some d3ddriverquery64.exe with every compatibility tool when it starts; see ValveSoftware/steam-for-linux#11435.

Roberta also logs errors to the terminal but does not create any dialog windows.

Meanwhile, Luxtorpeda just logs the following:

lux - Exiting because no steam app id
lux - Exiting because no steam app id

That output was added in luxtorpeda-dev/luxtorpeda#420 which I assume was intended to handle exactly this problem, so I wonder if something similar could be done in Boxtron as well. (Ideally, Steam would just skip non-Wine-based compatibility tools in whatever it's doing with d3ddriverquery64.exe, but I probably shouldn't count on Valve changing Steam to suit compatibility tools that aren't Proton.)

michaelneverwins avatar Nov 08 '24 04:11 michaelneverwins

Just to add, I'm having the same issues. Some output from Steam that might be relevant:

boxtron: working dir: "/home/ivan/.local/share/Steam"
boxtron: original command: ['/home/ivan/.local/share/Steam/ubuntu12_32/../bin/d3ddriverquery64.exe']
boxtron: screen '0': 1366x768
boxtron: selected screen '0'
boxtron: looking for sf2 file: /home/ivan/.local/share/Steam/compatibilitytools.d/boxtron/share/sounds/sf2/FluidR3_GM.sf2
boxtron: looking for sf2 file: /home/ivan/.local/share/Steam/compatibilitytools.d/boxtron/share/soundfonts/FluidR3_GM.sf2
boxtron: looking for sf2 file: /home/ivan/.local/share/sounds/sf2/FluidR3_GM.sf2
boxtron: looking for sf2 file: /home/ivan/.local/share/soundfonts/FluidR3_GM.sf2
boxtron: looking for sf2 file: /usr/share/xfce4/sounds/sf2/FluidR3_GM.sf2
boxtron: looking for sf2 file: /usr/share/xfce4/soundfonts/FluidR3_GM.sf2
boxtron: looking for sf2 file: /home/ivan/.local/share/flatpak/exports/share/sounds/sf2/FluidR3_GM.sf2
boxtron: looking for sf2 file: /home/ivan/.local/share/flatpak/exports/share/soundfonts/FluidR3_GM.sf2
boxtron: looking for sf2 file: /var/lib/flatpak/exports/share/sounds/sf2/FluidR3_GM.sf2
boxtron: looking for sf2 file: /var/lib/flatpak/exports/share/soundfonts/FluidR3_GM.sf2
boxtron: looking for sf2 file: /usr/local/share/sounds/sf2/FluidR3_GM.sf2
boxtron: looking for sf2 file: /usr/local/share/soundfonts/FluidR3_GM.sf2
boxtron: looking for sf2 file: /usr/share/sounds/sf2/FluidR3_GM.sf2
boxtron: found soundfont: /usr/share/sounds/sf2/FluidR3_GM.sf2
boxtron: ignoring command: ['/home/ivan/.local/share/Steam/ubuntu12_32/../bin/d3ddriverquery64.exe']
boxtron: error: Game not recognized as DOSBox compatible.
Desktop state changed: desktop: { pos:    0,   0 size: 1366, 768 } primary: { pos:    0,   0 size: 1366, 768 }
Caching cursor image for , size 10x16, serial 295, cache size = 0
BuildCompleteAppOverviewChange: 531 apps
boxtron: working dir: "/home/ivan/.local/share/Steam"
boxtron: original command: ['/home/ivan/.local/share/Steam/ubuntu12_32/../bin/d3ddriverquery64.exe', '-d3d12']
boxtron: screen '0': 1366x768
boxtron: selected screen '0'
boxtron: looking for sf2 file: /home/ivan/.local/share/Steam/compatibilitytools.d/boxtron/share/sounds/sf2/FluidR3_GM.sf2
boxtron: looking for sf2 file: /home/ivan/.local/share/Steam/compatibilitytools.d/boxtron/share/soundfonts/FluidR3_GM.sf2
boxtron: looking for sf2 file: /home/ivan/.local/share/sounds/sf2/FluidR3_GM.sf2
boxtron: looking for sf2 file: /home/ivan/.local/share/soundfonts/FluidR3_GM.sf2
boxtron: looking for sf2 file: /usr/share/xfce4/sounds/sf2/FluidR3_GM.sf2
boxtron: looking for sf2 file: /usr/share/xfce4/soundfonts/FluidR3_GM.sf2
boxtron: looking for sf2 file: /home/ivan/.local/share/flatpak/exports/share/sounds/sf2/FluidR3_GM.sf2
boxtron: looking for sf2 file: /home/ivan/.local/share/flatpak/exports/share/soundfonts/FluidR3_GM.sf2
boxtron: looking for sf2 file: /var/lib/flatpak/exports/share/sounds/sf2/FluidR3_GM.sf2
boxtron: looking for sf2 file: /var/lib/flatpak/exports/share/soundfonts/FluidR3_GM.sf2
boxtron: looking for sf2 file: /usr/local/share/sounds/sf2/FluidR3_GM.sf2
boxtron: looking for sf2 file: /usr/local/share/soundfonts/FluidR3_GM.sf2
boxtron: looking for sf2 file: /usr/share/sounds/sf2/FluidR3_GM.sf2
boxtron: found soundfont: /usr/share/sounds/sf2/FluidR3_GM.sf2
boxtron: error: DOSBox argument error: "unrecognized arguments: -d3d12"

ivanodintsoff avatar Nov 10 '24 03:11 ivanodintsoff

Unable to test via the handful of DOS games I have right now (Harvester, Wolfenstein 3D work fine with their included DOSBox binaries, but not if I select a specific Boxtron version, etc.)

That being said, this snippet appears to supress the error messages when entering desktop mode, at least.

diff --git a/run-dosbox b/run-dosbox
index 4641d11..357c0fc 100755
--- a/run-dosbox
+++ b/run-dosbox
@@ -156,6 +156,11 @@ def run(cmd_line, wait=False):
         status = fakescripteval.iscriptevaluator(cmd_line)
         sys.exit(status)

+    steam_app_id = os.environ.get('SteamAppId', '0')
+    if steam_app_id == '0':
+        log('Exiting because no steam app id')
+        sys.exit(0)
+
     # we don't want to detect hardware until we're sure we are starting
     # the actual game:
     settings.setup()

For others that might want an immediate fix

Not that I'd recommend updating this way... But adding it to the file of the same name in the active Boxtron installation should work as well

evanjs avatar Nov 18 '24 22:11 evanjs

I manually applied @evanjs's patch and it worked for me.

dvogel avatar Nov 26 '24 15:11 dvogel

Thanks @evanjs.

In-place modification of ~/.steam/root/compatibilitytools.d/boxtron/run-dosbox isn't necessarily something I'd recommend to the average user either, but I don't mind doing it. I've confirmed that it stops the error dialogs. (I've also made the same change to the run function in Roberta's ~/.steam/root/compatibilitytools.d/roberta/run-vm to make it exit more gracefully, even though letting it crash wasn't causing any noticeable problems outside of the terminal output.)

Unfortunately, this does prevent the use of Boxtron for non-Steam games — for example, GOG games as installed using the included install-gog-game script. If I install the GOG version of Alone in the Dark and add it to Steam, then I can use the unmodified Boxtron to run it, but the modified Boxtron exits immediately because non-Steam games have no app ID. (Presumably the same goes for my modified copy of Roberta, if using Roberta for non-Steam games was ever an intended feature; I haven't tried it.)

Personally I don't care about this right now, so I'm keeping the modification, but non-Steam games would need to be considered for any long-term solution (assuming Valve doesn't fix the issue on their end).

michaelneverwins avatar Dec 02 '24 19:12 michaelneverwins

Unable to test via the handful of DOS games I have right now (Harvester, Wolfenstein 3D work fine with their included DOSBox binaries, but not if I select a specific Boxtron version, etc.)

That being said, this snippet appears to supress the error messages when entering desktop mode, at least.

diff --git a/run-dosbox b/run-dosbox
index 4641d11..357c0fc 100755
--- a/run-dosbox
+++ b/run-dosbox
@@ -156,6 +156,11 @@ def run(cmd_line, wait=False):
         status = fakescripteval.iscriptevaluator(cmd_line)
         sys.exit(status)

+    steam_app_id = os.environ.get('SteamAppId', '0')
+    if steam_app_id == '0':
+        log('Exiting because no steam app id')
+        sys.exit(0)
+
     # we don't want to detect hardware until we're sure we are starting
     # the actual game:
     settings.setup()

For others that might want an immediate fix

Not that I'd recommend updating this way... But adding it to the file of the same name in the active Boxtron installation should work as well

In the same point, I used a solution more targetted to the problem:

if exe == 'd3ddriverquery64.exe':
    log('Steam request useless for this compat')
    sys.exit(0)

This allow to retain the functionality under non steam games

StefanoBalocco avatar Dec 27 '24 23:12 StefanoBalocco

great, after i removed boxtron to stop the errors.

interestingly it was also launching luxtorpedia

consider a fork or PR

arrowgent avatar Jan 08 '25 05:01 arrowgent

Will these workarounds be applied on Boxtron? I had to apply them on /usr/share/boxtron/run-dosbox so Steam would shut up about it:

    if exe == 'iscriptevaluator.exe':
        status = fakescripteval.iscriptevaluator(cmd_line)
        sys.exit(status)

    # Custom changes for Steam
    if exe == 'd3ddriverquery64.exe':
        log('Steam request useless for this compat')
        sys.exit(0)

    steam_app_id = os.environ.get('SteamAppId', '0')
    if steam_app_id == '0':
        log('Exiting because no steam app id')
        sys.exit(0)

    # End of Steam custom changes

I've also tried to mirror /usr/share/boxtron/ as ~/.local/share/boxtron/ Then add cmd = ~/.local/share/boxtron in ~/.config/boxtron.conf

But it didn't seem to do anything... =(

GoToLoop avatar Apr 21 '25 17:04 GoToLoop

Recently, I started getting errors from Boxtron upon launching Steam.

error1 error2

Based on errors logged to the terminal, it looks like this is because Steam is trying to run some d3ddriverquery64.exe with every compatibility tool when it starts; see ValveSoftware/steam-for-linux#11435.

Roberta also logs errors to the terminal but does not create any dialog windows.

Meanwhile, Luxtorpeda just logs the following:

lux - Exiting because no steam app id
lux - Exiting because no steam app id

That output was added in luxtorpeda-dev/luxtorpeda#420 which I assume was intended to handle exactly this problem, so I wonder if something similar could be done in Boxtron as well. (Ideally, Steam would just skip non-Wine-based compatibility tools in whatever it's doing with d3ddriverquery64.exe, but I probably shouldn't count on Valve changing Steam to suit compatibility tools that aren't Proton.)

Boxtron also produces both of these two error messages every single time Steam starts up on my laptop as well. Does anyone have any viable solution to fix this ongoing but rather annoying problem?

GhostCoder22 avatar May 25 '25 23:05 GhostCoder22

Does anyone have any viable solution to fix this ongoing but rather annoying problem?

The ideal solution would be for someone to start maintaining this project and/or work on improving the DOSBox runner for Luxtorpeda.

JoshuaFern avatar May 26 '25 00:05 JoshuaFern