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

Apollo Lake Platform Validation #364

Open
reynhout opened this issue May 30, 2017 · 60 comments

Comments

@reynhout
Copy link
Member

commented May 30, 2017

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

  • galliumos-apollolake package created
  • Firmware available
  • Boots from USB ISO
  • Boots from internal storage (eMMC)
  • Internal keyboard
  • Touchpad
  • Touchscreen (if equipped)
  • Internal audio
    • speakers/headphone jack
    • microphone
    • jack detection
  • WiFi
  • 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.

@MrChromebox

This comment has been minimized.

Copy link

commented Dec 1, 2017

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

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

This comment has been minimized.

Copy link

commented Dec 16, 2017

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.

@Mz0rZ

This comment has been minimized.

Copy link

commented Dec 25, 2017

@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.

@MrChromebox

This comment has been minimized.

Copy link

commented Dec 25, 2017

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.

@Mz0rZ

This comment has been minimized.

Copy link

commented Dec 25, 2017

@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!

@YaKillaCJ

This comment has been minimized.

Copy link

commented Dec 26, 2017

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.

@perphilip

This comment has been minimized.

Copy link

commented Jan 3, 2018

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:

  • Boots from USB ISO
  • Boots from internal storage (eMMC)
  • Internal keyboard
  • Touchpad
  • Touchscreen
  • Internal audio (only HDMI show up)
    • speakers/headphone jack
    • microphone
    • jack detection
  • WiFi
  • Bluetooth
  • Media keys
    • 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.)

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

  • Boots from USB ISO
  • Boots from internal storage (eMMC) (Not Tested Yet)
  • Internal keyboard
  • Touchpad
  • Touchscreen
  • Internal audio (only HDMI show up)
    • speakers/headphone jack
    • microphone
    • jack detection
  • WiFi
  • 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?

@davidthewatson

This comment has been minimized.

Copy link

commented Jan 4, 2018

@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.

@perphilip

This comment has been minimized.

Copy link

commented Jan 16, 2018

@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?

@kitambi

This comment has been minimized.

Copy link

commented Feb 27, 2018

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.

@IceAmaura

This comment has been minimized.

Copy link

commented Mar 6, 2018

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

@beli3ver

This comment has been minimized.

Copy link

commented Mar 12, 2018

Is there any way to get the sound working?

@IceAmaura

This comment has been minimized.

Copy link

commented Mar 12, 2018

@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.

@beli3ver

This comment has been minimized.

Copy link

commented Mar 12, 2018

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

@IceAmaura

This comment has been minimized.

Copy link

commented Mar 12, 2018

@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.

@reynhout

This comment has been minimized.

Copy link
Member Author

commented Mar 12, 2018

@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.

@beli3ver

This comment has been minimized.

Copy link

commented Mar 12, 2018

Which Version fom GOS is the best for SAND?

@reynhout

This comment has been minimized.

Copy link
Member Author

commented Mar 12, 2018

@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.

@beli3ver

This comment has been minimized.

Copy link

commented Mar 12, 2018

Thanks for that

@K1ish

This comment has been minimized.

Copy link

commented May 22, 2018

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

@beli3ver

This comment has been minimized.

Copy link

commented May 23, 2018

That would be amazing

@K1ish

This comment has been minimized.

Copy link

commented Jun 17, 2018

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

@IceAmaura

This comment has been minimized.

Copy link

commented Jul 17, 2018

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

@beli3ver

This comment has been minimized.

Copy link

commented Aug 14, 2018

@IceAmaura any news?

@IceAmaura

This comment has been minimized.

Copy link

commented Aug 17, 2018

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...

@MrChromebox

This comment has been minimized.

Copy link

commented Aug 17, 2018

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

@K1ish

This comment has been minimized.

Copy link

commented Aug 18, 2018

@IceAmaura

This comment has been minimized.

Copy link

commented Aug 18, 2018

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.

@Trithemius

This comment has been minimized.

Copy link

commented Nov 18, 2018

Anyone familiar with the yocto project? Intel publishes a board support package for Apollo Lake through this project that apparently supports audio https://www.yoctoproject.org/software-overview/layers/bsps/jethro203-leaf-hill/

@MrChromebox

This comment has been minimized.

Copy link

commented Nov 18, 2018

@Trithemius audio on Chromebooks is implemented differently than on Intel reference boards, so unlikely anything there will be of use

@chrononaut1

This comment has been minimized.

Copy link

commented Dec 1, 2018

Hello! I've got Galliumos installed on my Lenovo 100e via chrx after flashing the mrchromebox firmware.

If there's any other useful information I can provide please let me know.

Thanks for all your hard work!

[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

[x] Volume control
[ ] LCD backlight control (fixed using xbacklight)
[ ] Keyboard backlight control (if equipped)

[ ] Suspend/resume (resets the boot flags)

@SynthSy

This comment has been minimized.

Copy link

commented Dec 14, 2018

I'm on kernel 4.14.29, using a ASUS Chromebook Flip C213SA, and I have noticed aside from the audio issue (using a usb-c adapter to circumvent this issue), the default firmware on GalliumOS 2.1 recorded touch input from the touchscreen, but on 4.14.29, it will only accept input from the included stylus.

The default firmware on Gallium OS 2.1 previously accepted input from both fingers and stylus.

Thanks for your time and dedication on this by the way, really appreciate it. :)

@gills4prem

This comment has been minimized.

Copy link

commented Jan 1, 2019

hi is there any chance on audio working any time soon? not sure if anybody is working on it most info I can find is old

@MrChromebox

This comment has been minimized.

Copy link

commented Jan 1, 2019

that's something that needs to be fixed upstream, plus the audio configuration files (ALSA UCM files) need to be updated from the format used in the ChromeOS kernel (4.4) to the current 4.1x+ format. That's not really something we can do ourselves

@gills4prem

This comment has been minimized.

Copy link

commented Jan 11, 2019

biggest issue im having using my acer chromebook is when gallium goes into standby and screens rurns off and im back in recovery mode. I know the fix in shell but i was wondering if i missed anything for a fix to this???

@beli3ver

This comment has been minimized.

Copy link

commented Jan 11, 2019

@MrChromebox

This comment has been minimized.

Copy link

commented Jan 11, 2019

@beli3ver disabling suspend (assuming that's the gist you meant to link to) isn't really a viable workaround. Google needs to fix their broken TPM

@AM6331

This comment has been minimized.

Copy link

commented Mar 3, 2019

I found that the crostini container has kernel 4.19. Sound works on crostini, and /usr/share/alsa is present with UCM files. Also, there is a package called cros-pulse-config which you can "apt download". I want someone to look into this because I don't know what to do with it.

@AM6331

This comment has been minimized.

Copy link

commented Mar 3, 2019

BRUCE (Acer Chromebook Spin 15) with Ubuntu 17.10 ISO

  • galliumos-apollolake package created

  • Firmware available

  • Boots from USB ISO

  • Boots from internal storage (eMMC) (Have not tried)

  • Internal keyboard

  • Touchpad

  • Touchscreen (if equipped)

  • Internal audio

    • speakers/headphone jack
    • microphone
    • jack detection
  • WiFi

  • Bluetooth

  • Media keys

    • Volume control
    • LCD backlight control
    • Keyboard backlight control (if equipped)
  • Suspend/resume

@OgulcanCelik

This comment has been minimized.

Copy link

commented Mar 9, 2019

Has anyone tried 4.20.14 kernel on Manjaro?

I have an Edgar Braswell device which is "required" to have GalliumOS packages to make sound work, however, after installing 4.20 all my Edgar features worked out of the box.

@MrChromebox

This comment has been minimized.

Copy link

commented Mar 9, 2019

Has anyone tried 4.20.14 kernel on Manjaro?

I have an Edgar Braswell device which is "required" to have GalliumOS packages to make sound work, however, after installing 4.20 all my Edgar features worked out of the box.

Braswell and Apollolake are completely different platforms with completely different audio setups. Manjaro having support for BSW has no bearing on APL.

@MrChromebox

This comment has been minimized.

Copy link

commented Mar 9, 2019

I found that the crostini container has kernel 4.19. Sound works on crostini, and /usr/share/alsa is present with UCM files. Also, there is a package called cros-pulse-config which you can "apt download". I want someone to look into this because I don't know what to do with it.

nothing to do with it. crostini simply provides a generic virtualized AC97-compatible sound device to the container -- there's nothing APL specific about it, nor any APL-related files in the container which might be of use to getting audio working under linux natively

@ShaunTheQuietGamer

This comment has been minimized.

Copy link

commented Mar 22, 2019

Anything new recently? Just got a ROBO360, and want linux, but also want sound.

@AM6331

This comment has been minimized.

Copy link

commented Mar 23, 2019

Will installing a 4.4 kernel on another linux distro and copying /usr/share/alsa from chromeos work? My main issue is not the kernel, it is the fact that I cannot install kernel modules/systemd daemons and enable them without tedious work. Also, there is no grub bootloader that I can mess with.

@MrChromebox

This comment has been minimized.

Copy link

commented Mar 23, 2019

Will installing a 4.4 kernel on another linux distro and copying /usr/share/alsa from chromeos work?

no, because the mainline 4.4 kernel doesn't support APL.

Also, there is no grub bootloader that I can mess with.

huh?

@AM6331

This comment has been minimized.

Copy link

commented Mar 31, 2019

Also, there is no grub bootloader that I can mess with.

huh?

I like to do things like install Bedrock linux on top of another distro, which require grub and systemd. There are also other things that require fiddling with grub.

@MrChromebox

This comment has been minimized.

Copy link

commented Mar 31, 2019

I like to do things like install Bedrock linux on top of another distro, which require grub and systemd. There are also other things that require fiddling with grub.

I'm still unclear on what you mean by "there is no grub bootloader that I can mess with." This statement makes no sense in the context of GalliumOS issues on Apollolake hardware. GalliumOS installs/uses grub-pc (or grub-efi).

@AM6331

This comment has been minimized.

Copy link

commented Mar 31, 2019

I like to do things like install Bedrock linux on top of another distro, which require grub and systemd. There are also other things that require fiddling with grub.

I'm still unclear on what you mean by "there is no grub bootloader that I can mess with." This statement makes no sense in the context of GalliumOS issues on Apollolake hardware. GalliumOS installs/uses grub-pc (or grub-efi).

I was just explaining why I want this to work so much. It has nothing to do with Apollolake, I meant crouton does not have grub or systemd.

@SynthSy

This comment has been minimized.

Copy link

commented Mar 31, 2019

I like to do things like install Bedrock linux on top of another distro, which require grub and systemd. There are also other things that require fiddling with grub.

I'm still unclear on what you mean by "there is no grub bootloader that I can mess with." This statement makes no sense in the context of GalliumOS issues on Apollolake hardware. GalliumOS installs/uses grub-pc (or grub-efi).

I was just explaining why I want this to work so much. It has nothing to do with Apollolake, I meant crouton does not have grub or systemd.

The confusion comes from posting in the Apollo Lake issue tracker, which is solely focused on APL issues than just overall GalliumOS and Crouton.

@AM6331

This comment has been minimized.

Copy link

commented Jun 16, 2019

OpenSUSE Tumbleweed with KDE on BRUCE (Acer Chromebook Spin 15) both backlights easily controllable within System Settings > Power Management.

  • galliumos-apollolake package created

  • Firmware available

  • Boots from USB ISO

  • Boots from internal storage (eMMC)

  • Internal keyboard

  • Touchpad

  • Touchscreen (if equipped)

  • Internal audio

  • speakers/headphone jack

  • microphone

  • jack detection

  • WiFi

  • Bluetooth

  • Media keys

  • Volume control

  • LCD backlight control [No Keybind]

  • Keyboard backlight control (if equipped) [No Keybind]

  • Suspend/resume [Resets USB and Legacy flags]

@AM6331

This comment has been minimized.

Copy link

commented Jun 22, 2019

How can I and anyone else who wants to help get audio working? Can we even do anything?

@accaldwell

This comment has been minimized.

Copy link

commented Aug 22, 2019

Can anyone explain what the issues are with suspend/resume? I'm thinking about getting another chromebook and don't really care about the audio/media issues, but if suspend kills everything, that's a deal breaker. My braswell chromebook is working well, but those machines are getting a bit outdated and more difficult to find new.

Is this a kernel issue? BIOS? Something else?

@MrChromebox

This comment has been minimized.

Copy link

commented Aug 22, 2019

Is this a kernel issue? BIOS?

yes.

Google's verified boot implementation expects the OS to signal the TPM when going into suspend, but there is no driver for Google's CR50 TPM in the mainline kernel (yet, it's in the process of being upstreamed), so it's impossible to do this. As a result, when booting on resume, Verified Boot checks the TPM, determines the last boot failed, and so boots to Recovery Mode. As a security precaution, it also resets all crossystem flags to default.

Once the CR50 driver is in the mainline kernel (and working), then suspend/resume should no longer fail catastrophically on CR50 ChromeOS devices when Legacy Boot Mode is used

@genofire

This comment has been minimized.

Copy link

commented Aug 28, 2019

@coltondrg

This comment has been minimized.

Copy link
Member

commented Aug 29, 2019

Yes.

@genofire

This comment has been minimized.

Copy link

commented Aug 29, 2019

What we need for audio and touchscreen?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
You can’t perform that action at this time.