GPD WIN MAX Screen fix, how to apply fully

I want to give as much info as possible so that what I am asking for is clearly known. Therefore before I start. I apologize. There is going to be a lot of stuff here. Lots of reading perhaps.

I am going to try very hard to stick only to the point.

As it says this is an 8 inch GPD WIN MAX. Some may be familiar with it.

I am pasting here first the link to the actual POST in Reddit where the solution was given:

Now I am actually going to include the info from that post here for redundancy and maybe
to save time. It is actually pretty simple and mostly clear. I am familiar with Debian and have
Debian working on it right now.

The FIX:
The EDID information identifying the display isn’t in ACPI like on the Win 2. I extracted it from Windows (still not sure what the source is, it could be only in the registry) and saved the copy in u /lib/firmware/edid/gpdwinmax.bin , then passed the kernel parameters to load it:

video=eDP-1:800x1280 drm.edid_firmware=eDP-1:edid/gpdwinmax.bin fbcon=rotate:1

(Note: This works fine here as I did this in Manjaro a few months ago when I first got this unit.)

This sets the console rotation and video mode, but not the GUI rotation; in gnome, this had to be set to “Portrait Left”. The kernel parameters were in my case stored in /etc/default/grub .

(Actually I can’t recall now. Maybe the rotation did not work in Grub or Framebuffer. The important part
is being able to see your screen at login and once you login. Login was not rotated. I use Plasma or Xfce.)

If you want a copy of my EDID, paste the following into:
base64 --decode > /lib/firmware/edid/gpdwinmax.bin

AP///////wAJ5QMAAwAAAAEdAQOACxF4LwAAoFdJmyYQSE8AAAABAQEBAQEBAQEBAQEBAQEBwhog
UDAAEFAQEDIAbKwAAAAYAAAA/ABUVjA4MFdVTS1OTDAKAAAA/QA8PBAQBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMM=

(not sure what’s going on with the forum options here. May be better to get that from the original article.)

Ok, all the above was done and it worked at least I could see my screen and it didn’t make you feel like you had blurry vision or had been drugged. (Quad vision overlapping images on the display because not only was the original size not detected. Neither was the proper refresh rate. Best if you have another monitor to plug in to do your install.) Can rotate it once logged in. But the next part will get you that and
let it stay there.

The NEXT PART is all I needed and on several ARCH based distro forums and of course Manjaro Forum I could not get an answer how to set this basically to start at boot. I DID read the Arch Wiki
and I didn’t know whether I needed to use wiki.archlinux index.php Mkinitcpio#Customized_generation
Mkinitcpio or another tool or process. I also hadn’t figured out what exactly I needed to tell Mkinitcpio.

It is done like this in an RPM Distro, Fedora too I think.
echo ‘install_items+=" /lib/firmware/edid/gpdwinmax.bin "’ > /etc/dracut.conf.d/99-edid.conf

(I even saw in the ARCH wiki that you could install Dracut to do this with in fact.)

It’s done like this in Debian per the posts instructions:

If your system starts DRM early, as mine does, you’ll want to have the EDID in the initramfs to get the console mode right. I did this using a hook /etc/initramfs-tools/hooks/edid , so update-initramfs -u would add the EDID file. Contents of the hook script:

```#!/bin/sh

case $1 in
prereqs)
        exit 0
        ;;
esac

. /usr/share/initramfs-tools/hook-functions

copy_file EDID /lib/firmware/edid/gpdwinmax.bin``` 

So my question is how do I achieve this 2nd part here in “RebornOS”?

All the previous stuff I can get going but how do I make it load the custom-edid at boot? How exactly to
get EDID in the initramfs? The mystery. (Another option to do this from reading is I think to edit Xorg.conf I believe and tell Xorg to use the EDID for that particular device, the default screen since plugging everything else into HDMI at least is normal. (I have no idea what the result would be using USB C or the Thunderbolt plug. I have no hardware to plug those into)

Sorry if this post may have been longer than needed but just want to try to include all the needed
info to what I want the answer too.

Thank you in advance for reading my LONG post.

Looking forward to getting RebornOS on the “Little beast”!

(My nickname for this problematic hardware. Why on earth a screen that does not give it’s information? Seems like they purposely tried to force people not to use anything else. All other hardware on it is Intel and any Linux as I discovered a few months ago will run the other hardware except the screen. Well, those that could even make it past the screen to boot into a blurry screen and that was a small number. It does need the newer kernel 5.10+. )

Greetings, and welcome to RebornOS.

I don’t know if it will be of help, but you could try the Arch Linux Wiki, here:

https://wiki.archlinux.org/title/kernel_mode_setting#Early_KMS_start

I leave a part of the text of the page:

"If you are using a custom EDID file (not applicable for the built-in resolutions), you should embed it into initramfs as well
:

/etc/mkinitcpio.conf
FILES=(/usr/lib/firmware/edid/your_edid.bin)

Then regenerate the initramfs."

1 Like

:smiley:
Why thank you SOOOOOO much!!

Especially for the example. That’s what I needed. I had looked at the instructions for mkinitcpio but didn’t fully grasp the manner in which I would use the context. Now I think I can work with that example.

I am really grateful. I actully think just need that part right there to tell it to load the EDID. WoW!!

Thank you so much!! :blush:

At work now but will try my install at home later.

1 Like

It has been done!! Thanks for the point in the right direction.

It was basically the same as dracut with minor differences. A few minor things.

Login manager is still sideways. What controls that? I didn’t see such info under the login\session managers in the wiki.

What desktop are you using? The login manager changes depending on the desktop installed…

Hi, just saw the reply here… KDE. SDDM. But… interestingly. I just started it up this evening and, after 1st login when it turns off the screens after a set amount of time with no activity. When I logged back in, that was normal on the screen.

But still at initial boot up to the login manager… it is sideways still. I do have it attached to another screen. Thing that has any effect? However at initial login, that screen is not displaying it’s 1920x1080 but actually the resolution of the laptop screen.

Sideways… or portrait style. I am getting the TOP of it.

There is a possible reason and I will as your opinion later if you think that may be it.

But I have a meeting now so I’ll be back later.

By the way, have we got a ZOOM pkg in AUR?

The topic of accessing KDE with sddm with multiple monitors, is something that can be found on the web, searching “How to Fix Sddm on Multiple Screens”. There are sample solutions from some users (note this I have not tested) that you can see here (they are somewhat old):

https://bbs.archlinux.org/viewtopic.php?id=251249

We have zoom available in the RebornOS repository. Install it with:

sudo pacman -S zoom

Greetings and take care!

1 Like

Thank you very much again Rafael… :grinning:

I thought you might have ZOOM. I am actually not on that computer at the moment because, haha, it was a ZOOM meeting so I needed to get to something quick to join it.

So I didn’t really look and I just saw your message as I opened the forum here.

I will check out that info on working with sddm. (Because the LiL Beast’s Screen needs so many fixes it will probably help me learn some other applicable things.)

Thank you very much for pointing me in the right directions.

1 Like

This… link did clear up one thing and makes it obvious why…

it’s right side up. It’s Kscreenlocker which of course is in KDE which I do have rotated correctly.

2 questions.

1, is frame buffer “rotate” enabled? I think I recall it may need to be built into the kernel but can’t remember now.

2, SDDM and it’s orientation would be controlled from where? I did take a look at the section with login managers. I didn’t see anything about passing parameters for screen orientation. An suggestions what I should look under?

Perhaps this Arch Linux Wiki post will help you:

https://wiki.archlinux.org/title/Xrandr#Configuration

Greetings and take care.

Thank you… so it may be effected by Xrandr. Will have a look at that.