Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Skylake Platform Validation #274

Open
13 of 18 tasks
reynhout opened this issue Aug 2, 2016 · 172 comments
Open
13 of 18 tasks

Skylake Platform Validation #274

reynhout opened this issue Aug 2, 2016 · 172 comments

Comments

@reynhout
Copy link
Member

reynhout commented Aug 2, 2016

Tracking validation tests and bug reports for GalliumOS support for Skylake models.

Please add observations for any Skylake model in comments!

Current Skylake status

  • Boots from USB ISO
  • Boots from internal storage (eMMC)
  • Internal keyboard
  • Trackpad
  • WiFi
  • Bluetooth
  • Touchscreen
  • Media keys
    • Volume control
    • LCD backlight control
    • Keyboard backlight control
      • NG (CHELL)
  • Suspend/resume
    • OK (CAVE, LARS)
    • reports vary, see comments
  • Internal audio (see also Sound on Skylake #379)
    • nau88l25_ssm4567 (CAROLINE, CHELL)
      • speakers
      • microphone, headphones, jack detection
    • nau88l25_max98357a (LARS, SENTRY, CAVE?)
      • speakers, microphone, headphones, jack detection
    • (tbd) (ASUKA)
      • speakers, microphone, headphones, jack detection
    • workarounds USB audio or Bluetooth audio
  • galliumos-skylake package created
@kmishra9
Copy link

kmishra9 commented Aug 7, 2016

Suspend/resume also seems to work just fine.

Some other problems I've noticed:

Display backlighting control doesn't work. Right-Alt + Brightness keys do nothing. Upon booting, there's a display backlight at full power always on and to turn it off, I just close the screen and then open it back up again. At that point, the display backlight is turned off but nothing I do allows me to turn it back on.

Full-screen works, refresh works, back and forward works, power and escape work, however the "show all things on desktop" F5 button only opens up the Display menu.

Audio input also doesn't seem to work (no options given).

Finally, just curious but Is there an ETA on a fix or update for something like this? Roughly 1 month? 6 months? 1 year? etc.

@reynhout
Copy link
Member Author

reynhout commented Aug 7, 2016

@kmishra9: by default, the LCD backlight is controlled by unmodified media keys: F6, F7. This is configurable though: https://wiki.galliumos.org/Media_keys_and_default_keybindings .

When the lid is opened, the screensaver kicks in, and captures all keypresses (including backlight controls). You need to enter your password (sometimes blind) to dismiss the screensaver, then keypresses will reach their usual destinations. This is awkward, and I'd like to find a way to set a minimum backlight level when resuming after suspend...or to allow media keypresses to pass though the screensaver.

F5 is configured to open the display menu, but I don't recall why. It might be a side effect of using modified-F5 for screenshots?

Audio in and out are on the same chip, which isn't inited properly at all yet. Hopefully the config necessary for one to work will fix both.

We do not have an ETA on any of the open issues. We will build some test kernels with some experimental configs, but we will probably also need to purchase suitable test hardware.

@reynhout
Copy link
Member Author

reynhout commented Aug 7, 2016

lsmod | grep snd, ChromeOS kernel 3.18 on CHELL (thanks @mattdevo)

snd_soc_skl_nau88l25_ssm4567    20544  0 
snd_soc_hdac_hdmi      16492  1 snd_soc_skl_nau88l25_ssm4567
snd_soc_dmic           12352  0 
snd_soc_skl            33897  0 
snd_soc_skl_ipc        22007  1 snd_soc_skl
snd_soc_sst_acpi       12398  1 snd_soc_skl
snd_soc_sst_ipc        12627  1 snd_soc_skl_ipc
snd_soc_sst_dsp        27573  1 snd_soc_skl_ipc
snd_hda_ext_core       18454  2 snd_soc_hdac_hdmi,snd_soc_skl
snd_hda_core           36706  3 snd_hda_ext_core,snd_soc_hdac_hdmi,snd_soc_skl
snd_soc_nau8825        32883  1 snd_soc_skl_nau88l25_ssm4567
snd_soc_ssm4567        12352  0 
snd_seq_midi           12352  0 
snd_seq_midi_event     12735  1 snd_seq_midi
snd_rawmidi            21355  1 snd_seq_midi
snd_seq                49644  2 snd_seq_midi_event,snd_seq_midi
snd_seq_device         12653  3 snd_seq,snd_rawmidi,snd_seq_midi

@kmishra9
Copy link

^Sorry, what is this?

Also my bad, yeah DISPLAY backlighting works, KEYBOARD backlighting doesn't. That was a typo.

@thoughtchad
Copy link

LARS, Acer CB 14 for Work
Issues
Suspend mode turns fan on high speed indefinitely
No internal audio hardware available (output or input)
Various keyboard mappings not working (Delete, Home, End, LCD +-, Volume +-, Search (nothing), etc
No keyboard backlighting

@phelpsw
Copy link

phelpsw commented Aug 29, 2016

Using a HP Chromebook 13 G1

Suspend appears to mostly work for me with the following two issues:

  • XScreensaver login window coming out of restore is functional but the base texture of the window looks like there is a video memory corruption issue.
  • Wifi broke when coming out of restore (dmesg shows "wlp1s0: link not ready" messages)

Other stuff:

  • Touchpad is slightly unresponsive on first touch, maybe just a characteristic of the hardware (new unfamiliar laptop).
  • Sound / Mic don't work as mentioned above.
  • Keyboard backlighting doesn't work
  • 3200x1800 resolution on this laptop requires some UI fiddling to make text readable / buttons clickable

@reynhout
Copy link
Member Author

@thoughtchad, @phelpsw Thanks for the reports.

There might be some reusable HiDPI config in the galliumos-samus pkg: https://github.com/GalliumOS/galliumos-samus/tree/master/etc/skel/.config

@phelpsw
Copy link

phelpsw commented Aug 30, 2016

Installing galliumos-samus package fixed my hidpi problems. It looks excellent now. I followed the directions here: https://wiki.galliumos.org/Installing/Samus specifically:

sudo galliumos-repodist --enable testing
galliumos-update
sudo apt-get install galliumos-samus
cp -r /etc/skel/.config $HOME

Followed by a logout.

Before: http://i.imgur.com/5hmWWE7.png
After: http://i.imgur.com/BNMZThP.png

My keyboard backlight also appears to be working now although I haven't figured out how to adjust brightness yet.

@reynhout
Copy link
Member Author

@phelpsw Key mappings (on the default keyboard layout) for keyboard backlight decrease/increase are RightAlt + - and RightAlt + =. Do those work for you?

@ghost
Copy link

ghost commented Sep 23, 2016

Confirming the samus steps above do enable keyboard backlighting, however:

  1. Backlighting switches off after suspend/resume
  2. Key mappings for enable/disable/adjust brightness do not function

@phelpsw
Copy link

phelpsw commented Oct 20, 2016

@reynhout no those buttons don't work.

I agree with KFriedCode

@reynhout
Copy link
Member Author

@phelpsw OK, it sounds like we'll need new keycode mappings for that model (CHELL?)

@kmishra9
Copy link

Yup I'm on Chell.

Something also just recently occurred where the trackpad requires a lot of pressure to move the mouse pointer (a light finger on it won't move it) and tap-to-click stopped working. Ive recently had to fsck my sd card a couple of times so I'm afraid I may have done something to the mouse driver. This issue also cropped up after I had booted the Linux partition via SD on another Chromebook as well (Toshiba Chromebook 2) where the pointer was working fine but.... Yeah.

Any suggestions? Or ways to update the mouse driver?

@coolstar
Copy link

Just a heads up, I'll be getting a chell in a few days to build firmware for. If there's anything of interest I can take a look at it here.

@fizal619
Copy link

fizal619 commented Jan 2, 2017

@kmishra9
dnschneid/crouton#214
Might shed some light. This is probably too late, but it helped me on crouton may help you figure out why the touchpad is weird on Chell.

@polarimetric
Copy link

I'm dual booting GalliumOS (installed through chrx) on a Cave (Asus Chromebook Flip C302CA), my experiences (most echo what is said above):

  • Touchscreen works completely (tapping, dragging, two-finger tap to right click, etc)
  • Keyboard backlight works but can't be adjusted
  • No internal audio
  • Suspend/resume works, both manually and from closing the lid
  • Display brightness keys don't work, but automatic display brightness adjustments (e.g. after x seconds inactive) do work

@reynhout
Copy link
Member Author

reynhout commented Jan 7, 2017

@polarimetric Thanks for the report!

I think you're the first person to test the touchscreen, so I will mark that as "working". Hopefully it applies to all models (it probably does).

If you are dual-booting, would you mind pastebin'ing a system log from ChromeOS? I'd like to check some hardware info from the ChromeOS side, could help with getting internal audio working:

  • Log in like you did to run chrx, get a ChromeOS terminal and shell
  • Run dmesg | curl -sF c=@- https://ptpb.pw | grep url:
  • Post the URL here

You seem to be having trouble with the media keys. Do the others work (volume control, etc)? They should pop a notification overlay window even though internal audio itself does not work. Keyboard and LCD backlight should pop a window as well.

  • RightAlt + - / RightAlt + =: Keyboard backlight down / up
  • F6 / F7 (no modifier key): LCD backlight down / up
  • F8 / F9 / F10: Volume mute / down / up

Good news about suspend/resume. I'll mark that as well, at least for CAVE.

Thanks again!

@polarimetric
Copy link

Here's the requested log: https://ptpb.pw/0T2s

No, I'm not getting any popups when pressing any of the function keys--keyboard backlight, display backlight, or volume control. There is no visual response to the key presses anywhere that I can discern.

@reynhout
Copy link
Member Author

reynhout commented Jan 7, 2017

@polarimetric Thanks for the logfile.

You're on the default keyboard layout, right? It sounds like we will need new maps for all of the Skylake models.

@polarimetric
Copy link

No problem. Yeah, default keyboard.

@thoughtchad
Copy link

@reynhout here's another dmesg, acre cb 4 work 14
https://ptpb.pw/CYHB

@reynhout
Copy link
Member Author

reynhout commented Jan 8, 2017

@thoughtchad Cool, thanks. It looks like CAVE and LARS have the same audio chip, which is different from CHELL.

@polarimetric
Copy link

polarimetric commented Jan 9, 2017

On Cave, installing the Chromebook keyboard backlight driver after adding Cave to the model list in chromebook_kb_backlight.c enables adjustment of the keyboard backlight. Default keyboard shortcuts still don't work so I mapped my own with the provided script, but the adjustment is available at /sys/class/leds/chromeos as it is on Samus and Lulu.

(edit: removed incorrect information about powertop and battery bug, see comments below)

@polarimetric
Copy link

Bizarrely, disabling "Use system default" and changing my keyboard model to "Chromebook (most models) | Right alt overlay | F keys mapped to media keys" in the keyboard setting, and then re-enabling "Use system default" fixed all of the default keyboard shortcuts except for XF86KbdLightOnOff, which is not doing anything even though xev shows the correct mapping. (Keyboard light up/down works.) Before I did this (default out-of-the-box behavior), xev did not show right alt as Overlay and Overlay + function key just registered as the regular function key; now all bindings are being reported correctly. This behavior is equivalent to what I see if I enable the Chromebook Falco/Pixel/Pixel2 keyboard model so I think it's just a matter of changing what model is used by default on Cave.

@reynhout
Copy link
Member Author

reynhout commented Jan 9, 2017

@polarimetric That's interesting.

Keyboard layout Chromebook (most models) | Right alt overlay | F keys mapped to media keys should be the default for most models, and Use system defaults should be unchecked. I wonder what's different for CAVE (and possibly the other Skylake models?).

@polarimetric
Copy link

@reynhout I just created a fresh user account to verify that Use system defaults is checked by default on Cave and it is.

@polarimetric
Copy link

Update on the supposed powertop issue: It had nothing to do with powertop, that was just a coincidence. I ran into the same problem again today--the battery says that it will take 10 hours to charge and the charge comes in at a very slow trickle. Restarting does not fix it; the only way to fix it is a hard reset. It's identical to the bug this user on reddit encountered with Ubuntu, but annoyingly, they don't mention what threads on Ubuntu forums referenced the problem and I can't find them. Not sure how to go about debugging this.

@polarimetric
Copy link

polarimetric commented Jan 10, 2017

Figured out what causes it--it's suspend while on battery power, so even though suspend itself technically works fine, I'd revoke "ok" status from suspend/resume on Cave. Steps to reproduce:

  1. Run the laptop on battery power in GalliumOS.
  2. Suspend and then resume the laptop.
  3. Plug in, see charge time to full estimate >7 hours, battery charging at a rate of about 0.1% per minute.
  4. Restart normally into Gallium; see that battery is still charging at extremely slow rate.
  5. Hard-reset the laptop by holding power button and boot back into Gallium; see expected charge rate/time to full (~60 minutes from 0 to 100%).

Here's a thread from Ubuntu forums for reference. Looks like this is a long-standing Ubuntu bug that has affected various devices.

(Also, I've verified this does not occur in Chrome OS, so it's not a hardware issue.)

EDIT: This is also occurring with the mainline 4.10rc3 kernel. Suspending and resuming while on battery power and then plugging in the device again cuts the wattage supplied while charging at 93% from ~9w to anywhere from 0.6w-2.5w, resulting in the slow charge time.

@polarimetric
Copy link

The rotation script in the Braswell validation tracker also works without modification on Cave.

@ojab
Copy link

ojab commented Apr 2, 2018

For CHELL: https://bugzilla.kernel.org/show_bug.cgi?id=195593 -> Created attachment 256353 [details] -> https://bugzilla.kernel.org/attachment.cgi?id=256357 then alsatplg -c [downloaded file] -o /tmp/dfw_sst.bin and you'll get required firmware.

https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/518323

I'm not really sure that this change will help, I've had issues with FW from ChromeOS on 4.11.0 kernel (this commit was merged into 4.10).

I really recommend to create a new bug in kernel bugzilla for CAVE/whatever:

  1. Set Product/Driver/Hardware as in the bug above
  2. Attach dmesg, sudo lspci -s [pci id for you sound card] -vvv and dmesg after blacklisting snd_hda_intel
  3. Do what intel staff will tell you in bugzilla.
    If there will be any questinons — post here, I believe someone will explain how to do specific stuff on GalliumOS.

After a dozen of days of back and forth you'll get a topology config for you HW (as experience with chell tells me).

And note that chell cannot switch between Headphones/Speaker automatically (I don't need it, so I don't poke intell staff about it) and I don't know if microphone/HDMI audio works at all (ditto).
But I believe that such issues also can be solved if one not too lazy to regularly ping someone in bugzilla.

@volfyd
Copy link

volfyd commented Apr 3, 2018

So I have been trying to load the original Caroline topology file. If I comment out some validation of the file, it starts to load and I actually gain access to many of the elements of the mixer. Sound still doesn't play and I get some error messages in dmesg but it gets further. I think if I remove more validation it might just load.

Attached is a diff for the checks I commented out, and the dmesg errors I get.

remove-topology-err-check.diff.txt

@volfyd
Copy link

volfyd commented Apr 3, 2018

no-err-check-desg.txt

@divadsn
Copy link

divadsn commented Apr 4, 2018

Does the same apply for LARS? @volfyd @ojab

@ojab
Copy link

ojab commented Apr 4, 2018

It applies to any intel chromebook that lacks audio due to missing (i. e. compatible only with ChromeOS kernel, not upstream one) topology file.

@LufyCZ
Copy link

LufyCZ commented May 7, 2018

Keyboard backlight control works on Ubuntu 18.04, LARS

@MrChromebox
Copy link

@ojab did you ever get your topology binary parser to work? And is the source available anywhere? Seems like getting Intel to post these for newer ChromeOS devices might be more difficult than RE'ing them

@nebulakl
Copy link

I filed a bug on bugzilla like @ojab did for CAVE. Let's hope we can get the topology.conf (and working audio) soon.
You may follow the thread here: https://bugzilla.kernel.org/show_bug.cgi?id=200963

@ozamyatin
Copy link

Hello, guys!
Is there any easy way to get audio working in GalliumOS/Ubuntu for our device? Like running a one simple script? Or, is there a chance of firmware update for our device coming soon? I am not really a tech guy, so I cannot fully understand everything happening in this thread. Please, help.

@nebulakl
Copy link

@ozamyatin The easiest way is either use Bluetooth audio or USB audio.

@ozamyatin
Copy link

@ozamyatin The easiest way is either use Bluetooth audio or USB audio.

@nebulakl Thank you very much!

@thoughtchad
Copy link

@ozamyatin The easiest way is either use Bluetooth audio or USB audio.

I've also found that attaching an external monitor (with speakers or which has audio out) via hdmi (if your chromebook has hdmi) will also provide audio through the hdmi audio channel.

@colpanek
Copy link

colpanek commented Sep 17, 2018 via email

@simonheb
Copy link

simonheb commented Oct 2, 2018

Does anyone else have problems with reading SD cards? I run CAVE and I can't seem to figure out how to access my SD card reader. With no card in I get a lot of

[  430.050959] mmc1: Timeout waiting for hardware cmd interrupt.
[  430.050975] mmc1: sdhci: ============ SDHCI REGISTER DUMP ===========

I think this is normal, as soon as I insert one this stops, but lsblk still does not list anything:

NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
zram0        252:0    0  5.6G  0 disk [SWAP]
mmcblk0      179:0    0 58.2G  0 disk 
├─mmcblk0p4  179:4    0   16M  0 part 
├─mmcblk0p12 259:4    0   16M  0 part 
├─mmcblk0p2  179:2    0   16M  0 part 
├─mmcblk0p10 259:2    0  512B  0 part 
├─mmcblk0p9  259:1    0  512B  0 part 
├─mmcblk0p7  179:7    0   50G  0 part /
├─mmcblk0p5  179:5    0    2G  0 part 
├─mmcblk0p3  179:3    0    2G  0 part 
├─mmcblk0p11 259:3    0    8M  0 part 
├─mmcblk0p1  179:1    0  4.1G  0 part 
├─mmcblk0p8  259:0    0   16M  0 part 
└─mmcblk0p6  179:6    0   16M  0 part 

finally, #simon@chrx:~$ journalctl |grep -P mmc\\d
yields only

Oct 02 09:39:00 chrx kernel: mmc0: SDHCI controller on PCI [0000:00:1e.4] using ADMA 64-bit
Oct 02 09:39:00 chrx kernel: mmc1: SDHCI controller on PCI [0000:00:1e.6] using ADMA 64-bit
Oct 02 09:39:00 chrx kernel: mmc0: new HS400 MMC card at address 0001
Oct 02 09:39:00 chrx kernel: mmcblk0: mmc0:0001 DF4064 58.2 GiB 

Do you experience the same?

@azertyfun
Copy link

azertyfun commented Oct 3, 2018

Works fine for me on LARS.

With no SD card I don't get any timeouts or register dumps, I don't think that's normal behavior:

$ dmesg | grep mmc
[    0.918207] mmc0: SDHCI controller on PCI [0000:00:1e.4] using ADMA 64-bit
[    1.005415] mmc0: new HS400 MMC card at address 0001
[    1.011840] mmcblk0: mmc0:0001 BJNB4R 29.1 GiB 
[    1.012118] mmcblk0boot0: mmc0:0001 BJNB4R partition 1 4.00 MiB
[    1.012371] mmcblk0boot1: mmc0:0001 BJNB4R partition 2 4.00 MiB
[    1.012477] mmcblk0rpmb: mmc0:0001 BJNB4R partition 3 4.00 MiB, chardev (242:0)
[    1.016757]  mmcblk0: p1 p2

@simonheb
Copy link

simonheb commented Oct 3, 2018

I think it's "normal" because reynhout wrote something about this e.g. here "[...]on the newest kernel, Skylake models have an issue with a phantom SD card reader, which will slow down suspend and shutdown. The easiest workaround is to install an SD card [...] into the SD card reader" (https://www.reddit.com/r/GalliumOS/comments/8wxpq9/samsung_chromebook_pro_no_audio_and_dual_boot/e1zaatw). Now that I read this again, I realize that he says "phantom sd card reader" suggesting that mmc1 is not my actual reader. So maybe my sd-reader is actually dead... Any ideas on how to find this out? Can someone on GalliumOS on a C302CA post an lscpi and dmesg|grep mmc?

@MrChromebox
Copy link

@simonheb the "reader" part of that was an error. Newer kernels have an issue with the card detection, thinking there is an SD card installed when one is not, which cases all the errors. Boot with the SD card inserted and it should be readable in the OS

@simonheb
Copy link

simonheb commented Oct 3, 2018

@MrChromebox, thanks! When I boot with the SD card inserted, I don't get the Timeouts, but I still cannot mount the SD card, lsblk only lists mmcblk0, and dmesg single entry containing mmc1 is mmc1: SDHCI controller on PCI [0000:00:1e.6] using ADMA 64-bit. (The card I'm using is 64GB, Samsung and is working fine on my android phone).

@simonheb
Copy link

simonheb commented Oct 3, 2018

To be precise, dmesg reads:

simon@chrx:~$ dmesg |grep mmc -B2 -A2
...
[    0.779361] sdhci: Copyright(c) Pierre Ossman
[    0.781668] sdhci-pci 0000:00:1e.4: SDHCI controller found [8086:9d2b] (rev 21)
[    0.782895] mmc0: SDHCI controller on PCI [0000:00:1e.4] using ADMA 64-bit
[    0.782996] sdhci-pci 0000:00:1e.6: SDHCI controller found [8086:9d2d] (rev 21)
[    0.783204] sdhci-pci 0000:00:1e.6: failed to setup card detect gpio
[    0.785439] mmc1: SDHCI controller on PCI [0000:00:1e.6] using ADMA 64-bit
[    0.844215] [drm] Memory usable by graphics device = 4096M
...

Any hints on how to further find the source of the problem are appreciated!

Since inserting the SD card changes the behaviour (suppresses the Timeouts) i am optimistic that the SD card reader is not shorted or broken, but I can't seem to get it to work

@ReichardKonige
Copy link

ReichardKonige commented Nov 22, 2018

Using a HP Chromebook 13 G1

Suspend appears to mostly work for me with the following two issues:

  • XScreensaver login window coming out of restore is functional but the base texture of the window looks like there is a video memory corruption issue.
  • Wifi broke when coming out of restore (dmesg shows "wlp1s0: link not ready" messages)

Other stuff:

  • Touchpad is slightly unresponsive on first touch, maybe just a characteristic of the hardware (new unfamiliar laptop).
  • Sound / Mic don't work as mentioned above.
  • Keyboard backlighting doesn't work
  • 3200x1800 resolution on this laptop requires some UI fiddling to make text readable / buttons clickable

For hidpi
Install alternative like KDE (apparently uses less memory than XFCE now) or follow the instructions from this website to get XFCE looking well.
https://wiki.archlinux.org/index.php/HiDPI#Xfce

@bcarnes
Copy link

bcarnes commented Jun 9, 2019

Caroline under a 3.0beta2 install has suspend/resume problems.

Details:

[41763.241110] Disabling non-boot CPUs ...
[41763.251161] WARNING: CPU: 1 PID: 7225 at kernel/kthread.c:486 kthread_park+0x5a/0x70
...
[41763.298281] ACPI: Waking up from system sleep state S3
[41764.367592] i2c_designware i2c_designware.0: controller timed out
[41764.405234] i2c_designware i2c_designware.0: timeout in disabling adapter
[41764.405259] atmel_mxt_ts i2c-ATML0001:00: __mxt_read_reg: i2c transfer failed (-110)
[41764.405263] atmel_mxt_ts i2c-ATML0001:00: Failed to read T44 and T5 (-110)
[41764.431094] i2c_designware i2c_designware.0: timeout waiting for bus ready

And then those last 3 messages spew forever
touchscreen (which needs that i2c bus) fails to work
need to reboot to clear up this state.

Workaround (do this before your first suspend):
echo s2idle > /sys/power/mem_sleep

mem_sleep states available on Caroline:

# cat /sys/power/mem_sleep 
s2idle [deep]

Where "deep" is the default that is buggy

@ozamyatin
Copy link

Guys, I can confirm speakers and microphone both working, but very silent on CHELL (HP Chromebook 13 G1) latest GalliumOS RC 3.0 out of the box.

@etbusch
Copy link

etbusch commented Jul 3, 2019

3.0 release has audio working on CAVE, but speaker output is has static and the gain is set way too high. Headphones and headphone switch work well.

@catagris
Copy link

catagris commented May 7, 2022

Speakers have stopped showing up following the most recent update on my Samsung Chromebook Pro XE510C24

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests