DFU running on Steam Deck

Discuss Daggerfall Unity and Daggerfall Tools for Unity.
User avatar
jefetienne
Posts: 170
Joined: Thu Jan 16, 2020 8:14 pm
Location: Gallomont, Wayrest
Contact:

Re: DFU running on Steam Deck

Post by jefetienne »

Metalhead324 wrote: Fri Apr 29, 2022 12:10 am I left a ping for you on the discord with some additional thoughts, but the TLDR version is that it seems something in the Steam Deck stops the built in controller support from activating properly, and you kind of have to "trick it" to kick it in. IIRC it autodetected DFU as mouse and keyboard going by the controller template I think defaulted to. Fortunately, the Steam Deck enables rebinding pretty seamlessly. :D When I did my bindings, I used the configuration posted here https://www.dfworkshop.net/daggerfall-unity-0-10-23/ as a starting point, but I adapted it according to what made sense to me. I'll try and post my binding this weekend, both here and in the discord.
I think that what happens on Steam Deck with DFU is that the code for getting controller bindings set just doesn't activate, and I'm thinking it might be the proton layer in SteamOS that kills it somehow. As I said in my posts on that thread, it's perfectly fixable with manual binds, just requires the user to take that extra step setting them
Might be testable by starting the game from desktop mode, but I'm not totally sure. And IDK if I could test it since I already went through and set all my controls manually
FWIW, I think when I first added DFU to Steam on my Steam Deck, it tried to autodetect the best preset template to use with it, and I think it chose keyboard + mouse.
Yeah, I'll have to take a look at this when I get my device. It shouldn't be the proton layer since I assume you ran it with the native Linux binary, but it's possible that Steam Input is getting in the way. I'm not sure if Unity has some sort of option to make itself known that it accepts controller configs, or how to get Steam to auto-configure itself until I get my hands on it. We'll see!
El jefe, Etienne
Nexus Mods | GitHub

User avatar
Metalhead324
Posts: 23
Joined: Fri Aug 02, 2019 4:35 pm

Re: DFU running on Steam Deck

Post by Metalhead324 »

jefetienne wrote: Fri Apr 29, 2022 2:07 amYeah, I'll have to take a look at this when I get my device. It shouldn't be the proton layer since I assume you ran it with the native Linux binary, but it's possible that Steam Input is getting in the way. I'm not sure if Unity has some sort of option to make itself known that it accepts controller configs, or how to get Steam to auto-configure itself until I get my hands on it. We'll see!
Hope you do figure it out! I did install and run it in the Linux desktop mode at first (as well as using that mode to install mods), but since then I've been running it from SteamOS after adding it to Steam as a non-Steam game, since I like having it as part of my library with everything else. :D Handy function, that. Steam input getting in the way somehow does seem like a reasonable hypothesis. Either way, I hope there is a way to get it to accept the controller configuration out of the box, but until then, manual assignment at least does the job. Who knows though, maybe the updates they've pushed out since I got it running last week may have fixed the problem and I don't even know it.

Another possibly useful datapoint is that I installed a Sega Genesis emulator and have played one game with that, and the controls worked right from the start.
Unofficial fan discord server https://discord.gg/NCrDfzSMpz

User avatar
jefetienne
Posts: 170
Joined: Thu Jan 16, 2020 8:14 pm
Location: Gallomont, Wayrest
Contact:

Re: DFU running on Steam Deck

Post by jefetienne »

I just picked up the steam deck now and obviously Daggerfall Unity has to be the first game I play on it. 8-)
Metalhead324 wrote: Fri Apr 29, 2022 12:10 am I left a ping for you on the discord with some additional thoughts, but the TLDR version is that it seems something in the Steam Deck stops the built in controller support from activating properly, and you kind of have to "trick it" to kick it in. IIRC it autodetected DFU as mouse and keyboard going by the controller template I think defaulted to.
I actually did not experience this. I added the DaggerfallUnity.x86_x64 file as a non steam game, booted back into my gamemode, launched from there, and it worked like booting up any normal launch. I did not any tricks other than pressing Esc with a keyboard to get to the Controls window to bind my keybinds.

Have you checked if on the library page for your Daggerfall non-steam game, by pressing the controller icon next to the gear, if the 'Current Layout' says "Gamepad with Joystick Trackpad" for you?
El jefe, Etienne
Nexus Mods | GitHub

User avatar
Metalhead324
Posts: 23
Joined: Fri Aug 02, 2019 4:35 pm

Re: DFU running on Steam Deck

Post by Metalhead324 »

jefetienne wrote: Fri Apr 29, 2022 9:42 pmHave you checked if on the library page for your Daggerfall non-steam game, by pressing the controller icon next to the gear, if the 'Current Layout' says "Gamepad with Joystick Trackpad" for you?
Yes, and that layout for DFU has been fully customized for me. I don't remember with 100% certainty controller layout it defaulted to - it might have been Gamepad with joystick trackpad or something else. I also was able to plug in a keyboard with a USB-C adaptor to hit escape to get into the menu and start binding keys once I realized nothing but the joysticks were working. It's just that I had to bind keys at all to make the game playable, instead of at least some basic commands working right from the start. I seem to recall that when controller support was first added and I tried it on PC, basic commands (swing weapons, pulling up character sheet or inventory, etc.) worked right away, like the game automatically detected a controller and switched default inputs accordingly. All I had to do was connect a controller and get playing. Maybe I remember that wrong? Either way, on Steam Deck, what I recall is pressing a lot of the buttons, but nothing happened when I first booted it up, as if it didn't switch default controls. It seems you have to go through and bind keys for basic commands in the DFU menu and/or Steam Deck controls menu before the game is playable. It works, it just takes a little effort to set up, which doesn't seem ideal to me. :/

As I suggested previously, I do wonder if any software update they've pushed out since I installed it has improved controller detection or support within Steam itself.

FWIW I've attached photos of both the Steam layout and DFU in game controls. I know you can do screenshots with the Steam + R1 shortcut, but exporting them from the Deck then making them forum-friendly is more than I'm up to doing RN.

Edit: After further searching, I think I realized my memory is faulty. I want to ask a key question...does DFU have a built-in default controller input setup? I swear I remember it having one, but I found a reddit thread suggesting otherwise.
Attachments
IMG_3011.jpeg
IMG_3011.jpeg (332 KiB) Viewed 1585 times
IMG_3012.jpeg
IMG_3012.jpeg (590.3 KiB) Viewed 1585 times
IMG_3013.jpeg
IMG_3013.jpeg (334.17 KiB) Viewed 1585 times
Unofficial fan discord server https://discord.gg/NCrDfzSMpz

User avatar
jefetienne
Posts: 170
Joined: Thu Jan 16, 2020 8:14 pm
Location: Gallomont, Wayrest
Contact:

Re: DFU running on Steam Deck

Post by jefetienne »

Metalhead324 wrote: Sat Apr 30, 2022 3:02 am After further searching, I think I realized my memory is faulty. I want to ask a key question...does DFU have a built-in default controller input setup? I swear I remember it having one, but I found a reddit thread suggesting otherwise.
Yeah, I never implemented a full preset. The only buttons I have bound by default are for left and right mouse clicks which are Joy0 and Joy1, respectively. That's why I need to look into detecting what kind of controller is found, what OS the user is on, and then load up a preset profile, while also keeping everything abstracted so the secondary controls page can stay the same across all controllers and OSes (e.g. label things as 'Button A' instead of 'Joy0').

Thanks for the pictures!
El jefe, Etienne
Nexus Mods | GitHub

User avatar
Metalhead324
Posts: 23
Joined: Fri Aug 02, 2019 4:35 pm

Re: DFU running on Steam Deck

Post by Metalhead324 »

Yeah, that'd be awesome to have default controller inputs! I think with the Steam Deck now being a thing and Daggerfall classic on Steam, ready-to-go controller bindings would probably be great for a good swath of people. :) I was so sure they already were there so I hope you can understand why I was confused and concerned I had to do manual binding on Steam Deck. At least it makes sense now - because I remembered wrong! :lol:

If you want to try my Steam Input template, I did upload it as a community template shortly after I took these photos. I also realized I left out one picture to show autorun is bound to L3 in DFU. YW for the pictures!
Unofficial fan discord server https://discord.gg/NCrDfzSMpz

User avatar
Metalhead324
Posts: 23
Joined: Fri Aug 02, 2019 4:35 pm

Re: DFU running on Steam Deck

Post by Metalhead324 »

I had a thought this morning after waking up. Would it be possible to add ESC to the current default keybind list? It'd negate the need for a keyboard entirely for binding keys for controller and Steam Deck players. I know you still need a keyboard for a few things in game, but for Steam Deck owners, the virtual keyboard does the job for that. But the virtual keyboard lacks an escape key (I hope they add one at some point), so you still have to hook up a keyboard to access the control menu. Having ESC included in the default bindings would be a great convenience feature.
Unofficial fan discord server https://discord.gg/NCrDfzSMpz

User avatar
jefetienne
Posts: 170
Joined: Thu Jan 16, 2020 8:14 pm
Location: Gallomont, Wayrest
Contact:

Re: DFU running on Steam Deck

Post by jefetienne »

Metalhead324 wrote: Sat Apr 30, 2022 1:09 pm I had a thought this morning after waking up. Would it be possible to add ESC to the current default keybind list? It'd negate the need for a keyboard entirely for binding keys for controller and Steam Deck players. I know you still need a keyboard for a few things in game, but for Steam Deck owners, the virtual keyboard does the job for that. But the virtual keyboard lacks an escape key (I hope they add one at some point), so you still have to hook up a keyboard to access the control menu. Having ESC included in the default bindings would be a great convenience feature.
That's been something I thought of before. I'll likely add an "Escape" key keybind in the Joystick controls window, since this would only be used in the UI. The Pause button in the Advanced controls window will stay the same since it is used in gameplay.
El jefe, Etienne
Nexus Mods | GitHub

User avatar
jefetienne
Posts: 170
Joined: Thu Jan 16, 2020 8:14 pm
Location: Gallomont, Wayrest
Contact:

Re: DFU running on Steam Deck

Post by jefetienne »

Also, trying to play DFU at a 30-frame cap is quite awful for camera turning and I think it needs to be figured out how to not make the speed dependent on framerate.
El jefe, Etienne
Nexus Mods | GitHub

User avatar
Metalhead324
Posts: 23
Joined: Fri Aug 02, 2019 4:35 pm

Re: DFU running on Steam Deck

Post by Metalhead324 »

Yeah, I make sure to run DFU with the performance settings set to 60 FPS. Works well enough for me, at least.

Also, I tried doing that workaround to make the Steam version work with DFU in Steam Deck. Took a lot of messing around (and multiple resetting of keybinds and other things), but I did get it to work! The key thing I found was setting a new Steam install directory just for DFU somewhere that isn't a hidden file so the DFU launcher can find it. I just dropped one right in the home directory.
Unofficial fan discord server https://discord.gg/NCrDfzSMpz

Post Reply