Linux on GPD Win 1. Where to begin?

asimov-solensan

Active Member
Joined
Jan 8, 2010
Messages
507
Hello,

I just bought an used gpd win 1. And my goal is to use exclusively with linux.

Any recommendations or feedback about the experience is welcome.

Which distro to use? Specific patches and configurations? Any community active about this topic?

I know that this topic was talked a lot when the device launched, I ask again because I ignore how all this changed.

Regards.
 

SNESFAN

Retro game fanatic
Joined
Oct 3, 2008
Messages
3,412
Age
38
Location
Fort Knox, KY. USA

not sure if it's being maintained or not due to the win2
 

AxPU

Still Fresh
Joined
Mar 20, 2017
Messages
19
The device is old enough that I would not expect any big issues when running Linux. Of course it might depend a bit on your general Linux knowledge or how persisten you are when searching for solutions on the web.

Im writing this on a GPD Pocket with Debian where there are no problems at all. Everything is supported and works well. I'd suspect the story is similar with the GPDwin. Except maybe the game controllers but I'm sure there is a solution too.

Regarding Linux distros: "Arch" if you want really up-to-date software, Debian otherwise. And if you're relatively new to Linux, give Linux Mint a try.
This is mostly a question of taste tough. I'm sure all other modern distros will run similarily well.
 

EvilDragon

Administrator
Staff member
Joined
Mar 4, 2003
Messages
29,418
Age
42
Location
Ingolstadt
Even easier: Download the GPD Pocket distribution of MINT. Everything works out of the box.
 

asimov-solensan

Active Member
Joined
Jan 8, 2010
Messages
507
Well I consider myself an advanced linux user. User for more than 15 years and experience as sysadmin.

But I don't want to lose time configuring it in any way and that Mint for the GPD should fit my use case.
Anyhow I expect to sell it again when I get a Pyra and the software is mature enough for me.

Still would like to know if there is any active community supporting the device.

Thanks for your comments.
 

jakko

Newbie
Joined
Feb 4, 2020
Messages
2
Hi

EvilDragon's suggestion seems by far the easiest way.

Even though you mentioned Mint would be fine... In case you prefer more adventurous approaches, there seems to be some i915 hassle in booting live-usb-sticks, at least on Debian or Ubuntu. One of the following boot parameters might help (I'm not enough experienced to track it down, though): i915.modeset=0, i915.fastboot=1, video=efifb, video=intelfb, etc. It worked for me with i915.fastboot=1 on Debian KDE & LXQt but not on Xfce – don't take that for certain, it might well be coincidence. Once installed, none of those boot parameters are needed anymore. I (optionally?) added dmi_product_name=GPD-WINI55 to the cmdline in grub, however.

To get wifi working, I copied the content of [link to chromium googlesource brcmfmac4356-pcie.txt – I'm not allowed to post links] to a new file /lib/firmware/brcm/brcmfmac4356-pcie.txt. Not sure if that's still neccessary. As a reference: [link to archlinux wiki > GPD_Win > Built-in_Wi-Fi]

To rotate the display manager, I created a config file in /etc/X11/xorg.conf.d/ containing Section "Monitor", Identifier "DSI-1" and Option "Rotate" "right".

In Gnome, in case everything seems too big, probably gsettings set org.gnome.desktop.interface scaling-factor 1 helps.

For battery monitoring you need CONFIG_BATTERY_MAX17042 and CONFIG_INTEL_CHT_INT33FE, for charing CONFIG_CHARGER_BQ24190. In Debian kernel, they were added in 4.16. At some point (I think 4.20), the CONFIG_INTEL_CHT_INT33FE was lost. I'm currently on a custom compiled 5.3.9 kernel with Debian kernel config as a base and manually added I2C_DESIGNWARE_PLATFORM=y, CONFIG_INTEL_SOC_PMIC_CHTWC=y, CONFIG_PMIC_OPREGION=y, CONFIG_CHT_WC_PMIC_OPREGION=y, CONFIG_I2C_CHT_WC=m, CONFIG_EXTCON=y, CONFIG_EXTCON_INTEL_CHT_WC=m, CONFIG_TYPEC_MUX_PI3USB30532=M, USB_ROLES_INTEL_XHCI=m, CONFIG_INTEL_CHT_INT33FE=m, CONFIG_TYPEC_MUX_PI3USB30532=m, USB_ROLES_INTEL_XHCI=m. Not all of these are mandatory.

After charging or after booting from an USB stick, turning on my device sometimes results in nothing happening at all except the blue led glowing. For some reason, one of the very early bootloaders seems to get confused. Don't know if it's a a common issue or specific. In this case, Shift + Fn + F3 + Power and then waiting for some while helped. Although I'm not sure if that vulcan nerve pinch is rather esoteric – just powering and waiting long enough might work too.

Whatsoever, once you got it running on Debian, it's really neat!
 

asimov-solensan

Active Member
Joined
Jan 8, 2010
Messages
507
Thanks for that although there are ubuntu mate images that seem to fix most of thing you mentioned. At least for the gpd pocket. Can't know how much different it is from the win 1.
 

asimov-solensan

Active Member
Joined
Jan 8, 2010
Messages
507
I want to add my experience so far in case anyone is thinking in getting a cheap GPD WIN for linux.

So far on the official webpage you have links to ubuntu mate images (for the gpd pocket) that should work on the win. I got the 18.04 LTS image and most things work. Until I wanted to use the SD card with my roms and saved games, then I discovered that the only option is to use a script that install an older kernel with that fixed.

Ok, next installed gba emulator and it runs rotated, it can be solved using retroarch but I'm reading that you may have this same problem with games and emulators.

So, I have got everything working, great!. Or at least that is what I thought. The truth is that with the kernel that can use the card reader won't go to sleep mode, and for this particular use case I absolutely need that. Sadly I can't find any fix for this other than reverting back to the other kernel.

My conclusion is that the experience is the same you got with a regular laptop, it is great to have the distro you prefer but be ready to fix all the small things that won't work out of the box. Same with any laptop there is almost no specific fixes for the win, it is only 2 year old but seems to be forgotten form the internet, thanks FSM the pocket is newer and there is still some support for it (similar hardware). Still you are hitting again and again outdatet information and broken links, and things that won't be fixed ever.

I don't regret at all buying it, but the experience is much worse than it was with Pandora, if you want linux+retrogaming without headaches I totally think that Pyra will be better, I don't care how outdated and overpriced it is.
 

levi

Still fresh, damnit!
Joined
Oct 6, 2008
Messages
11,935
Location
Somewhere off the coast of the EU
And the answer is the Pyra is not any outdated or overpriced. The price is the cost of boutique projects like this, and the CPU shipped with is pretty much the best thing we can get which supports our requirements (limited binary blobs, good Linux support from the Mfg). Hopefully with a good thousand of the things in the wild, some suppliers will be more interested in helping out, I couldn't really say.
 
  • Like
Reactions: rSl

asimov-solensan

Active Member
Joined
Jan 8, 2010
Messages
507
Of course I meant "outdated" and "overpriced". My point is that we are paying for that linux+retrogaming without headaches experience (among other things).

It is impossible to understand for anyone who cannot relate to that use case why we like so much Pyra and pay for it when you can get a used gpd win that does much more and costs a fraction of the price.
 

jakko

Newbie
Joined
Feb 4, 2020
Messages
2
Hm, sd card and sleep (don't know what level, though) work on debian kernel 5.3.9 (custom compiled for battery monitoring, like mentioned above). I tried to figure out what the issue on the Ubuntu MATE GPD Pocket version could be but I didn't get very far. The following link contains a hint to sdhci_pci: reddit [dot] com/r/gpdwin/comments/ctglgq/microsd_card_reader_not_detected_by_linux

Concerning GameBoy emulator, I chose gngb because of the configuration possibilities.

~/.xsessionrc

# fullscreen environment variable for gngb and residualvm
export SDL_VIDEO_FULLSCREEN_DISPLAY=0

reference: libsdl [dot] org/release/changes-1.2.html

~/.gngb/gngbrc

# Play in fullscreen?
fullscreen 1

# Have sound?
sound 1

# GL Mode ?
glmode 1
resolution_w 800
resolution_h 720

# Key configuration
# order : AXE_UP,AXE_DOWN,AXE_LEFT,AXE_RIGHT,A,B,START,SELECT
# please see SDL_keysym.h for key definition
# or push F12 during game and the keysym code of
# the key you press will be printed
# (you can do the same for the joystick)

map_key 119,115,97,100,276,273,13,303

reference (configurations): less /usr/share/doc/gngb/examples/sample_gngbrc
reference (config_var resolution): salsa [dot] debian [dot] org/games-team/gngb/blob/debian/20060309-4/src/emu.c#L81

With the controls switch on the GPD Win in central position (mouse mode), that's A on X, B on Y, START on Enter, SELECT on Shift. You can create your own key mapping. Press F12 while running gngb to find out the key numbers.

Finally assigning *.gbc and *.gb file types to /usr/bin/gngb in order to launch them from the file manager.
 
Top