GalliumOS / galliumos-distro

Docs, issues, and artwork sources for GalliumOS
https://galliumos.org/
GNU General Public License v2.0
348 stars 11 forks source link

Apollo Lake Platform Validation #364

Open reynhout opened 7 years ago

reynhout commented 7 years ago

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

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

MrChromebox commented 6 years ago

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

perphilip commented 6 years ago

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 commented 6 years ago

@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 commented 6 years ago

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 commented 6 years ago

@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 commented 6 years ago

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 commented 6 years ago

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:

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

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 commented 6 years ago

@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 commented 6 years ago

@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 commented 6 years ago

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 commented 6 years ago

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

ghost commented 6 years ago

Is there any way to get the sound working?

IceAmaura commented 6 years ago

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

ghost commented 6 years ago

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

IceAmaura commented 6 years ago

@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 commented 6 years ago

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

ghost commented 6 years ago

Which Version fom GOS is the best for SAND?

reynhout commented 6 years ago

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

ghost commented 6 years ago

Thanks for that

IceAmaura commented 6 years ago

Not sure if this is helpful but this is the module when running lsmod on an Acer Chromebook 15 SAND that isn't loaded into galliumos or any other distro for that matter.

K1ish commented 6 years ago

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

ghost commented 6 years ago

That would be amazing

K1ish commented 6 years ago

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

IceAmaura commented 6 years ago

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

ghost commented 6 years ago

@IceAmaura any news?

IceAmaura commented 6 years ago

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 commented 6 years ago

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 commented 6 years ago

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 notifications@github.com 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 .

IceAmaura commented 6 years ago

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 commented 6 years ago

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.

ghost commented 6 years ago

Any news here?

IceAmaura commented 6 years ago

4.20 has some Intel sound platform stuff being merged that's getting closer but still no usable sound on latest upstream.

On Sat, Nov 10, 2018, 11:41 AM Malte Kiefer <notifications@github.com wrote:

Any news here?

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

Trithemius commented 6 years ago

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 commented 6 years ago

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

chrononaut1 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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

ghost commented 5 years ago

You can deactivate this, Look Herehttps://gist.github.com/bzerangue/e64c7122129b628302046fa8702dddd2Am 11.01.2019 17:37 schrieb gills4prem notifications@github.com: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???

—You are receiving this because you were mentioned.Reply to this email directly, view it on GitHub, or mute the thread.

MrChromebox commented 5 years ago

@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

Elara6331 commented 5 years ago

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.

Elara6331 commented 5 years ago

BRUCE (Acer Chromebook Spin 15) with Ubuntu 17.10 ISO

OgulcanCelik commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

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

DrymarchonShaun commented 5 years ago

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

Elara6331 commented 5 years ago

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 commented 5 years ago

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?

Elara6331 commented 5 years ago

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.