Skip to main content
Topic: GPD WIN Max Screen Fix, how to in Artix (Read 985 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

GPD WIN Max Screen Fix, how to in Artix

Good day to all and happy to be here. Looking forward to escaping SystemD and getting something modern on my "Little Beast"
What I call the Win Max.  (Thanks to this ridiculous screen)

I have downloaded OpenRC version and S6 but thinking to go with the OpenRC likely for install.

https://www.reddit.com/r/gpdwin/comments/ik3dje/gpd_win_max_display_fix_in_linux/

 This is the link to the screen fix. In short the screen needs a custom EDID file. If not you get improper refresh rates and the
screen size is not detected.

I apologize in advance but it might just save time and be simpler. I am going to paste the contents of the post linked to above.

Quote
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 /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. 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.

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

Code: [Select]
AP///////wAJ5QMAAwAAAAEdAQOACxF4LwAAoFdJmyYQSE8AAAABAQEBAQEBAQEBAQEBAQEBwhog
UDAAEFAQEDIAbKwAAAAYAAAA/ABUVjA4MFdVTS1OTDAKAAAA/QA8PBAQBwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAMM=


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:

Code: [Select]
#!/bin/sh

case $1 in
prereqs)
        exit 0
        ;;
esac

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

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

What I need to know is: How to get the last part here done? ???

Since SystemD is not being used here, I imagine some steps would be different for either S6 or OpenRC.  The other
stuff is easy enough and I did it  but how to get the system to load the EDID firmware at start up?

Thank you in advance if anyone can help me with this. I have not of course done or tried an install because you need to be able to do this right after or else you just can't see anything. The incorrect refresh rate gives you a quad blur effect.

Re: GPD WIN Max Screen Fix, how to in Artix

Reply #1
See /etc/mkinitcpio.conf, it has a man page for it too. This might help you to create an initramfs with the firmware included.
Also the mkinitcpio Arch wiki page has instructions, look right at the end:
"As a last resort, try manually adding modules to the initramfs."
Possibly some trick like plugging in an external screen or ssh'ing in or similar to run commands from another computer might help too.

Re: GPD WIN Max Screen Fix, how to in Artix

Reply #2
Ok, I did originally look at the mkinitcpio in Arch before. I can't sort out what context I would use to tell it to add that line and look in that location to load that. In the other Arch based distros I mentioned mkinitcpio and asked for suggestions as, yes I read the manual on it but did not have a clear understanding how to use it.

Another option that seems to be popular I found in Arch  from my searches is to add it as an option to the xorg.conf and tell it to
use the screens EDID. I saw this being done in conjunction with some graphics cards or external screen examples.

Anyone have any ideas.  As I am unfamiliar entirely with mkinitcpio... there seems another option which is to install the tool
dracut.

Only because I have an example to work with using Dracut for this exact thing in an RPM based distro.



Re: GPD WIN Max Screen Fix, how to in Artix

Reply #4
I am going to try this once I get home from work:

Code: [Select]
/etc/mkinitcpio.conf
FILES=(/usr/lib/firmware/edid/your_edid.bin)

I think this is what I am looking for. I was not 100% clear how to create the syntax. I had read the Arch Wiki and
in a previous Arch based Distro, think it may have been Manjaro had asked and included links to what I read and
asked if someone could tell me if my guess at syntax was correct or give me an example.

Till this day that post has never been answered. But this here looks like the solution. For others using this computer or with similar
issues.

Will report later after a try.  8)

Yes, I have read the ARCH Linux Wiki and man pages.

I do that first. I have actually managed a couple Gentoo installs but always found the micro management of the system to be too time consuming.

So I did read it but indeed, it's a learning process. I had stated that I didn't FULLY understand. But fortunately someone has provided me an example and now I have a clear idea how to proceed.  :)