GPD Win Max, can not get native screen res

:upside_down_face:
Hello, I am new hear to both Forum & Manjaro.

I am trying to get a Win Max 8in computer wih a screen resolution of 1280x800 with Linux on it.

Currently in Live

What it will give me is 800x600. I rotated the screen, it is a mobile device screen so it defaults to portrait mode.

I tried to add the resolution with xrandr.

gtf 1280 800 59.70

  # 1280x800 @ 59.70 Hz (GTF) hsync: 49.43 kHz; pclk: 83.05 MHz
  Modeline "1280x800_59.70"  83.05  1280 1344 1480 1680  800 801 804 828  -HSync +Vsync

[manjaro@manjaro ~]$ xrandr ==newmode "1280x800_59.70"  83.05  1280 1344 1480 1680  800 801 804 828  -HSync +Vsync
xrandr: unrecognized option '==newmode'
Try 'xrandr --help' for more information.
[manjaro@manjaro ~]$ xrandr --newmode "1280x800_59.70"  83.05  1280 1344 1480 1680  800 801 804 828  -HSync +Vsync  
[manjaro@manjaro ~]$ xrandr -q                                          Screen 0: minimum 8 x 8, current 600 x 800, maximum 32767 x 32767
eDP1 connected primary 600x800+0+0 right (normal left inverted right x axis y axis) 0mm x 0mm
   1024x768      60.00  
   1024x576      59.90    59.82  
   960x540       59.63    59.82  
   800x600       60.32*   56.25  
   864x486       59.92    59.57  
   848x480       60.00  
   640x480       59.94  
   720x405       59.51    58.99  
   640x360       59.84    59.32  
DP1 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
  1280x800_59.70 (0x1c9) 83.050MHz -HSync +VSync
        h: width  1280 start 1344 end 1480 total 1680 skew    0 clock  49.43KHz
        v: height  800 start  801 end  804 total  828           clock  59.70Hz
[manjaro@manjaro ~]$ xrandr --addmode eDP1 "1280x800_59.70"
X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  140 (RANDR)
  Minor opcode of failed request:  18 (RRAddOutputMode)
  Serial number of failed request:  37
  Current serial number in output stream:  38

I got this error? Not sure from this point what to try.

:+1: Welcome to Manjaro! :+1:

Please read this:


and post some more information so we can see what’s really going on. Now we know the symptom of the disease, but we need some more probing to know where the origin lies…

An inxi --admin --verbosity=7 --filter --no-host would be the minimum required information… (Personally Identifiable Information like serial numbers and MAC addresses will be filtered out by the above command)

:innocent:

Thank you for that reply, I will try to do that because in the future it is good to know what I need to give to get answers…

I do have the answer found in another post but, in fact I can’t manage certain instructions in Manjaro so help would be appreciated… I am not on that unit at the moment so I will send that info as you requested when I am there.

Do I need to be root to do that command? Or just normal user?

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 :

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:

#!/bin/sh

case $1 in
prereqs)
        exit 0
        ;;
esac

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

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

This is the post I found that describes what is causing the problem. I do not know how to manage the hooks or, to just include the EDID in the boot because Manjaro is totally new to me in addition to this kind of problem being something I didn’t deal with before.

Heres what I’ve done.

first
mkdir -p /lib/firmware/edid
then echo "AP///////wAJ5QMAAwAAAAEdAQOACxF4LwAAoFdJmyYQSE8AAAABAQEBAQEBAQEBAQEBAQEBwhogUDAAEFAQEDIAbKwAAAAYAAAA/ABUVjA4MFdVTS1OTDAKAAAA/QA8PBAQBwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMM=" | base64 --decode > /lib/firmware/edid/gpdwinmax.bin
next in etc/default/grub I added 
video=eDP-1:800x1280 drm.edid_firmware=eDP-1:edid/gpdwinmax.bin fbcon=rotate:1

the Last part I have no Idea how to do which is the hook script

at: GaiaOmegaX
Hi, that’s what has me stumped too! The hook script, but I think we can just put it into the initramfs script & rebuild it. (Hook may be better as it will link if we update or change the kernel, but don’t quote me…)

at:Fabby
per your advice:
(sorry, I had to delete it, this system/forum kept insisting I was trying to send a link and would not let me post it?)
What am I missing? Is it because the screen is truncated? That it sees some output as a link? It keeps saying not allowed to post links… I am not sure which area it sees as a link…

[code]> [manjaro@manjaro ~]$ inxi --admin --verbosity=7 --filter --no-host

System:
Kernel: 5.6.15-1-MANJARO x86_64 bits: 64
compiler: gcc v: 10.1.0
parameters: BOOT_IMAGE=/boot/vmlinuz-x86_64
lang=en_US keytable=us tz=UTC driver=free
nouveau.modeset=1 i915.modeset=1 radeon.modeset=1
misobasedir=manjaro misolabel=MANJARO_XFCE_2003
quiet systemd.show_status=1 apparmor=1
security=apparmor
Desktop: Xfce 4.14.2 tk: Gtk 3.24.20
info: xfce4-panel wm: xfwm4 dm: LightDM 1.30.0
Distro: Manjaro Linux
Machine:
Type: Desktop System: GPD product: G1619-01 v: N/A
serial:
Mobo: GPD model: G1619-01 serial:
UEFI: American Megatrends v: 1.11 date: 07/24/2020
Battery:
ID-1: BAT0 charge: 35.5 Wh
condition: 57.2/57.0 Wh (100%) volts: 11.8/11.4
model: Intel SR 1 SR Real Battery type: Unknown
serial: status: Discharging
Memory:
RAM: total: 15.46 GiB used: 1.10 GiB (7.1%)
RAM Report: permissions: Unable to run dmidecode.
Root privileges required.
CPU:
Topology: Quad Core model: Intel Core i5-1035G7
bits: 64 type: MT MCP arch: Ice Lake family: 6
model-id: 7E (126) stepping: 5 microcode: 78
L2 cache: 6144 KiB bogomips: 23968
Speed: 400 MHz min/max: 400/3700 MHz
Core speeds (MHz): 1: 400 2: 400 3: 400 4: 401
5: 400 6: 400 7: 401 8: 400
Flags: 3dnowprefetch abm acpi adx aes aperfmperf

I have to run this live Xfce Manjaro because I can not see well enough in KDE due to the very bad screen distortion to be able to change and rotate the screen.

If I use xrandr -o right, black screen which won’t come back. Re-install.

I may reinstall this Xfce because I prefer to see what I am doing. Then I can add KDE. After it’s fixed.

you can use HDMI for display, if you get it to work mind sharing the steps / commands cause I’m a bit of a noob with this stuff.

I’m sorry, I can’t help you any further as you seem to be on AMD/Intel
, whereas I’m on nVidia, so I’ve edited that into your title and tags to attract more knowledgeable people than me…

@Fabby
Understand, thanks for your suggestions & replies. Maybe if you have a look at the link & info I posted.

Probably a mistake on my part, I should have mentioned what I am using. GaiaOmegaX & I are using an 8 inch ultraportable laptop, well honestly at this size I call them a Palmtop… :upside_down_face:

Yes, they are all Intel Hardware except the screen, and we are now seeking to follow the instructions for Manjaro as the person used Debian so his instructions differ than for Manjaro.

In fact, I used something RPM based and to do what he did instead of using hooks:

echo ‘install_items+=" /lib/firmware/edid/gpdwinmax.bin "’ > /etc/dracut.conf.d/99-edid.conf

Now I saw that dracut can be installed & used here, but… I read a bit & seems like it takes a bit of setting up?

Can it exist next to the mkinitcpio? Well in fact, I see no need honestly, can you or anyone else tell us the similar command to do that as above with dracut for mkinitcpio?

I also guess we can use hooks but doesn’t seem necessary, which is easier… :sweat_smile:

From the standpoint of us noobs…

@GaiaOmegaX
Hi, I’m a noob here in Manjaro, I used Debian a long time and recently switched to something RPM based which I have running everywhere. But on the GPD. Because… :crazy_face: :weary: they don’t have

drm_kms_helper.edid_firmware enabled in the kernel, at the moment I am not ready to try to compile a new kernel for a feature, which according to EDID info was made for this situation so it is strange it’s not included.

In Manjaro here, I believe we have everything… :smirk: available. Hooks or just rebuilding the init with the edid use.

Hopefully someone here will help us out soon in either direction.

I was looking at that hook setup he wrote:

/etc/initramfs-tools/hooks/edid

See this part?? I am not certain it works this way here in Manjaro, but just browse there… does that folder exist? Debian will or can have a folder and you set those scripts into the or that script in that folder and I believe it should look there to “pull” the script while booting.

#!/bin/sh

case $1 in
prereqs)
exit 0
;;
esac

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

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

Notice it basically is telling it to copy the EDID from the location and use it.

So to recap what I think we need to do, but I think Debain not certain it applies that way here.

  1. look for or make the folder… /etc/initramfs-tools/hooks/edid
  2. That little scripte he wrote, I think a text editor will do, copy and past it into that folder.
  3. Update the initramfs and that command he used is Debian… not sure it will work here.

I am trying to see how to basically make the same command I did above in the RPM distro with dracut
with mkinitcpio, it should be pretty easy if we get the syntax and location right. t iss just saying install the edid binary, we give the whole path where it is in dracut.conf.d which in short we need to find out where mkinitcpio folder is and tell it to do that & rebuild.

wiki.archlinux index.php Mkinitcpio#Customized_generation

Hahah… here we go…

arch manpages man mkinitcpio.8.en

I am now about to ESCAPE work!! So out of time to search this but have a look. I am almost on the edge of getting it. Ironically it’s using the hook it seems.

add_binary binary [ destination ] [ mode ]

Adds a binary to the image. The argument binary need not be an absolute path and, if needed, a lookup will be performed. If the binary is a dynamically linked ELF binary, dependencies will be automatically added. Optionally, a destination within the initramfs image as well as a file mode can be specified. By default, the destintation and mode be taken from the source derived from binary .

Got everything working Now I just need fbcon=rotate :1 to kernel command line / parameter how do I go about it ?

:open_mouth: :astonished: :flushed:

@GaiaOmegaX

WoW! You did? Really? Write it out!! Please!! Step by step.

fbcon is simple… I did it as a passed parameter by editing grub. You put everything in you /etc/default/grub.conf ?

fbcon should be passed there. Add that line as well after GRUB_CMDLINE_LINUX in the same line with a space after you other configuration.

If you don’t mind, past you grub.conf… so I and others can copy it. :crazy_face:

Way to go… you got normal screen and all that except frame buffer. I easily have the binary in the folder too. What did you do? The hook or did you use mkinitcpio?

Did any of that stuff I mentioned help or, did you actually work it out before I posted that? I see we both posted about 4 hours ago. I was at work.

By the way, may I ask what DE are you using? I usually prefer Plasma these days, but… Plasma seems to have the MOST trouble with this screen. Really bad refresh rate.

I am very unfamiliar with Gnome but easy to set it to 800x600 & rotate it there. That led me back to Xfce which I honestly used for years and only recently got into Plasma as it seems more stable now. I am also an Enlightenment fan but it can get difficult with that DE/Window manager. So Xfce was always my stable.

I did actually do as you had suggested when I was trying this with my RPM distro because it was so bad with Plasma I just couldn’t see in the menu. :sweat_smile: I plugged it into something else via HDMI and it worked fine but I couldn’t get a decent refresh in Plasma at all and when I tried playing around Plasma went black permanently and didn’t come back. It was live.

I have been installing to BIG micro SD cards I plan to use for storage. I managed to kill Plasma X again but, Plasma wayland which this is the 1st time I bothered with Wayland works.

Can’t wait for your info and you posted grub, again I’m certain

fbcon=rotate:1

goes there where I said.

Then you should be all set. So I didn’t yet wipe out Windoz but as soon as I get reproducible with setting this up… Goodbye M$.

@GaiaOmegaX

:grin: I have this, but it is from Nvidia, I am trying to think what needs to change for our use…

sudo nvidia-xconfig --config /etc/X11/mhwd.d/nvidia.conf --custom-edid=“GPU-0.DISPLAYHERE:/path/to/edid.bin”

What did you use?