Legion Go S Support
@antheas
Hello!
I will be receiving a Legion Go S tomorrow, and I would like to help add hardware support to Bazzite (I assume through HHD). Can you already now tell me what you need me to do so that I am prepared? Something about dumping controller info from Windows?
I am a software engineer by trade so I am comfortable working with command lines etc.
Regards
Mads
143 Replies
Yep
Had the OG, not a fan...
Gotcha
What's fyn
It's the 16gb unfortunate
Well, maybe we can make due. All you need to do is some Wireshark recordings
I also don't feel like dual booting tomorrow
since antheas is flying today idk when he will be on, but all i do know is you need wireshark with usbpcap
and thats where my knowledge stops ๐
but you can maybe have a look at #Attempt to add MSI Claw support? to see what he needs for basic controller support maybe (sorry its a very long thread and its the one i remember on top of my head)
Alright, cool. I'll check it out if windows update ever completes ๐
here it is btw
Installed bazzite on an external ssd. Controller works once setup is completely done and inside steam
Steam does say something about it being unsupported hardware
Something about steam deck prototype ev2? ๐คทโโ๏ธ
hhd has "Powersave", "Balance" and "per
"Performance"
profiles
audio works fine
There is a VRR toggle in the QAM but it says "Display State: VRR Disabled" below it no matter what its set to
Fan ramp-up/down seems quite aggressive but it seems to be in Windows as well, maybe a BIOS setting
It's not anyway we'll fix it
PR the acpi tables like so https://github.com/hhd-dev/hwinfo/blob/21b7442219922233c41c0568995214ba92873f69/devices
GitHub
hwinfo/devices at 21b7442219922233c41c0568995214ba92873f69 ยท hhd-de...
Contribute to hhd-dev/hwinfo development by creating an account on GitHub.
Get to master internet is spotty
And follow instructions there
Then send me the sapientia dll from windows so I can look at the functions
Then do Wireshark recordings of messing with the RGB and gyro and take images of legion space. Start with one recording that has a bit of everything
If I'm on my computer by then I'll tell you what to do for the other recordings
Otherwise start doing the functions one by one and writing down what you changed
I also hAve a Jupiter notebook you can use to control the controllers with the sapientia dll
So after you use a decompiler to get the function definition you can use Wireshark to find the commands
thx, will take a look
heres the linux bit
i couldnt get any hid output from the dpad
As well thats not reckognised by bazzite as is
will move on to wireshark
we only need the legion buttons
that will need a kernel patch and xpad rule
send a bug report from hhd
Legion buttons are in hid/controller along with the rest
you dont need wireshark then?
i need wireshark in windows
for rgb and gyro
ah
I got gyro output on one of the hids as well
but will move on to windows
wish me luck ๐ฌ
gl
the thing with the gyro is that we need to be able to turn it on
got it
thats not a legion feature per say but it should be in the dll
wheres that dll located?
its called sapentia something
its in legion space somewhere
main folder
send a bug report before windows
actually nvm
go to windows
๐
bug report fails
fpaste x 4320 nonzero status
but will go to win
are you on the internet?
eh
doh sorry
just came from a popos livecd that was connected
i dont think thats the controller gyro you found
oh?
it was some kind of gyro tho? changed as i moved the device
it might be the display gyro
oh
we didnt udpate the hid instructions
my bad
hhd.contrib evdev/hidraw
is what you need
we have custom tools for it now
if you have bazzite on it nowyou want me to redo them?
i do
use it to do a bug report
alright
sec
then run the hidraw command and show me the device
s
๐
bug report submitted
i need the link
50e708aa
we are not that advanced yet
lol
sorry im on another machine with discord ๐
https://paste.centos.org/view/50e708aa
hdd.contrib command not found
just naively running from a terminal in bazzite desktop mode
booting into windows for the dll
hhd
ah shit its custom
this one?
thanks
can you take some pics from legion space?
i need to get an idea
what can you edit
you mean screenshots?
sure
Yea
Also one from device manager
iCloud Photos - Apple iCloud
View, organize, and share photos and videos with iCloud Photos on the web. Changes will sync across your devices with iCloud.
sorry for the sideways capture
boomer level 300 ๐คฆโโ๏ธ
device manager
put view as container
find controller
screenshot that
๐
iCloud Photos - Apple iCloud
View, organize, and share photos and videos with iCloud Photos on the web. Changes will sync across your devices with iCloud.
not sure exactly what you wanted so heres a vid
note some of the devices is just my docked setup like the lg screen and apple keyboard
i wanted the hid device
go into usb input device
anything specific you want in there?
no
thats it
do an rgb recording and linux
wireshark rgb recording?
yes
right
legion space crashing on me ๐
amd i doing this right?
just selected all usb devices and clicked around in legion space
I will look at it in 20m
got it
You need to select the hub that has the controller
probably signing off soon, got work tomorrow
The pcap
how do I know which one it is?
It's this one
Then select the hub of the controller and all subdevices
I just have these
When you press the gear
You can see the devices in it
Also very important before you sign off to do the hidraw thing in limix
Linux
Then let's leave it at that for today
probably this one
will give it a shot then go to linux
booting into linux
whats the exact command you want me to run in linux?
sudo hhd.contrib hidraw
Then with evdev instead of hidraw
Just show the devices firsthidraw:
Available Devices with the Current Permissions
- /dev/hidraw0 1a86:e311 Usage Page: 0x0001 Usage: 0x0006 Names: 'wch.cn': 'Legion Go S'
- /dev/hidraw1 1a86:e311 Usage Page: 0x0001 Usage: 0x0005 Names: 'wch.cn': 'Legion Go S'
- /dev/hidraw2 1a86:e311 Usage Page: 0xff01 Usage: 0x00d6 Names: 'wch.cn': 'Legion Go S'
- /dev/hidraw3 1a86:e311 Usage Page: 0xffa0 Usage: 0x0001 Names: 'wch.cn': 'Legion Go S'
- /dev/hidraw4 1a86:e311 Usage Page: 0xffa0 Usage: 0x0001 Names: 'wch.cn': 'Legion Go S'
- /dev/hidraw5 1a86:e311 Usage Page: 0x0020 Usage: 0x0202 Names: 'wch.cn': 'Legion Go S'
- /dev/hidraw6 1a86:e311 Usage Page: 0xffa0 Usage: 0x0001 Names: 'wch.cn': 'Legion Go S'
- /dev/hidraw8 0603:f200 Usage Page: 0xff00 Usage: 0x0002 Names: '': 'NVTK0603:00 0603:F200'
- /dev/hidraw9 05ac:0250 Usage Page: 0x0001 Usage: 0x0006 Names: 'Apple Inc.': 'Apple Keyboard'
- /dev/hidraw10 046d:c53f Usage Page: 0x0001 Usage: 0x0006 Names: 'Logitech': 'USB Receiver'
- /dev/hidraw11 046d:c52b Usage Page: 0xff00 Usage: 0x0004 Names: 'Logitech': 'USB Receiver'
- /dev/hidraw12 046d:c53f Usage Page: 0xff00 Usage: 0x0004 Names: 'Logitech': 'USB Receiver'
- /dev/hidraw13 046d:c53f Usage Page: 0xffbc Usage: 0x0088 Names: 'Logitech': 'USB Receiver'
- /dev/hidraw14 046d:4082 Usage Page: 0xff00 Usage: 0x0004 Names: 'Logitech': 'USB Receiver'
- /dev/hidraw15 0bda:1100 Usage Page: 0xffda Usage: 0x00da Names: 'Realtek': 'HID Device'
- /dev/hidraw16 05ac:0250 Usage Page: 0x000c Usage: 0x0001 Names: 'Apple Inc.': 'Apple Keyboard'
- /dev/hidraw17 046d:4074 Usage Page: 0xff00 Usage: 0x0004 Names: 'Logitech': 'USB Receiver'
evdev:
Can you use a code block
Three ampersand
Well that's a lot of legion go s devices
yep ๐ฌ
no idea what legion go s keyboard is
unless theres a hidden hatch somewhere ๐
It's so you can set keyboard shortcuts
ah
In any case, what controller does steam see
wch.cn Legion Go S
is what it says
What buttons does it have
How does it look in the tester
Take a pic
sec
Which of the buttons work
all except dpad
What about the legion buttons
legion space is big home button
legion quick settings is the share one
both work
@Kyle Gospo
Custom firmware
For steamos
To use sdl sensor fusion
Lovely
Just needs to be patched to sdl
If that's the case I wonder if it's already in valves SDL source
They'll probably do it in two weeks
Maybe
๐
Inputplumber stonks down
What about legion L and y
Does that do anything?
Power light is always white?
legion l?
Legion space button
ah sorry
no changes power states
light changes
So just white
In windows?
white purple blue
no in windows it changes
Gimped firmware confirmed
i just changed it in legion space, never used that shortcut
it also changes in bazzite
Oh
with legion L + y
It still changes?
yeah sorry
yes
dont know why I wrote no ๐
If you go to windows
And close legion space
if legion L + y changes power states in windows?
ah
Does the legion button become
sec
Xbox?
checkng
looks like it does nothing
when legion space is closed
I suppose that makes sense? This is supposed to be a handheld more akin to a steam deck
So dropping the hokie shortcut probably is a step toward that
btw I can change it between xinput and dinput by holding legion L and rb
Never mind, it's as bad as ever lol
Does that work in linux
if its in dinput mode steam in windows wants nothing to do with it
yes
at least I think so
will go check
oh no
windows update
itll have to recover
it works in linux
and it looks like steam in windows and steam can only see the one of them
not sure if its the same or different on they see
steam in linux
But the legion button works in linux
That's so weird
it shows in the tester
it doesnt work out of the box, but I can map it
Xinput is busted in both probably
Ok go to hhd.contrib evdev
Find that device
And see the hz
So the mapping is busted
not understood?
Run this
Actually fuck it
Enough for today
alright
hope it gave you guys something to go on ๐
im out, bye bye
Bye
So when the mapping worked it was because you messed with it tho
ok, you got one out of 3 units
theyre gone
Nice
yes by work i thought you meant showed up in the tester
so ootb its completely busted like the ally
nice
ally x
just wanted to pop in and say I tried a game and vrr works
its disabled in steamui
No enabled
Now when i switched it it said enabled ๐คทโโ๏ธ
when youre inside steam its disabled automatically
to halve the framerate and to prevent flickering
vrr?
yes
we disable it
i might be willing to buy it off you, otherwiise earliest we get is feb 4
what does the vrr toggle do then?
it works when youre ingame
since you dont want to keep it
ah i get you
Hmm let me consider
ima be honest, we'll probably not be able to fix it remote the firmware is completely new. Also it probably has the prerelease ids and shit
it has 7 devices, just think of the back and forth
Have u tried flashing the steam deck image to it theoretically it should work no ?
If you saw the CES demo you'd know that's not true
oh right