Support Request | New GPD P2Max 2022 (P3Max) 2560x1600 Display Issue

Hi all -

I've been trying to get the pocket 3 Ubuntu mate build to work on my P2Max 2022 which has a 2560x1600 IPS display and cannot for the life of me get this working and I'm calling for support <3.

The card is appears to be recognized fine, in fact the Live USB displays PERFECTLY with the display application actually selecting 2560x1600 by default without any tweaks. So, I install, reboot and see what is in the screenshot above. Why does the Live USB and Grub render fantastically by default but after install not at all??

Currently the resolution is locked to 1024x768* on eDP1. Things I've tried so far:

  • I've tried making a new mode with cvt and gvf for 2560x1440 60hz but when I try and add mode I get bad match error on both the gvf and cvt printed outputs

  • I went back to the live CD and tried to replicate any Xorg / gdm configs that correlate with the umpc-Ubuntu scripts and tried to replicate whatever I saw on my local system but again, no luck.

  • I modified the umpc-Ubuntu pocket 3 scripts for 2560x1600 display and executed those once more on the local install (which ran without error) - rebooted and still the same thing.

  • Tried latest 5.17 kernel with arch Linux - same result but the live usb does not render right either

  • I tried both a full install with / without 3rd party packages and I tried the minimal install without 3rd party packages and no luck

I'm sure there's some configuration file or something I'm just not seeing at play here considering the Live USB looks fantastic, I just can't seem to figure out why. Any advice? Thanks for the support!

Ok everyone I figured this out today!

I was first thinking I would possibly need an EDID however while researching generating that I realized that the grub boot loader has more to do with this than I expected. I booted up the liveISO once more and inspected the grub command lines for launching the "graphics safe" vs the standard launch command and noticed the graphics safe edition had one major difference: the Linux command line specified "nomodeset" so I booted back into the local install

Note these values are specifically for P2Max 2022 with the 2560x1600 display!

sudo nano /etc/default/grub.d/gpd-pocket3.cfg

GRUB_CMDLINE_LINUX="${GRUB_CMDLINE_LINUX} fbcon=rotate:1 video=eDP1-1:panel_orientation=right_side_up mem_sleep_default=s2idle nomodeset"
GRUB_GFXMODE=2560x1600

sudo update-grub

Reboot and you should see everything work right on the desktop display

I'll try and add support for the P2Max 2022 in the umpc-ubuntu.sh repository soon

@rogueSF, just out of curiosity, what happens if you S3 sleep the P3 Max?

(ie if you set mem_sleep_default=deep to your kernel opts)

  • Does the device resume successfully from S3 sleep?
  • Or does it do what the other GPD models do, and leave the screen blank with the backlight on?
  • If you resume from S3 sleep, get the black screen, and then plug in an external display, does the external display function properly?

I love GPD machines, and have been trying to figure out why a lot of them leave the internal display blank after resuming from sleep for at least a year now, so any information you could tell me would go a long way towards actually getting a proper kernel fix out :slight_smile:

I will look into it and see what i find and report back to you. I've noticed some intermittent issues with sleeps state for sure but I've had more pressing issues like the display and Wi-Fi. I've only had it about 4 days now so I haven't had much time to spend on that just yet. Now that I've got those major issues resolved, I'd be happy to spend some time looking into this.

Oh god. They put Broadcom wifi in it…. :fearful:

I feel your pain… If I had a <insert currency unit here> for every time I’ve had to wrestle with Broadcom drivers……

At least you got it working.

———

I really appreciate you doing this for me.

Things will probably not behave as expected, but none of the settings will be permanent, and none of this will cause any sort of “damage” to your device. A reboot will restore everything back to expected behaviour.

(I’m sure you already know this, but duty of care, you know :smiley:)

Let me know if you get stuck with anything, and I look forward to the results.

Actually - it's an Intel AX201 Chip using iwlwifi drivers - the issue I'm having is these prebuilt scripts keeping installing Broadcom drivers in it and breaking rhe Wi-Fi :joy::joy: I've learned to be more careful about using any of the older scripts and packages for other devices ot machine which to be fair is an obvious "no duh" thing but I had to start somewhere and it actually gave me a good feel for what is common on those devices and how mine differs :innocent:

Oh I'm not worried about breaking things. I'm the type who will break it over and over until I master it in and out :joy::joy: - but my initial research into this has led me here - I haven't run the boot flag yet but in my research I came across this Kernel article and it's already starting to make sense how it all works to me.

Without even trying I can confirm that my system should support s3 sleep. My issues in basic testing today shows that it does indeed work fine in s3 but s4 hibernation is not properly working as it always boots into black screen...I might be getting sleep states mixed here so correct me if I'm wrong but the problems, according to the article, would be less dependent on kernel support and more on the vendor to develop means for the kernel to interface with the chipset properly to implement the sleep states properly

I've run out of time today to play with the kernel flag but tomorrow I'll pop in it

Oh good. That sounds more like GPD hardware. I didn’t think they’d go over to the dark side… :sweat_smile:

If you haven’t already figured it out, the kernelopts you need is:
iwlwifi.disable_rxq=1

That should make it work with most kernels. And you shouldn’t need it on 5.18 (if you’re on the bleeding edge like me).

Whenever there’s a new kernel version, iwlwifi is usually one of the first things to break, but full credit to Intel for fixing it quickly.

Yeah, I think you’re confusing S3 (suspend to RAM) and S4 (suspend to hard drive).

What you’re describing sounds exactly like what happens to most Intel GPD machines running Linux.

GPD’s BIOS (and their ACPI tables) in their Intel hardware is hot garbage, unfortunately. Which is a shame, because it’s a blemish on otherwise awesome hardware.

In fairness their AMD machines is PERFECT. No issues, completely customisable, even the stuff that the user probably shouldn’t be able to customise, and the display successfully resumes from S3 sleep.

Yes, you could argue that it’s the responsibility of the hardware manufacturer to make sure their BIOS is good, but let’s be honest, that almost never happens….

Moreover, they have written (either themselves, or outsourced it) “windows drivers” that make the display work as expected from S3 sleep. So they did the lazy option.

But if Windows is able to make it work, that means the Linux kernel should be able to as well.

My gut tells me that i915 has no idea how to reset the display controller.

Thanks for letting me know. That confirms my suspicions, and narrows the problem down for me :slight_smile:

I would like to enable the Wi-Fi driver for the AX201 chip without updating the kernel. How do I add the iwlwifi.disable_rxq=1 option?

Thanks,

Jim

  1. Add iwlwifi.disable_rxq=1 to your kernel parameters in /etc/default/grub, on the line that starts with GRUB_CMDLINE_LINUX=. Be sure to make sure it's inside the quotation marks.
  2. Run the following command: sudo grub2-mkconfig -o /boot/grub/grub.cfg
    (There is a chance that the "2" might not be necessary, depending on what version of GRUB you're using.
  3. Reboot, and it should work.

Thank you for your suggestion. I tried adding iwlwifi.disable_rxq=1 to the kernel parameters. No wireless connection was detected. I installed Ubuntu MATE 22.04 with default kernel 5.15.0. Also tried kernels 5.16.10 and 5.18.0 without success. rogueSF, have you found a way get wireless working?

Thanks,

Jim

Is there any chance you could post the output of this command:

sudo dmesg | grep iwlwifi

I reinstalled Windows 10 to see if the wifi adapter was detected. After updating Windows and drivers, the wifi adapter was not detected. I will troubleshoot the wifi adapter using Windows diagnostics. I may have a defective wifi adapter.

I was about to say, this command would have told you if your wifi module was faulty/undetected/was throwing errors.

It would also tell you specifically why it was doing so.

But in any case, you’re a step closer to figuring it out :slight_smile:

Here is the output from dmesg:

[email protected]:~$ sudo dmesg | grep iwlwifi
[ 4.545069] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[ 4.576726] iwlwifi: No config found for PCI dev 4df0/0000, rev=0x354, rfid=0x0
[ 4.578732] iwlwifi: probe of 0000:00:14.3 failed with error -22

I reinstalled Windows 10 from the GPD P2 Max 2022 image and got the following message using Device Manager > Network Adapter > Intel WiFi 6 AX201:
"This device cannot start (Code 10)"
I tried updating the driver from Intel with the same result.

I restored the default settings in the BIOS menu and the WiFi interface started working! I installed Ubuntu 22.04 MATE as a dual-boot with Windows and WiFi also works in Ubuntu. WiFi is still working after several restarts. An internet search showed intermittent detection problems with the Intel AX200 series adapters on several different computers.

The P2 Max ESSX8326 sound card is not detected in Ubuntu. Apparently the driver is missing and requires a patch: