Closed sameeris7860 closed 2 years ago
installer is in portrait mode oriented 90 degrees clockwise
UI still upside down, but the command line prompt from boot selection to the UI rotated 180 (so now upside down), but the actual SD UI is still upside down
i will
fbcon=rotate:3
should rotate the console the other direction (counter-clockwise instead of clockwise). Probably see #43 for a potential fix about the Deck UI rotation.
do you have a fix for the screen rotation yet
Kernel 5.17 has the orientation quirk that rotates the display. The 5.13 kernel does not have this backported it seems. https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/drm_panel_orientation_quirks.c
Kernel 5.17 has the orientation quirk that rotates the display. The 5.13 kernel does not have this backported it seems. https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/drm_panel_orientation_quirks.c
Since i couldn't find Steam Deck's kernel source, i can't backport that. Well, looks like i'll have to smuggle Arch's 5.17.x into my repositories, since Neptune doesn't have all of those stuff.
I own both the Aya Neo Pro and OneXPlayer and use them daily using Pop OS and am well versed with the sort of issues that can happen. I'll assist as much as possible. Simply downgrading the gamescope package for the OneXPlayer Intel will resolve the deck UI not working and updating the kernel should fix the wifi on the Aya Neo and orientation issues on the OneXPlayer. I think only the non pro Aya Neo is added to the quirk code, manually adding the Pro will probably be necessary for it.
Kernel 5.17 has the orientation quirk that rotates the display. The 5.13 kernel does not have this backported it seems. https://github.com/torvalds/linux/blob/master/drivers/gpu/drm/drm_panel_orientation_quirks.c
Since i couldn't find Steam Deck's kernel source, i can't backport that. Well, looks like i'll have to smuggle Arch's 5.17.x into my repositories, since Neptune doesn't have all of those stuff.
UPD: I found kernel source for
neptune
kernel. I will take a look at it later. Seems like an easy fix.
Good deal. You will need to add a udev or xpad module to add gamepad support for the Intel OneXPlayer.
I pulled this from a script I made for Pop OS. Should work for Holos as well
sudo curl -o /etc/udev/rules.d/99-oxpgamepad.rules https://pastebin.com/raw/WuB44000
wait so do i run this and it will fixi this . if so you are THE BEST
have you updated kernel?
have you updated kernel?
I will wait to see what @theVakhovskeIsTaken does with his repos. Overall the changes needed aren't that drastic thanks to the groundwork having already been done.
I did try upgrading the kernel a few days ago and ended up bricking my install.
- Add this to /etc/pacman.conf
[holostaging] Server = https://vakdl.enablers.workers.dev/6:/$repo/os/$arch SigLevel = Never
- Run
sudo pacman -Rcns linux-neptune
andsudo pacman -S linux-neptune-dri
- Run
sudo grub-mkconfig -o /boot/grub/grub.cfg
- Boot and test
@sameeris7860 @ruineka @hopefullyusernamenk can you test screen rotation here please?
Target not found: linux-neptune-dri
I added this holostaging line to pacman.conf
Sorry, bad click.
- Add this to /etc/pacman.conf
[holostaging] Server = https://vakdl.enablers.workers.dev/6:/$repo/os/$arch SigLevel = Never
- Run
sudo pacman -Rcns linux-neptune
andsudo pacman -S linux-neptune-dri
- Run
sudo grub-mkconfig -o /boot/grub/grub.cfg
- Boot and test
@sameeris7860 @ruineka @hopefullyusernamenk can you test screen rotation here please?
Target not found: linux-neptune-dri
I added this holostaging line to pacman.conf
make sure to separate lines on holostaging in pacman.conf, just to be sure (since i had the same issue) and do as -Sy not -S (like [theVakhovskeIsTaken] suggested)
did all the steps but didn't work. should note though im on an old build, ill get on the newest release and try
Unfortunately after updating the orientation remains unchanged.
It looks like the boot CLI text is the correct orientation now, its the gamemode itself that remains upside down. I tested the exact same install on my Aya Neo Pro and the CLI text was sideways and gamemode is landscape.
ok i checked something and i edited it but i haven't run the commands. all I care about is the deck mode being rigthside up
It looks like the boot CLI text is the correct orientation now, its the gamemode itself that remains upside down. I tested the exact same install on my Aya Neo Pro and the CLI text was sideways and gamemode is landscape.
Can you run
uname -a
and check if its indeed "DRI"?
and the tty is the correct orientation
It looks like the boot CLI text is the correct orientation now, its the gamemode itself that remains upside down. I tested the exact same install on my Aya Neo Pro and the CLI text was sideways and gamemode is landscape.
Can you run
uname -a
and check if its indeed "DRI"?
confirmed, it is DRI
It's worth noting that when I was helping the ChimeraOS team a while back we had an issue where if the resolution was not 1600x2560 steamOS/big picture mode rendered upsidedown. I launched a few games and it is showing 800p without 1600p being a selectable option. The fix was to add the missing resolutions to xrandr which then allowed SteamOS to find the resolution and render it correctly.
With Gamescope being Wayland I suspect it uses xwayland1 as the virtual display so it probably needs to add supported resolutions to the list.
Gotcha. I have to go to work unfortunately and my internet keeps going in and out so I'll have to stop for now.
If there is a way to verify the gamescope:0 and xwayland1 available resolutions I suspect it will show only 1600x2560 with deck UI by default attempting to use 800x1280 which is not available.
It's a headscratcher I know, but it's been a reoccurring theme on these devices.
I bet if we can add 800x1280 and/or change steam to use 1600p it will render correctly.
The mini uses a 1200x1920 display I believe by the way.
If it helps this is the script I made/modified to add resolutions for the steam compositor which as previously stated used X11. https://pastebin.com/xVkPQyCb
Important notes: By default ChimeraOS used the native resolution which was 1600x2560 and rendered correctly. The problem was horrible performance.
Setting the goodmode to 800p resulted in the display being upside down.
Adding the 800p as a custom resolution fixed the orientation issue because steam was able to successfully see it as being a supported resolution.
This was before the kernel level orientation quirk fixes so we used the "left" orientation argument to adjust the display. This shouldn't be necessary now that we have the quirk now.
using 5800u onexplayer mini, it is booting fine (minus issues with wifi attributable to core update problems) the orientation is 180 degrees upside down in steam deck ui mode
Can I get the output from xrandr -q? Im curious what resolutions your device is listing as supported.
@theVakhovskeIsTaken There is an interesting GPD device fix within the steam deck customization PKGs. Located at /usr/bin there is gpd-xorg-rotation-config.
I have encountered many problems that I can't solve
It's worth noting that when I was helping the ChimeraOS team a while back we had an issue where if the resolution was not 1600x2560 steamOS/big picture mode rendered upsidedown. I launched a few games and it is showing 800p without 1600p being a selectable option. The fix was to add the missing resolutions to xrandr which then allowed SteamOS to find the resolution and render it correctly. With Gamescope being Wayland I suspect it uses xwayland1 as the virtual display so it probably needs to add supported resolutions to the list.
1. ChimeraOS uses steamcompmgr, which is Xorg. 2. Gamescope uses hardcoded (editable in gamescope-session) resolution for anything else than steam 3. Gamescope runs under gamescope:0, meanwhile X apps run under xwayland1
I have done it, i have fixed the issue!
Okay what you will need is to compile and use Gamescope 3.9.5 with the drm.cpp modified. You will want to change the DRM_MODE_ROTATE=270 instances to DRM_MODE_ROTATE_90.
Logically what you will want to do is specifically do this for devices like the OneXPlayer to fix the issue, otherwise we might have some regression on some devices.
Until we have a proper fix in the latest git of Gamescope we will probably want a installation flag specifically for the Intel OneXPlayers, this may also fix the issues on the GDP win 2 etc as well.
The AMD OneXPlayer should work fine with the latest git with these changes.
HI,Brother, can you tell me which command to execute?
HI,Brother, can you tell me which command to execute?
It's an involved process that I need to replicate to make a guide with a step by step guide to get this working correctly. Unfortunately I won't have time until this weekend to do such work. The state posted above is a hybrid of ChimeraOS and Holos (I used holos repo/steam deck repos on Chimera with the downgraded/patched gamescope. I tried doing the same thing on a vanilla Holos install and all I got was a black screen on boot. Not sure why this would be the case but I'll look into it.
Here is a sloppy note I made and shared on discord for any tinkers out there who might want to pick up on this in the meantime.
OneXPlayer/Intel Gamescope hackery and fun.
Not sure whats different between ChimeraOS using gamescope/gamepadui and Holos, but there is something different apparently because on Holos I get a black screen using the same configurations. So, for reference on how I got this to work on ChimeraOS this is what I did:
Step 1. Upgrade to Chimera 33 (currently testing channel) Step 2. Unlock the filesystem using sudo frzr-unlock Step 3. Add [holoiso], [holo] and [holostaging] servers to pacman.conf
[holostaging] Server = https://vakdl.enablers.workers.dev/6:/$repo/os/$arch SigLevel = Never
[holoiso] Server = https://vakdl.enablers.workers.dev/6:/$repo/os/$arch SigLevel = Never
[holo] Include = /etc/pacman.d/mirrorlist SigLevel = Never
Step 4. Add the steamdeck repo to the mirrors
Server = https://steamdeck-packages.steamos.cloud/archlinux-mirror/$repo/os/$arch
Step 5. sudo pacman -S holo/gamescope Step 6. You won't be able to boot Chimera using chimera-session gamepadui anymore so you will want to use STEAMCMD to add the -steamos3 -gamepadui - steampal - steamdeck arguments (Probably not necessary? I really don't know, I had these values already set from prior testing) and from any TTY. First stop lightdm with sudo systemctl stop lightdm and then run gamescope-session. This will now launch gamepadui in a working (but upsidedown) state on the OneXPlayer.
To fix the upsidedown issue you need to change gamescope drm.cpp values DRM_MODE_ROTATE=270 to DRM_MODE_ROTATE=90 (A proper fix is coming to gamescope so this isn't recommended unless you are testing) I compiled this custom gamescope using my laptop and ssh over the binary to /usr/bin replacing the existing file. When I used gamescope-session after a reboot it was in the correct orientation.
Here is the link to the source I used https://drive.google.com/file/d/1DXzQj7MrweyiSj2T4fpmxJxP59huvTKr/view?usp=sharing
I created a repo specifically for testing the changes to rotate the display. Anyone willing to help me test this on the OneXPlayer and other devices that are upsidedown?
It's worth noting that when I was helping the ChimeraOS team a while back we had an issue where if the resolution was not 1600x2560 steamOS/big picture mode rendered upsidedown. I launched a few games and it is showing 800p without 1600p being a selectable option. The fix was to add the missing resolutions to xrandr which then allowed SteamOS to find the resolution and render it correctly. With Gamescope being Wayland I suspect it uses xwayland1 as the virtual display so it probably needs to add supported resolutions to the list.
1. ChimeraOS uses steamcompmgr, which is Xorg. 2. Gamescope uses hardcoded (editable in gamescope-session) resolution for anything else than steam 3. Gamescope runs under gamescope:0, meanwhile X apps run under xwayland1
I have done it, i have fixed the issue!
Okay what you will need is to compile and use Gamescope 3.9.5 with the drm.cpp modified. You will want to change the DRM_MODE_ROTATE=270 instances to DRM_MODE_ROTATE_90.
Logically what you will want to do is specifically do this for devices like the OneXPlayer to fix the issue, otherwise we might have some regression on some devices.
Until we have a proper fix in the latest git of Gamescope we will probably want a installation flag specifically for the Intel OneXPlayers, this may also fix the issues on the GDP win 2 etc as well.
The AMD OneXPlayer should work fine with the latest git with these changes.
Is this all i need? I might clone gamescope later and push this fix for both of 3.9.5 and 3.11+
It definitely will work for the upsidedown issue with the OneXPlayer, but I think devices that used the 270 value might render incorrectly. However, I have been trying to figure out what has changed that causes gamescope sessions to constantly restart indefinitely on ChimeraOS and the black screen on holos.
I made this GitHub for testing the latest master git with the changes https://github.com/ruineka/gamescope-onexplayer There is a gamescope-onexplayer-downgraded branch that has the modified 3.9.5 version as well.
I am not familiar enough with arch to setup an aur for this though. I have been manually installing each individual dependency to build it.
Getting the readout of of the gamescope log tells me it's the anv assert error we already know about using the master branch. 3.9.5 is the only version I was able to confirm the orientation fix on.
I see that there may be a patched mesa for intel users fixing this assert error on 3.11+ so if that's the case then using the change visible on my github page should work fine.
I got it working on holoiso correctly by editing the gamescope-session to use 1600x2160 resolution and removed the --xwaylands 2 parameter because it isn't available on 3.9.5 and downgrading mesa as we've done in the past.
So I have methods to get both ChimeraOS and Holoiso to work on the Intel OneXPlayer.
I got it working on holoiso correctly by editing the gamescope-session to use 1600x2160 resolution and removed the --xwaylands 2 parameter because it isn't available on 3.9.5 and downgrading mesa as we've done in the past.
So I have methods to get both ChimeraOS and Holoiso to work on the Intel OneXPlayer.
No need to recompile gamescope, just edit gamescope-session start script? I've thought about this before, but haven't tried it.
I got it working on holoiso correctly by editing the gamescope-session to use 1600x2160 resolution and removed the --xwaylands 2 parameter because it isn't available on 3.9.5 and downgrading mesa as we've done in the past.
So I have methods to get both ChimeraOS and Holoiso to work on the Intel OneXPlayer.
No need to recompile gamescope, just edit gamescope-session start script? I've thought about this before, but haven't tried it.
Oh I'm sorry I should have went into more detail. On Holoiso I ran into multiple issues and the one I was having with the modified DRM and the version shipped with the OS was the black screen of death.
I ran into this at some point in my testing on ChimeraOS so I started investigating parameters in gamescope-session and fixed it on holoiso. It took a good full day of testing to get this going.
You have to have the modified gamescope DRM or else the display is upside down.
How do I install this on onexplayer
How do I install this on onexplayer
If @theVakhovskeIsTaken merges packages with drm changes for 3.9.5/git for Intel/AMD OneXPlayer's alike I'll do testing to find any issues related to the gamescope-session configuration as well as EDID induced problems.
Unless you are familiar enough with arch linux to compile and install gamescope and work from the tty to set it up it's not going to be straight forward I'm afraid.
I have my touchscreen and display rotated. I made a custom libdrm/drm_modes.h header in order to compile this.
Feel free to look at what I did and make proper fixes if anyone wishes.
https://github.com/ruineka/gamescope-onexplayer/commit/a673f4f6debc29d8d0c684e4e553812f7a3a3ee8
My testing branch has an automated script I made for Pop OS for those wishes to test this in a tested environment. I have to push and test AMD but Intel is confirmed working.
@theVakhovskeIsTaken Here we go. the branches "another-experiment" and "another-experiment-intel" have working left up orientation gamescope builds for any "left up" display devices like the OneXPlayer. If you wish to include this with Holoiso it would help all the 'upsidedown" issues.
P.S. the touchscreen is also flipped, and no nonsense dependencies, so if you can build gamescope-git you can also build this.
https://github.com/ruineka/gamescope-onexplayer/tree/another-experiment https://github.com/ruineka/gamescope-onexplayer/tree/another-experiment-intel (This is newer than 3.9.5 so downgrading mesa may not be necessary)
I made a video on how people can fix this issue here as well as setting up Holoiso on the OXP. Use the correct options for AMD or Intel depending on your hardware.
I made a video on how people can fix this issue here as well as setting up Holoiso on the OXP. Use the correct options for AMD or Intel depending on your hardware.
I followed this instruction and I still got a upside down in deck mode.
My device is AyaNeo Air, and uses the 5.18(holo kernel)
I made a video on how people can fix this issue here as well as setting up Holoiso on the OXP. Use the correct options for AMD or Intel depending on your hardware.
I followed this instruction and I still got a upside down in deck mode.
My device is AyaNeo Air, and uses the 5.18(holo kernel)
The video is outdated now but I worked together with Samsagax to get gamescope-plus on the AUR repository so you can use --force-orientation left in your gamescope session to rotate the air's display.
Fixed as of https://t.me/HoloISO/195. Huge thanks to @ruineka @Samsagax
Glad the work paid off for everyone! :)
using 5800u onexplayer mini, it is booting fine (minus issues with wifi attributable to core update problems) the orientation is 180 degrees upside down in steam deck ui mode