galliumos-distro icon indicating copy to clipboard operation
galliumos-distro copied to clipboard

Apollo Lake Platform Validation

Open reynhout opened this issue 7 years ago • 252 comments

Tracking validation tests and bug reports for GalliumOS support on Apollo Lake models.

Please add observations for any Apollo Lake model in comments!

Current Apollo Lake status

  • [x] galliumos-apollolake package created
  • [x] Firmware available
  • [x] Boots from USB ISO
  • [x] Boots from internal storage (eMMC)
  • [x] Internal keyboard
  • [x] Touchpad
  • [ ] Touchscreen (if equipped)
  • [ ] Internal audio
    • [ ] speakers/headphone jack
    • [ ] microphone
    • [ ] jack detection
  • [x] WiFi
  • [x] Bluetooth
  • [ ] Media keys
    • [ ] Volume control
    • [ ] LCD backlight control
    • [ ] Keyboard backlight control (if equipped)
  • [ ] Suspend/resume

Apollo Lake is the successor to Braswell, so that is likely to be the best starting point for testing.

reynhout avatar May 30 '17 23:05 reynhout

On Acer Chromebook 15 (SAND) with chrx / kernel 4.8.17-galliumos, 4.12.0-galliumos (testing repo)

  • [ ] galliumos-apollolake package created
  • [x] Firmware available (in testing)
  • [x] Boots from USB ISO
  • [x] Boots from internal storage (eMMC)
  • [x] Internal keyboard
  • [x] Touchpad
  • [ ] Touchscreen (needs Radium driver - works on Ubuntu 17.10 live USB)
  • [ ] Internal audio (needs driver)
    • [ ] speakers/headphone jack
    • [ ] microphone
    • [ ] jack detection
  • [x] WiFi
  • [x] Bluetooth
  • [ ] Media keys
    • [ ] Volume control
    • [ ] LCD backlight control
    • [ ] Keyboard backlight control (if equipped)
  • [ ] Suspend/resume (boots to ChromeOS recovery)

MrChromebox avatar Dec 01 '17 17:12 MrChromebox

I have one of these as well, am currently trying to get Write Protect disabled so I have unscrewed the indicated one but still no go, any hints?

Have run the RW_LEGACY flash from MrChromebox and will hopefully try to boot Live GalliumOS tomorrow.

perphilip avatar Dec 16 '17 00:12 perphilip

@perphilip Hi there i have just purchased one of these as well.

Model Specific (CB515-1HT-C1W7)

Could you tell me where this particular screw is located on this device>?

Thanks in advance merry x-mas & best regards from the Netherlands.

Mz0rZ avatar Dec 25 '17 01:12 Mz0rZ

The firmware hardware write protect on ApolloLake devices is controlled by the battery sense pin, so to disable WP, simply boot the device without the battery connected (obv. AC power is required). Note that it may take a few extra seconds to power on/boot in this config.

MrChromebox avatar Dec 25 '17 17:12 MrChromebox

@MattDevo Thank you very much for this useful reply, i'm really grateful for the information.

This is the first ever Chromebook i have purchased so i´m kind of new to this system, so after doing some basic research i can conclude that for now on the (Apollolake) i can only boot Linux via Crouton or using the LegacyUSB method, i have updated the firmware to allow LegacyUSB support and i booted various Distro´s with many problems facing, however after i booted Gallium (Braswell optimized image) from the USB-Drive, it worked pretty well, however the only problem i faced is that i cannot get any sound output to work... Would be absolutely awesome if i could get the sound to output.

@MattDevo Firmware available (in testing)

Does this mean that a full fw is in testing?

Keep up the great work!

Thank you god bless you and Happy holidays!

Mz0rZ avatar Dec 25 '17 19:12 Mz0rZ

Signed up to say thanks in advance.

I'm new to github and not familiar with writing code but would like to contribute somehow. Best I can think of is being a guinea pig and beta test. I kno my way around linux at least from the user perspective. Or if theirs any other way I can contribute, let me know.

YaKillaCJ avatar Dec 26 '17 13:12 YaKillaCJ

Took a bit of a break for the holidays but here are my findings so far.

On Acer Chromebook 15 (2017) (SAND) (CB515-1HT-P39B) with updated RW_LEGACY support from MrChromebox / using the GalliumOS install for SkyLake and kernel 4.12.0-galliumos from the testing repo:

  • [x] Boots from USB ISO
  • [x] Boots from internal storage (eMMC)
  • [x] Internal keyboard
  • [x] Touchpad
  • [ ] Touchscreen
  • [ ] Internal audio (only HDMI show up)
    • [ ] speakers/headphone jack
    • [ ] microphone
    • [ ] jack detection
  • [x] WiFi
  • [x] Bluetooth
  • [x] Media keys
    • [x] Volume control
    • [x] LCD backlight control
    • [ ] Keyboard backlight control (Not Available On This Keyboard?)
  • [ ] Suspend/resume (Reboots to ChromeOS Recovery mode and sometimes clears the DeveloperMode-flags.)

If I run Ubuntu 17.10 (Budgie) or 18.04LTS I get:

  • [x] Boots from USB ISO
  • [ ] Boots from internal storage (eMMC) (Not Tested Yet)
  • [x] Internal keyboard
  • [x] Touchpad
  • [x] Touchscreen
  • [ ] Internal audio (only HDMI show up)
    • [ ] speakers/headphone jack
    • [ ] microphone
    • [ ] jack detection
  • [x] WiFi
  • [x] Bluetooth
  • [ ] Media keys (Normal Fn-functions instead)
    • [ ] Volume control
    • [ ] LCD backlight control
    • [ ] Keyboard backlight control (Not Available On This Keyboard?)
  • [ ] Suspend/resume (Reboots to ChromeOS Recovery mode and sometimes clears the DeveloperMode-flags.)

It turns out there is no screw, as stated above, I have however not had any luck in getting my CB too boot with the battery unplugged, it starts up and blinks a couple of times but nothing happens.

To get past the issue of the missing DeveloperMode-flags I created a bootable usb-drive using this guide.

Is there anything else I can try that would be helpful?

perphilip avatar Jan 03 '18 13:01 perphilip

@perphilip When you booted without the battery connected and it blinks a couple of times did you try pressing Ctrl-D? It wasn't clear to me if you were getting to developer mode or not.

davidthewatson avatar Jan 04 '18 04:01 davidthewatson

@davidthewatson I can´t remember clearly. I am fairly sure I did but will have to try again to verify. As far as I can remember the whole machine was completely unresponsive and then shut down.

Does anyone have any idea what is needed to enable sound on this one, is it "just" a missing driver?

perphilip avatar Jan 16 '18 12:01 perphilip

I'm pretty sure that the missing driver is the SSP clock driver, which appears to be hitting the mainline kernel in 4.16. I've attempted to build 4.16-rc3 after applying the patches from the 4.14.14 galliumos directory (with some modifications to fix the build) and using the 4.14.14 config, but end up with a black screen when trying to boot it. The module is snd_skl_ssp_clk which you can see if you run "lsmod" in ChromeOS, but which is missing from GalliumOS. I do know that the clock driver is required for sound to work on my (REEF) hardware.

kitambi avatar Feb 27 '18 12:02 kitambi

Running Lubuntu with mainline 4.16 kernel via chrx does allow for more functionality beyond the normal kernel for 17.10 such as touchpad, some function keys, and touchscreen but sound is still not showing up in PulseAudio. This is on the Acer Chromebook 15 SAND

IceAmaura avatar Mar 06 '18 18:03 IceAmaura

Is there any way to get the sound working?

ghost avatar Mar 12 '18 11:03 ghost

@beli3ver I've been using a pair of Bluetooth headphones as Bluetooth is functional on Apollo Lake. You could probably also see if a USB adapter would work.

IceAmaura avatar Mar 12 '18 12:03 IceAmaura

Do you use GalliumOS or did you use a other distro with the bluetooth headphones.

ghost avatar Mar 12 '18 13:03 ghost

@beli3ver I use GalliumOS with testing and prerelease enabled. Bluetooth drivers for PulseAudio are already installed. If you use Ubuntu or variants you need to install an add-on for PulseAudio to allow it to use Bluetooth.

IceAmaura avatar Mar 12 '18 14:03 IceAmaura

@beli3ver USB and Bluetooth audio are the workarounds for now on Apollo Lake. Both should work without any problems.

@IceAmaura We will have 4.15 kernel packages very soon. 4.16 is currently at rc5, and will be released in a few more weeks. I haven't tried porting the GalliumOS patches to the 4.16 RC's, but if there aren't any major problems, we can have packages shortly thereafter.

reynhout avatar Mar 12 '18 14:03 reynhout

Which Version fom GOS is the best for SAND?

ghost avatar Mar 12 '18 15:03 ghost

@beli3ver It probably doesn't matter much but I would use the Braswell or Skylake ISO (or chrx, if dual-booting). There's a nightly Braswell ISO in https://galliumos.org/releases/nightly that has a more recent kernel (and enables the testing pkg repo), so I would use that. You can manually enable the testing repo and update from any 2.1 ISO though.

You definitely want the newest kernel (4.14 presently) which requires the testing repo, for now.

reynhout avatar Mar 12 '18 15:03 reynhout

Thanks for that

ghost avatar Mar 12 '18 15:03 ghost

Is it possible to get audio working? what exactly is causing an audio issue. It shows up in lspci and lsusb.

K1ish avatar May 22 '18 01:05 K1ish

That would be amazing

ghost avatar May 23 '18 07:05 ghost

Could I just literally copy the drivers from chromeos into galliumos?

K1ish avatar Jun 17 '18 01:06 K1ish

4.18 has merged some fixes for broxton sound. I'll give it a shot and see if it has fixed anything

IceAmaura avatar Jul 17 '18 14:07 IceAmaura

@IceAmaura any news?

ghost avatar Aug 14 '18 07:08 ghost

No dice with 4.18. 4.19 also has a Broxton related fix, but it only shrinks the name of the module to conform to standards... I'm wondering if this has to do more with it being exposed from SeaBIOS/UEFI? Also, the diff between the Chrome OS and Upstream broxton board sound module has some pretty big differences but I can't get the module to compile with the newest kernel (probably due to it being built on 4.4). Might try just pulling 4.4 from google's repo with the sound module in it and see if it works...

IceAmaura avatar Aug 17 '18 15:08 IceAmaura

I'm wondering if this has to do more with it being exposed from SeaBIOS/UEFI?

exposed from? The firmware payload booting the OS doesn't expose or not expose the audio hardware. This is simply an issue of the drivers from Google's chromium kernel tree being upstreamed to the mainline kernel, and getting them to work on actual hardware

MrChromebox avatar Aug 17 '18 16:08 MrChromebox

What is chromeos using for SAND sound drivers? Wouldn't you be able to find them from intel?

On Fri, Aug 17, 2018, 10:16 AM Brigham Andersen [email protected] wrote:

No dice with 4.18. 4.19 also has a Broxton related fix, but it only shrinks the name of the module to conform to standards... I'm wondering if this has to do more with it being exposed from SeaBIOS/UEFI? Also, the diff between the Chrome OS and Upstream broxton board sound module has some pretty big differences but I can't get the module to compile with the newest kernel (probably due to it being built on 4.4). Might try just pulling 4.4 from google's repo with the sound module in it and see if it works...

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/GalliumOS/galliumos-distro/issues/364#issuecomment-413898373, or mute the thread https://github.com/notifications/unsubscribe-auth/AKvJUgkzS3ULRo6xyVzjtqGsoF85C-1Lks5uRt5MgaJpZM4Nq98r .

K1ish avatar Aug 18 '18 19:08 K1ish

exposed from? The firmware payload booting the OS doesn't expose or not expose the audio hardware.

Sorry about that, I had the wrong idea of how that worked. :S great work btw on the legacy bios to make all this work in the first place

What is chromeos using for SAND sound drivers?

It's using an i2c module I linked above. The upstream module and the chromeos module are different. I am not an experienced kernel developer (wish I was, would make a lot of things easier) so I can't rewrite the module merging the differences while retaining compatibility for the new kernel unfortunately. Kind of just hoping the upstream developers figure it out or whatnot...I've spent my fair share of time troubleshooting the issue and it just seems like something is missing upstream that chromeos has fixed.

IceAmaura avatar Aug 18 '18 19:08 IceAmaura

This recent change for 4.19 changed a lot of devices to use standby-to-idle instead of ACPI S3. Hopefully this will fix the suspend wiping boot flags due to lost power.

IceAmaura avatar Aug 24 '18 14:08 IceAmaura