Giter Club home page Giter Club logo

system76-driver's Introduction

System76 Driver

This program installs drivers and provides restore functionality for System76 machines.

Open Activities button on the top left or use the Ubuntu/Pop!_OS/Super key and search for 'system76' then click the icon and enter your password to open the application.

Making changes

  1. Checkout new branch
  2. Push new branch
  3. Bump the version (./bump-version.py)
  4. Make changes
  5. Make pull request
  6. Get PR approved and merged
  7. Make a release from master branch (./make-release.py)

License

This software is made available under the terms of the GNU General Public License; either version 2 of the License, or (at your option) any later version. See LICENSE for details.

system76-driver's People

Contributors

13r0ck avatar ahoneybun avatar bflanagin avatar brs17 avatar crawfxrd avatar djordan2 avatar electrickite avatar ids1024 avatar isantop avatar jackpot51 avatar jacobgkau avatar jacobktm avatar jderose avatar leviport avatar mmstick avatar n3m0-22 avatar watchmkr avatar xeboc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

system76-driver's Issues

system76-driver automatically disable turbo boost in training

**Distribution (run cat /etc/os-release): **
Ubuntu 18.04.1 LTS

Related Application and/or Package Version (run apt policy $PACKAGE NAME):

$ apt policy $PACKAGE system76-power
system76-power:
  Installed: 1.0.0~1537808410~18.04~821cc23~dev
  Candidate: 1.0.0~1537808410~18.04~821cc23~dev
  Version table:
 *** 1.0.0~1537808410~18.04~821cc23~dev 500
        500 http://ppa.launchpad.net/system76-dev/stable/ubuntu bionic/main amd64 Packages
        100 /var/lib/dpkg/status

Issue/Bug Description:
system76-power automatically disables turbo boost while in training data with DeepLab (TensorFlow)

before turbo boost disabled by system76-power
p76-power_disable_turboboost_before

after turbo boost disabled by system76-power
p76-power_disable_turboboost_after

Steps to reproduce (if you know):

  1. Reduce max_perf_pct to 70%
$ echo 70 | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
$ sudo tlp-stat -p | egrep 'min_perf_pct|max_perf_pct|no_turbo|/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor'
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor  = powersave
/sys/devices/system/cpu/intel_pstate/min_perf_pct      =  19 [%]
/sys/devices/system/cpu/intel_pstate/max_perf_pct      =  70 [%]
/sys/devices/system/cpu/intel_pstate/no_turbo          =   0`
  1. Run turbostat to monitor the frequency, temp and power consumption
$ watch -n 2 sudo turbostat --quiet --show CPU --show Bzy_MHz --show Busy%  --show PkgWatt --show PkgTmp --show PKG_%   sleep 0
  1. Run deeplab train.py with more than 3000 steps, i.e. change the NUM_ITERATIONS in local_test.sh from 10 to 3000 and run it
    Ref: DeepLab Installation

Expected behavior:
I understand system76-power wants to protect CPU from overheat under high workload. But the temperature and power consumption readings being shown above are all good (less than 80C). In my opinion, system76-power should not automatically disable turbo boost under heavy CPU loads if the value read from /sys/devices/system/cpu/intel_pstate/max_perf_pct is less than 85%.

Other Notes:

PC spec

Oryx Pro 4
OS: Ubuntu 18.04.1 LTS x86_64
Kernel: 4.15.0-38-generic
CPU: Intel i7-8750H (12) @ 4.100GHz
GPU: NVIDIA GeForce GTX 1070 Mobile
Memory: 32 GB

TouchPad Not Working

Hi guys,

I recently installed PopOS 18.04 on my laptop but the touchpad is not working. I installed the drivers specified on the System76 website but still the touchpad doesn't work at all. Actually the touchpad is not even detected when I use the command xinput on the terminal. I am able to work using an optical mouse connected to the computer through a usb cable but please help me resolve the issue. Earlier I had windows in my laptop and touchpad was working well in it. Can anyone help me with this?

Thank you

HiDPI Daemon sets 1600x900 resolution when external display is attached

Reporter info

 * Distribution - (run ```cat /etc/os-release```)
 * Related Application and/or Package Version - system76-driver 17.10.11

Issue/Bug Description
Note: This is more of a wish/suggestion than a bug.

When you plug in an external display, the driver changes the users resolution to 1600x900. Unfortunately, this is not a good choice for most users.

Expected behavior
Instead, when an external display is attached, the resolution should be changed to 1920x1080 with 100% scaling. 1080p matches the majority of external displays, and is the minimum resolution of all external displays sold today. With 1080p, text is still very clear and objects are of a decent size to not cause eyestrain. In addition, 1080p with 100% scaling looks great on this laptop, whereas 1600x900 looks very out of place.

Other Notes
1600x900 is a great resolution for people with vision handicaps, so maybe it could be an option as some sort of accessibility mode for those people, if it's not already?

oryx-pro2 system76-driver upgrade error

Distribution (run cat /etc/os-release):

NAME="Pop!_OS"
VERSION="18.04 LTS"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Pop!_OS 18.04 LTS"
VERSION_ID="18.04"
HOME_URL="https://system76.com/pop"
SUPPORT_URL="http://support.system76.com"
BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

Related Application and/or Package Version (run apt policy $PACKAGE NAME):

pcnate@pop-os:~$ apt policy system76-driver
system76-driver:
  Installed: 18.04.26~1532726241~18.04~13ce8b6
  Candidate: 18.04.26~1532726241~18.04~13ce8b6
  Version table:
 *** 18.04.26~1532726241~18.04~13ce8b6 1001
       1001 http://ppa.launchpad.net/system76/pop/ubuntu bionic/main amd64 Packages
       1001 http://ppa.launchpad.net/system76/pop/ubuntu bionic/main i386 Packages
        100 /var/lib/dpkg/status

Issue/Bug Description:
when upgrading via command line with sudo apt-get dist-upgrade

Setting up apt-config-icons-large (0.12.0-3) ...
Setting up system76-driver (18.04.26~1532726241~18.04~13ce8b6) ...
INFO	product_version: 'oryp2'
ERROR	Error running actions:
Traceback (most recent call last):
  File "/usr/bin/system76-driver-cli", line 71, in <module>
    action_runner = ActionRunner(product['drivers'])
  File "/usr/lib/python3/dist-packages/system76driver/actions.py", line 235, in __init__
    if action.isneeded:
  File "/usr/lib/python3/dist-packages/system76driver/actions.py", line 161, in isneeded
    self._isneeded = self.get_isneeded()
  File "/usr/lib/python3/dist-packages/system76driver/actions.py", line 406, in get_isneeded
    params = set(current.split())
AttributeError: 'list' object has no attribute 'split'
Setting up apt-config-icons-hidpi (0.12.0-3) ...

if action.isneeded:

self._isneeded = self.get_isneeded()

This one is different on my system
params = set(current)

Steps to reproduce (if you know):

Expected behavior:

Other Notes:

complete log
https://gist.github.com/pcnate/e943526a56b8d38f86814822cb367372

Hybrid graphics not working with DaVinci Resolve 16

**Distribution (run cat /etc/os-release): 20.10

Related Application and/or Package Version (run apt policy $PACKAGE NAME):

Issue/Bug Description:
I have Dell XPS 9560 laptop: FHD screen, 16GB RAM, 512GB SSD, i7-7700HQ, GeForce GTX 1050 Mobile

When trying to use DaVinci Resolve 16 there is no video output when using the Hybrid Graphics settings. However, when I change to Nvidia graphics everything works.
The same behaviour happens both when I'm working on the laptop's display only and when I connect the external monitor (LG 34UC99-W).

Steps to reproduce (if you know):
Download DaVinci Resolve 16 (https://www.blackmagicdesign.com/products/davinciresolve/) and set the graphics to Hybrid.

Expected behavior:
Video output should be working normally.

Other Notes:

Add progress indicator during driver installation

When you click on the Install Drivers button, the bottom of the window says "Now installing drivers. This may take a while..." But there's nothing about what stage of the process it's at, or how much longer it might take, or if it's perhaps just stuck and needs to be restarted.

For long-running processes like this, a progress bar would be nice. Bonus points if it also adds a little more information about what's going on, such as "Part 1: Downloading..." and "Part 2: Installing...", or similar :)

Python error when upgrading package

Distribution (run cat /etc/os-release):

NAME="Pop!_OS"
VERSION="18.04 LTS"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Pop!_OS 18.04 LTS"
VERSION_ID="18.04"
HOME_URL="https://system76.com/pop"
SUPPORT_URL="http://support.system76.com"
BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

Related Application and/or Package Version (run apt policy $PACKAGE NAME):

$ apt policy system76-driver
system76-driver:
  Installed: 18.04.26~1532726241~18.04~13ce8b6
  Candidate: 18.04.26~1532726241~18.04~13ce8b6
  Version table:
 *** 18.04.26~1532726241~18.04~13ce8b6 1001
       1001 http://ppa.launchpad.net/system76/pop/ubuntu bionic/main amd64 Packages
       1001 http://ppa.launchpad.net/system76/pop/ubuntu bionic/main i386 Packages
        100 /var/lib/dpkg/status
                                  

Issue/Bug Description:

When I did an apt update && apt upgrade this morning, I got some error output:

Setting up system76-driver (18.04.26~1532726241~18.04~13ce8b6) ...
INFO	product_version: 'oryp3-ess'
ERROR	Error running actions:
Traceback (most recent call last):
  File "/usr/bin/system76-driver-cli", line 71, in <module>
    action_runner = ActionRunner(product['drivers'])
  File "/usr/lib/python3/dist-packages/system76driver/actions.py", line 235, in __init__
    if action.isneeded:
  File "/usr/lib/python3/dist-packages/system76driver/actions.py", line 161, in isneeded
    self._isneeded = self.get_isneeded()
  File "/usr/lib/python3/dist-packages/system76driver/actions.py", line 406, in get_isneeded
    params = set(current.split())
AttributeError: 'list' object has no attribute 'split'
Setting up pop-shop (0.2.9~1532969963~18.04~d2fb21b) ...

The upgrade seemed to finish ok, but I haven't rebooted yet.

Steps to reproduce (if you know):

I get the same error when running system76-driver-cli:

$ sudo system76-driver-cli
INFO	product_version: 'oryp3-ess'
ERROR	Error running actions:
Traceback (most recent call last):
  File "/usr/bin/system76-driver-cli", line 71, in <module>
    action_runner = ActionRunner(product['drivers'])
  File "/usr/lib/python3/dist-packages/system76driver/actions.py", line 235, in __init__
    if action.isneeded:
  File "/usr/lib/python3/dist-packages/system76driver/actions.py", line 161, in isneeded
    self._isneeded = self.get_isneeded()
  File "/usr/lib/python3/dist-packages/system76driver/actions.py", line 406, in get_isneeded
    params = set(current.split())
AttributeError: 'list' object has no attribute 'split'

Expected behavior:

No errors in the apt upgrade output.

Other Notes:

Touchpad freezes after a while

Distribution (run cat /etc/os-release):
NAME="Pop!_OS"
VERSION="18.04 LTS"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Pop!_OS 18.04 LTS"
VERSION_ID="18.04"
HOME_URL="https://system76.com/pop"
SUPPORT_URL="http://support.system76.com"
BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

Related Application and/or Package Version (run apt policy $PACKAGE NAME):

Issue/Bug Description:
I am using Acer K50-20 laptop with Pop_Os! 18.04 LTS. The touchpad works fine when the laptop powers on. But after a while, the touchpad will freeze and cannot work.

Steps to reproduce (if you know):

Expected behavior:

Other Notes:

19.10: Updating on fresh install leads to error running actions

Distribution (run cat /etc/os-release):
Pop!_OS 19.10

Issue/Bug Description:
Did a fresh install of 19.10 (debug iso 32) and then ran updates. Got the following error. Looks to be related to not running grub on this system. Should check to make sure that grub and systemd-boot logic coexist in all necessary places.

INFO	product_version: 'orxp1'
ERROR	Error running actions:
Traceback (most recent call last):
  File "/usr/bin/system76-driver-cli", line 71, in <module>
    action_runner = ActionRunner(product['drivers'])
  File "/usr/lib/python3/dist-packages/system76driver/actions.py", line 236, in __init__
    if action.isneeded:
  File "/usr/lib/python3/dist-packages/system76driver/actions.py", line 162, in isneeded
    self._isneeded = self.get_isneeded()
  File "/usr/lib/python3/dist-packages/system76driver/actions.py", line 624, in get_isneeded
    lines = self.read().splitlines()
  File "/usr/lib/python3/dist-packages/system76driver/actions.py", line 595, in read
    return open(self.filename, 'r').read()
FileNotFoundError: [Errno 2] No such file or directory: '/etc/default/grub'

oryp3-ess headphone jack does not work in Ubuntu 18.04 LTS

If this is a bug, please use the template below. If this is a question, or a general discussion topic - please post on our subreddit https://reddit.com/r/pop_os - as that is the proper forum for those types of posts.

Reporter info

 * Distribution - (run ```cat /etc/os-release```)
 * Related Application and/or Package Version - apt policy $PACKAGE NAME

Issue/Bug Description

The headphone jack is not outputting audio out.

Steps to reproduce (if you know)

  1. Load Ubuntu 18.04 with system76 driver
  2. Plug in headphones to the first port
  3. Test audio

Expected behavior

Audio would come though the headphone jack

Other Notes

Cannot wake from suspend

Distribution (run cat /etc/os-release):
NAME="Pop!_OS"
VERSION="18.04 LTS"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Pop!_OS 18.04 LTS"
VERSION_ID="18.04"
HOME_URL="https://system76.com/pop"
SUPPORT_URL="http://support.system76.com"
BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

Issue/Bug Description:
When trying to wake the system from suspend, it hangs on a black screen.

Steps to reproduce (if you know):

  1. Put the computer into suspend using the suspend item in the top menu next to the shutdown button.
  2. Wait until the computer suspends entirely.
  3. Tap the power button to wake from suspend.

Expected behavior:
I expect the computer to wake from suspend normally, however it seems to hang with a black screen until I force a shutdown by holding the power button.

Other Notes:
My computer is a Dell XPS 15 9570.
I have a 1050 Ti MaxQ, and the most recent proprietary Nvidia drivers.

Runtime error in asyncio from python3.8

Distribution (run cat /etc/os-release):
Pop!OS 20.04

Related Application and/or Package Version (run apt policy $PACKAGE NAME):
20.04.9159171989220.04~4518e0b --probably, but not confirmed

Issue/Bug Description:
Jun 09 20:15:18 pop-os system76-daemon[819]: 2020-06-09 20:15:18,126 INFO Headphone volume adjustment not needed for 'oryp3-ess'
Jun 09 20:15:18 pop-os system76-daemon[819]: 2020-06-09 20:15:18,127 INFO DPCD PWM fix not needed for 'oryp3-ess'
Jun 09 20:15:18 pop-os system76-daemon[819]: 2020-06-09 20:15:18,127 INFO Limit Power Draw not needed 'oryp3-ess'
Jun 09 20:15:18 pop-os system76-daemon[819]: Exception ignored in: <function InputDevice.del at 0x7f97948535e0>
Jun 09 20:15:18 pop-os system76-daemon[819]: Traceback (most recent call last):
Jun 09 20:15:18 pop-os system76-daemon[819]: File "/usr/lib/python3/dist-packages/evdev/device.py", line 159, in del
Jun 09 20:15:18 pop-os system76-daemon[819]: self.close()
Jun 09 20:15:18 pop-os system76-daemon[819]: File "/usr/lib/python3/dist-packages/evdev/device.py", line 304, in close
Jun 09 20:15:18 pop-os system76-daemon[819]: super().close()
Jun 09 20:15:18 pop-os system76-daemon[819]: File "/usr/lib/python3/dist-packages/evdev/eventio_async.py", line 54, in close
Jun 09 20:15:18 pop-os system76-daemon[819]: loop = asyncio.get_event_loop()
Jun 09 20:15:18 pop-os system76-daemon[819]: File "/usr/lib/python3.8/asyncio/events.py", line 639, in get_event_loop
Jun 09 20:15:18 pop-os system76-daemon[819]: raise RuntimeError('There is no current event loop in thread %r.'
Jun 09 20:15:18 pop-os system76-daemon[819]: RuntimeError: There is no current event loop in thread 'Dummy-1'.
Jun 09 20:15:18 pop-os system76-daemon[819]: Exception ignored in: <function InputDevice.del at 0x7f97948535e0>
Jun 09 20:15:18 pop-os system76-daemon[819]: Traceback (most recent call last):
Jun 09 20:15:18 pop-os system76-daemon[819]: File "/usr/lib/python3/dist-packages/evdev/device.py", line 159, in del
Jun 09 20:15:18 pop-os system76-daemon[819]: self.close()
Jun 09 20:15:18 pop-os system76-daemon[819]: File "/usr/lib/python3/dist-packages/evdev/device.py", line 304, in close
Jun 09 20:15:18 pop-os system76-daemon[819]: super().close()
Jun 09 20:15:18 pop-os system76-daemon[819]: File "/usr/lib/python3/dist-packages/evdev/eventio_async.py", line 54, in close
Jun 09 20:15:18 pop-os system76-daemon[819]: loop = asyncio.get_event_loop()
Jun 09 20:15:18 pop-os system76-daemon[819]: File "/usr/lib/python3.8/asyncio/events.py", line 639, in get_event_loop
Jun 09 20:15:18 pop-os system76-daemon[819]: raise RuntimeError('There is no current event loop in thread %r.'
Jun 09 20:15:18 pop-os system76-daemon[819]: RuntimeError: There is no current event loop in thread 'Dummy-1'.
Jun 09 20:15:18 pop-os system76-daemon[819]: Exception ignored in: <function InputDevice.del at 0x7f97948535e0>
Jun 09 20:15:18 pop-os system76-daemon[819]: Traceback (most recent call last):
Jun 09 20:15:18 pop-os system76-daemon[819]: File "/usr/lib/python3/dist-packages/evdev/device.py", line 159, in del
Jun 09 20:15:18 pop-os system76-daemon[819]: self.close()
Jun 09 20:15:18 pop-os system76-daemon[819]: File "/usr/lib/python3/dist-packages/evdev/device.py", line 304, in close
Jun 09 20:15:18 pop-os system76-daemon[819]: super().close()
Jun 09 20:15:18 pop-os system76-daemon[819]: File "/usr/lib/python3/dist-packages/evdev/eventio_async.py", line 54, in close
Jun 09 20:15:18 pop-os system76-daemon[819]: loop = asyncio.get_event_loop()
Jun 09 20:15:18 pop-os system76-daemon[819]: File "/usr/lib/python3.8/asyncio/events.py", line 639, in get_event_loop
Jun 09 20:15:18 pop-os system76-daemon[819]: raise RuntimeError('There is no current event loop in thread %r.'
Jun 09 20:15:18 pop-os system76-daemon[819]: RuntimeError: There is no current event loop in thread 'Dummy-1'.

Expected behavior:
No crash

Other Notes:
Investigating other issues with this system as it fails to complete a boot (but gets to a desktop).

system76-driver 18.04.23 depends on gnome-shell, while 18.04.22 did not

Distribution (run cat /etc/os-release):

NAME="Ubuntu"  
VERSION="18.04 LTS (Bionic Beaver)"  
ID=ubuntu  
ID_LIKE=debian  
PRETTY_NAME="Ubuntu 18.04 LTS"  
VERSION_ID="18.04"  
HOME_URL="https://www.ubuntu.com/"  
SUPPORT_URL="https://help.ubuntu.com/"  
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"  
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"  
VERSION_CODENAME=bionic  
UBUNTU_CODENAME=bionic

Related Application and/or Package Version (run apt policy $PACKAGE NAME):

system76-driver

Issue/Bug Description:

Version 18.04.23 created a dependency on gnome-shell, via a new dependency on gnome-shell-extension-system76-power, which 18.04.22 did not have.

When I try to upgrade system76-driver, apt-get wants to install 47 additional packages (I use XFCE):

The following NEW packages will be installed:
  bolt evolution-data-server evolution-data-server-common
  gir1.2-accountsservice-1.0 gir1.2-gck-1 gir1.2-gcr-3 gir1.2-gdm-1.0
  gir1.2-geoclue-2.0 gir1.2-gnomebluetooth-1.0 gir1.2-gweather-3.0
  gir1.2-mutter-2 gir1.2-rsvg-2.0 gir1.2-upowerglib-1.0 gjs
  gnome-control-center gnome-control-center-faces gnome-online-accounts
  gnome-shell gnome-shell-extension-system76-power libcamel-1.2-61
  libcolord-gtk1 libebackend-1.2-10 libebook-1.2-19 libebook-contacts-1.2-2
  libecal-1.2-19 libedata-book-1.2-25 libedata-cal-1.2-28
  libedataserver-1.2-23 libgdm1 libgjs0g libgoa-backend-1.0-1 libmozjs-52-0
  libmutter-2-0 libnss-myhostname libphonenumber7 libxcb-res0 mutter
  python3-macaroonbakery python3-nacl python3-protobuf python3-pymacaroons
  python3-rfc3339 python3-tz system76-power ubuntu-session xserver-xorg-legacy
  xwayland
The following packages will be upgraded:
  system76-driver
1 upgraded, 47 newly installed, 0 to remove and 0 not upgraded.

Steps to reproduce (if you know):

apt-get update
apt-get dist-upgrade

Expected behavior:

I expected a stable update without drastic changes since 18.04 is an LTS release.

Other Notes:

My desktop runs XFCE (via xubuntu-desktop) rather than Gnome. Some of the packages it wants to install are things I've tried to keep off of my system.

Maybe the gnome-shell-extension-system76-power dependency could be changed from Depends to Recommends? Apt would still install it by default, but it'd no longer be mandatory.

More split() issues

Distribution (run cat /etc/os-release):
Pop!_OS 18.04

Issue/Bug Description:
The following error appeared on a sudo apt update && sudo apt upgrade -y on a oryx1.

  File "/usr/bin/system76-driver-cli", line 72, in <module>
    for msg in action_runner.run_iter():
  File "/usr/lib/python3/dist-packages/system76driver/actions.py", line 246, in run_iter
    action.perform()
  File "/usr/lib/python3/dist-packages/system76driver/actions.py", line 418, in perform
    content = self.iter_lines_kernelstub(content)
  File "/usr/lib/python3/dist-packages/system76driver/actions.py", line 393, in iter_lines_kernelstub
    cmdline = self.build_new_cmdline(c['user']['kernel_options'])
  File "/usr/lib/python3/dist-packages/system76driver/actions.py", line 375, in build_new_cmdline
    params = set(current.split()) - set(self.remove)
AttributeError: 'list' object has no attribute 'split'

Other Notes:

I wonder why this has only been seen on the oryx1 and not other machines. I imagine we need to go through and remove .split()s.

Repeated firmware install offers with ME enabled

Distribution (run cat /etc/os-release):
NAME="Pop!_OS"
VERSION="19.04"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Pop!_OS 19.04"
VERSION_ID="19.04"
HOME_URL="https://system76.com/pop"
SUPPORT_URL="http://support.system76.com"
BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=disco
UBUNTU_CODENAME=disco

Related Application and/or Package Version (run apt policy $PACKAGE NAME):
system76-firmware:
Installed: (none)
Candidate: 1.0.5156234539619.044545a9b
Version table:
1.0.5
156234539619.044545a9b 1001
1001 http://ppa.launchpad.net/system76/pop/ubuntu disco/main amd64 Packages
1.0.5156234539619.044545a9bdev 500
500 http://ppa.launchpad.net/system76-dev/stable/ubuntu disco/main amd64 Packages

Issue/Bug Description:
On H2Inside bios machines, updates to the firmware that do to default to Intel ME off will repeatedly offer new firmware updates.

Steps to reproduce (if you know):
Install new firmware update
do NOT turn off ME in bios
boot

Expected behavior:
Install new firmware update,
set defaults in bios
boot

Other Notes:
Extra points if it does not offer to update with ME versions that are newer than current firmware.

HiDPI Daemon Doesn't Respect Custom Resolution Settings

Reporter info

 * Distribution - Ubuntu 17.10 64-bit with S76 driver repo/package installed
 * Related Application and/or Package Version: system76-driver 17.10.11

Issue/Bug Description
The HiDPI daemon prevents GNOME's multi-monitor configuration from working properly. Normally, when you re-attach a display to your laptop, GNOME will set the previous resolution and layout that you selected for that monitor the last time it was connected. With the HiDPI daemon, the 1600x900 resolution is always applied to the laptop screen (despite manually selecting a different resolution) and the monitor layout that was selected manually is also overridden. This means that every time I go to my desk and plug in an external display, I have to spend time manually applying my custom resolution settings. Before the HiDPI daemon, GNOME would re-apply the previous settings.

Steps to reproduce (if you know)
1.) Set custom resolution for your laptop display with NO external display attached (I use 1080p with 100% scaling)
2.) Plug in an external display, keep the laptop open (I used HDMI)
3.) Notice that the resolution of the laptop display will change, even though you manually selected a specific resolution for it
4.) In the GNOME settings utility, customize the external screen resolution (change which side of the laptop screen its on, its resolution, etc)
5.) Disconnect the display
6.) Notice that the laptop display resolution will change again
7.) Notice the custom resolution/layout you chose for the display in step #4 is not reapplied here, you have to do this again

Expected behavior
By default, GNOME remembers the previously selected resolution, and reapplies it. If you connect an external display, GNOME remembers the resolution and layout you set for it, and re-applies that as well. The HiDPI daemon basically circumvents GNOME's default behavior, and puts the burden on the user to readjust the display settings every time there is a change.

Add tests to firmware.py

To prevent regressions and enforce correctness, add unit tests to system76driver/firmware.py. Test that invalid checksums and signatures are correctly handled, and that it will always select the correct firmware for a device or fail.

platform.dist() removed in Python 3.8

Issue/Bug Description:

System76-driver will not launch due to platform.dist() and platform.linux_distribution() functions having been removed from the platform module with the release of Python 3.8.

Steps to reproduce (if you know):

Using Python version 3.8:

$ python --version
Python 3.8.0

Running sudo system76-driver results in:

Traceback (most recent call last):
  File "/usr/bin/system76-driver", line 62, in <module>
    log.info('OS: %r', platform.dist())
AttributeError: module 'platform' has no attribute 'dist'

Expected behavior:

System76-driver should simply run normally.

Other Notes:

The Python docs on platform state that this command has been replaced with those from the distro package. (See the API docs on distro).

Since platform.linux_distribution() is already being deprecated with the release of Python 3.5, we might want to update this.

System76 Driver does not launch on "Pop on Wayland" session

Distribution (run cat /etc/os-release): Pop!_OS 18.04

Related Application and/or Package Version (run apt policy $PACKAGE NAME): everything is up-to-date as of today; I'm happy to check exactly what versions everything is using but it's slightly inconvenient because I've rebooted into Qubes in order to access GitHub. Let me know if that's the case and I'll happily edit.

Issue/Bug Description:

Trying to launch the System76 Driver while logged into the "Pop on Wayland" session does not do anything after the password prompt (the Driver does not launch). Running system76-driver-pkexec
causes the same behavior and also prints a message about not being able to open the X display. $DISPLAY is set to :0 and running xclock works as expected, confirming that Xwayland is functioning correctly.

This bug also affects the System76 Firmware Updater, but I'm not 100% sure where to report bugs for that. I'm happy to open another issue if desired.

system76-driver can't be installed in Focal

Distribution (run cat /etc/os-release):
NAME="Ubuntu"
VERSION="20.04 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu Focal Fossa (development branch)"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

Related Application and/or Package Version (run apt policy $PACKAGE NAME):
Installed: (none)
Candidate: 20.04.4158628191420.0406c879edev
Version table:
20.04.4158628191420.0406c879edev 1001
1001 http://ppa.launchpad.net/system76-dev/stable/ubuntu focal/main amd64 Packages
1001 http://ppa.launchpad.net/system76-dev/stable/ubuntu focal/main i386 Packages

Issue/Bug Description:

The system76-driver is not able to install in Focal.

Steps to reproduce (if you know):

$ LC_ALL=C sudo apt install system76-driver
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
system76-driver : Depends: system76-acpi-dkms but it is not installable
Depends: system76-dkms but it is not installable
Depends: system76-io-dkms but it is not installable
Depends: system76-oled but it is not installable
Depends: system76-wallpapers but it is not installable
Recommends: hidpi-daemon but it is not installable
E: Unable to correct problems, you have held broken packages.

Expected behavior:

Other Notes:

[xenial, artful, bionic, cosmic]: Clarify unsupported future System76 hardware

Currently, System76 devices that are unsupported will show up as:

Product: Non System76 Product
Model: nonsystem76

With an error message:

Not a System76 product, nothing to do!

Instead, they should show up with the correct Product and Model, but a different error message, such as:

Unsupported System76 product, nothing to do!

19.04: Application fails to launch

Distribution (run cat /etc/os-release):
Pop!_OS 19.04

Issue/Bug Description:
System76 firmware application fails to launch. I tried selecting the .desktop file as well as executing system76-firmware and system76-firmware-pkexec from the command line. The follow is the error log messages I get.

Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]: 2019-02-02 19:13:50,946  ERROR  Error calling _run_firmware_updater()
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]: Traceback (most recent call last):
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]:   File "/usr/lib/python3/dist-packages/dbus/bus.py", line 175, in activate_name_owner
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]:     return self.get_name_owner(bus_name)
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]:   File "/usr/lib/python3/dist-packages/dbus/bus.py", line 361, in get_name_owner
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]:     's', (bus_name,), **keywords)
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]:   File "/usr/lib/python3/dist-packages/dbus/connection.py", line 651, in call_blocking
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]:     message, timeout)
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.NameHasNoOwner: Could not get owner of name 'com.system76.FirmwareDaemon': no such name
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]: During handling of the above exception, another exception occurred:
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]: Traceback (most recent call last):
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]:   File "/usr/lib/python3/dist-packages/system76driver/firmware.py", line 457, in run_firmware_updater
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]:     ret = _run_firmware_updater(reinstall, notification)
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]:   File "/usr/lib/python3/dist-packages/system76driver/firmware.py", line 404, in _run_firmware_updater
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]:     proxy = bus.get_object('com.system76.FirmwareDaemon', '/com/system76/FirmwareDaemon')
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]:   File "/usr/lib/python3/dist-packages/dbus/bus.py", line 241, in get_object
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]:     follow_name_owner_changes=follow_name_owner_changes)
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]:   File "/usr/lib/python3/dist-packages/dbus/proxies.py", line 248, in __init__
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]:     self._named_service = conn.activate_name_owner(bus_name)
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]:   File "/usr/lib/python3/dist-packages/dbus/bus.py", line 180, in activate_name_owner
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]:     self.start_service_by_name(bus_name)
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]:   File "/usr/lib/python3/dist-packages/dbus/bus.py", line 278, in start_service_by_name
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]:     'su', (bus_name, flags)))
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]:   File "/usr/lib/python3/dist-packages/dbus/connection.py", line 651, in call_blocking
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]:     message, timeout)
Feb 02 19:13:50 pop-os system76-firmware.desktop[2090]: dbus.exceptions.DBusException: org.freedesktop.DBus.Error.ServiceUnknown: The name com.system76.FirmwareDaemon was not provided by any .service files

requirements.txt

Hi,

is there any chance to have requirements mentioned in a single file? (so I can do pip install -r requirements.txt).

Link to system76.com does not launch website in browser

Related Application and/or Package Version (run apt policy $PACKAGE NAME):
18.04.30

Issue/Bug Description:
Under the About page, the link to www.system76.com returns an error:

Running Firefox as root in a regular user's session is not supported. 
($XAUTHORITY is /run/user/29999/gdm/Xauthority which is owned by `username`.)

PulseAudio sometimes fails to load modules

USB audio microphone and S/PDIF output on Mega/Major sometimes do not work.

PulseAudio fails to load the ALSA sink/source modules for the devices. This can be seen in the output from:

systemctl status --user pulseaudio

A workaround is to kill Pulse and let it restart itself.

pulseaudio -k

Ref: #138
Ref: #140

No Audio output from my speakers

Distribution (run cat /etc/os-release):

VERSION="20.10"
ID=pop
ID_LIKE="ubuntu debian"
PRETTY_NAME="Pop!_OS 20.10"
VERSION_ID="20.10"
HOME_URL="https://pop.system76.com"
SUPPORT_URL="https://support.system76.com"
BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=groovy
UBUNTU_CODENAME=groovy
LOGO=distributor-logo-pop-os

Related Application and/or Package Version (run apt policy $PACKAGE NAME):
Chrome youtube, spotify

Issue/Bug Description:

Hi i am getting no sound at all from my speakers that are connected to a line-out connector on my desktop computer. Same setup works fine on when i dual boot to windows 10.

Here is my hardware specs:

- AMD Ryzen Threadripper 3960X 24-Core Processor
- 128gb ddr4 ram
- Asus ROG ZENITH 2 EXTREME Motherboard
- M.2 4Tb SSD DRIVE.
- NVIDIA 2080TI Gpu
- Pop OS 20.10
- ASUS PA32UC-K 32 Inch Professional Monitor

The audio only works through the headphone jack of my desktop or through my 4k monitor display connected via displayPort.

I tried following the guide/troubleshoot here https://support.system76.com/articles/audio/ and installed pulseAudio volume controler and tried to manually select the line-out output and still no sound is coming out of it

Steps to reproduce (if you know):
Play any media with sound output from chrome or spotify or any other program that outputs sound

Expected behavior:
Play the sound through my line-out connected speakers

Other Notes:
Works if i set the audio output to my 4k monitor speakers or the headphone jack connected to my computer destop

My alsa-info http://alsa-project.org/db/?f=ad7926a7f5fd307d7484fcfb600f7c0d0b6df446

List of audio devices in my computer:

	Subsystem: NVIDIA Corporation TU102 High Definition Audio Controller
	Flags: bus master, fast devsel, latency 0, IRQ 159, IOMMU group 28
	Memory at e1080000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: <access denied>
	Kernel driver in use: snd_hda_intel
	Kernel modules: snd_hda_intel

--
25:00.4 Audio device: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller
	Subsystem: ASUSTeK Computer Inc. Starship/Matisse HD Audio Controller
	Flags: fast devsel, IRQ 255, IOMMU group 33
	Memory at e1400000 (32-bit, non-prefetchable) [disabled] [size=32K]
	Capabilities: <access denied>
	Kernel modules: snd_hda_intel

Template message when run on a nonsystem76 product is unnecessary

Issue/Bug Description:

Currently under the driver installation details the following message is shown.

{Long list of items}
{You should not see any of these}
{Still seeing them?}
{If so, you have something very wrong with your driver code}
{You should contact support}

Action item
Remove message.

Documentation request

**Hardware: **
Few System76 Oryx pro 4 laptops with GTX 1070 Max-Q that run on Ubuntu 16.04 LTS.

Distribution (run cat /etc/os-release):

$ cat /etc/os-release
NAME="Ubuntu"
VERSION="16.04.6 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04.6 LTS"
VERSION_ID="16.04"
HOME_URL="http://www.ubuntu.com/"
SUPPORT_URL="http://help.ubuntu.com/"
BUG_REPORT_URL="http://bugs.launchpad.net/ubuntu/"
VERSION_CODENAME=xenial
UBUNTU_CODENAME=xenial

Related Application and/or Package Version (run apt policy $PACKAGE NAME):
Not compatible on Ubuntu 16.04.

Issue/Bug Description:
There is no information for System76 laptop owners to build the drivers.

Steps to reproduce (if you know):
There is no documentation for System76 customers to build the driver packages for their System76 laptops. System76 doesn't provide ppa for driver installation in Ubuntu 16.04.

Expected behavior:
Could you provide build instruction/documentation so that System76 laptop owner can build the driver by themselves? Thank you.

Other Notes:

HiDPI Daemon Puts All Applications on a single Workspace

Reporter info

 * Distribution - Ubuntu 17.10 64-bit
 * Related Application and/or Package Version - system76-driver 17.10.11

Issue/Bug Description
Normally, when you are working with multiple displays, GNOME will move applications back to the monitor they were on when you reattach a display. With the HiDPI driver, all applications are placed on a single workspace, forcing the user to manually drag all the applications manually back to the desired workspace.

Steps to reproduce (if you know)
1.) Attach an external display
2.) Open several applications, but them on different workspaces
3.) Remove the external display, then reattach it
4.) All the applications you had open are now on a single workspace

Expected behavior
By default, GNOME will place applications back to the workspace they were on before disconnecting the display. The HiDPI driver circumvents this GNOME feature and forces users to do this manually.

security & privacy: do not collect all output from journalctl & syslog

I reported this some months ago to customer support when I tried to get support for my ongoing system lockups with the CPU fan pinned at full when closing the lid, resolved only by a power cycle. These are still occurring but I've decided to just shut down my laptop when not in use, hoping it's resolved some point in the future. There may be additional context for this issue in my ticket history if you wish to look it up.

Issue/Bug Description:
The system76 drivers bug reporting collects the log output of all the users system services and full syslog output.

SubProcess.check_call(['journalctl', '--since', 'yesterday'], stdout=fp)
- These are generated without user consent, but only uploaded after confirmation based on what I see in:
tgz = create_logs(self.args.home)

My issues with this practice are:

  1. Security - It appears the files are copied to the home directory using default permissions that would make them world readable, based on that gtk message. This means that low privileged users (not in the systemd-journal) for journal, users without (syslog or adm) membership for syslog can get full journal & syslog access leaking potential configuration details. I understand on a workstation this is less of a concern than a server environment, but they should still be taken into consideration and be violated only with necessity.

  2. Privacy - While they are not automatically uploaded, not all users may understand how wide reaching the report may be. If they are frustrated or in a rush to get their system working they may not bother trying to audit the contents. These files may contain very personal information, PII data, it's impossible to assert with absolute certainty that PKI, PCI, or any other strictly regulated data may not end up in these files on a developers machine.

Steps to reproduce (if you know):
Look at source control.

Expected behavior:
System76 does not collect all system information by default, instead maintains a whitelist of very granular rules constrained by [systemd unit, pattern] known to be useful for diagnosis. This negates both security and privacy concerns. I don't think there is any other option.

A new apt update on 2-8-2019 broke my system and it isn't booting and on a loop showing ubuntu 19.04.

Distribution (run cat /etc/os-release):
NAME="Pop!_OS"
VERSION="19.04"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Pop!_OS 19.04"
VERSION_ID="19.04"
HOME_URL="https://system76.com/pop"
SUPPORT_URL="http://support.system76.com"
BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=disco
UBUNTU_CODENAME=disco
Related Application and/or Package Version (run apt policy $PACKAGE NAME):

Issue/Bug Description:
After an update in the pop shop on 2-8-2019(IST), I've not been able to boot into my pop-os - current for some reason. although when I go into pop_os-oldkernel ( as I upgraded from 18.04 to 19.04) it booted normally but that might be because it was running on intel graphics and not on my GPU.
Steps to reproduce (if you know):

Expected behavior:
The system is supposed to boot up

Other Notes:
Please check this video out for a demo of what i'm facing.
link: https://photos.app.goo.gl/mwX8ahUdgr1ZBgDb9
I pressed the end key instead of the down arrow key while inserting nomodset. If i typed nomodset after pressing down arrow till I reach the end then it boots but still with the ubuntu loading screen and patches of purple underneath.

P.S : I really didn't know where to post this issue so i'm posting here and in the nvidia-drivers section.

Cannot install Firmware updates on i3 WM

Reporter info

 › cat /etc/os-release
NAME="Ubuntu"
VERSION="17.10 (Artful Aardvark)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 17.10"
VERSION_ID="17.10"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=artful
UBUNTU_CODENAME=artful

 › apt policy system76-driver
system76-driver:
  Installed: 17.10.18
  Candidate: 17.10.18
  Version table:
 *** 17.10.18 500
        500 http://ppa.launchpad.net/system76-dev/stable/ubuntu artful/main amd64 Packages
        500 http://ppa.launchpad.net/system76-dev/stable/ubuntu artful/main i386 Packages
        100 /var/lib/dpkg/status

Issue/Bug Description

Trying to install firmware does not work and results in a backtrace from Python. The service running in the background crashes on startup with the same error.

 › sudo system76-firmware
2018-02-13 07:57:14,801  INFO  Verified manifest signature...
2018-02-13 07:57:14,802  INFO  Fetching bd6f74a479ebaed9d83aac2a9d3149b8410aa57ec70a22a53e5b25bd92c0846bb2708085d76fabb3893ac5fe126b73a1 with cache /var/cache/system76-firmware
2018-02-13 07:57:14,804  INFO  Fetching b5a329d651087b0027a58bda120317cc28102ebcda888c41c2f421e1d46336f422532af10b02a7602ca4420057696994 with cache /var/cache/system76-firmware
2018-02-13 07:57:14,838  INFO  Fetching 510f23b8dcf1d5f324ae67a9a1dd99e24ef0e0eb815b1e14d7bc810101383f689f0f8169fbce48ebbc77c3c1a84cedd8 with cache /var/cache/system76-firmware
2018-02-13 07:57:16,030  INFO  Verified manifest signature...
2018-02-13 07:57:16,030  INFO  Fetching bd6f74a479ebaed9d83aac2a9d3149b8410aa57ec70a22a53e5b25bd92c0846bb2708085d76fabb3893ac5fe126b73a1 with cache /var/cache/system76-firmware
2018-02-13 07:57:16,032  INFO  Fetching b5a329d651087b0027a58bda120317cc28102ebcda888c41c2f421e1d46336f422532af10b02a7602ca4420057696994 with cache /var/cache/system76-firmware
2018-02-13 07:57:16,063  INFO  Fetching 510f23b8dcf1d5f324ae67a9a1dd99e24ef0e0eb815b1e14d7bc810101383f689f0f8169fbce48ebbc77c3c1a84cedd8 with cache /var/cache/system76-firmware
2018-02-13 07:57:16,231  ERROR  Error calling _run_firmware_updater()
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/system76driver/firmware.py", line 722, in run_firmware_updater
    ret = _run_firmware_updater(reinstall, notification)
  File "/usr/lib/python3/dist-packages/system76driver/firmware.py", line 688, in _run_firmware_updater
    if confirm_dialog(data) == 76:
  File "/usr/lib/python3/dist-packages/system76driver/firmware.py", line 482, in confirm_dialog
    user_name, display_name, environ = get_user_session()
  File "/usr/lib/python3/dist-packages/system76driver/firmware.py", line 452, in get_user_session
    user_session_pids = subprocess.check_output(['pgrep', '-P', user_pid]
  File "/usr/lib/python3.6/subprocess.py", line 336, in check_output
    **kwargs).stdout
  File "/usr/lib/python3.6/subprocess.py", line 418, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['pgrep', '-P', '2524']' returned non-zero exit status 1.

Steps to reproduce (if you know)

  1. Use i3 WM as your window manager.
  2. Open a terminal.
  3. Run sudo system76-firmware

Expected behavior

  1. Installation proceeds according to plan.

Other Notes

Stepping through the code it looks like it is trying to find the first child process of the WM to get my current env. This seems to be a problem with i3 as it has no children.

› who -u
mange    tty7         2018-02-08 09:03  old         2524 (:0)
› pgrep -P 2524; echo $?
1
› pstree -s -p 2524
systemd(1)───lightdm(1551)───lightdm(1989)───i3(2524)

My desktop processes seem to live straight under systemd.

 › pgrep gnome-terminal | xargs pstree -s -p
systemd(1)───systemd(2512)───gnome-terminal-(8622)─┬─zsh(3024)
                                                   ├─zsh(11869)
                                                   ├─zsh(14904)───nvim(9476)─┬─python3(10472)
                                                   │                         └─{nvim}(9478)
                                                   ├─zsh(15107)
                                                   ├─zsh(15639)
                                                   ├─zsh(27585)───xargs(18287)───pstree(18288)
                                                   ├─{gnome-terminal-}(8623)
                                                   ├─{gnome-terminal-}(8624)
                                                   └─{gnome-terminal-}(8625)

Incorrect Operating System name

If this is a bug, please use the template below. If this is a question, or a general discussion topic - please post on our subreddit https://reddit.com/r/pop_os - as that is the proper forum for those types of posts.

Issue/Bug Description
On Pop!_OS 17.10 and early builds of 18.04, the system76-driver shows the OS to be Ubuntu {17.10,18.04} [codename]

Steps to reproduce (if you know)
Open system76-driver

Expected behavior
Display Pop!_OS {17.10,18.04}

`xbacklight` cannot control brightness

System info (inxi -SMGxxxz):

System:    Host: oryx-1 Kernel: 4.15.0-33-generic x86_64 bits: 64 gcc: 7.3.0
           Desktop: Gnome 3.28.3 (Gtk 3.22.30-1ubuntu1) info: gnome-shell dm: gdm3 Distro: Pop!_OS 18.04 LTS
Machine:   Device: laptop System: System76 product: Oryx Pro v: oryp4 serial: N/A  Chassis: type: 10 serial: N/A
           Mobo: System76 model: Oryx Pro v: oryp4 serial: N/A
           UEFI: American Megatrends v: 7.006S76 date: 05/18/2018
Graphics:  Card: Intel Device 3e9b bus-ID: 00:02.0 chip-ID: 8086:3e9b
           Display Server: x11 (X.Org 1.19.6 ) drivers: modesetting,nvidia (unloaded: fbdev,vesa,nouveau)
           Resolution: [email protected]
           OpenGL: renderer: Mesa DRI Intel HD Graphics (Coffeelake 3x8 GT2)
           version: 4.5 Mesa 18.0.5 (compat-v: 3.0) Direct Render: Yes

Related Application and/or Package Version (run apt policy $PACKAGE NAME):
xbacklight

Issue/Bug Description:
Setting the screen brightness with xbacklight has no effect. Keyboard brightness controls within gnome seem to work normally, but I don't know how it acheives that. I seem to recall this was also the same when I had nvidia active, but honestly I haven't double checked.

Steps to reproduce (if you know):
xbacklight -inc 20 or any other xbacklight command.

Expected behavior:
Backlight intensity changes.

Integrate driver functionality into Pop!_OS

Distribution (run cat /etc/os-release):
Pop!_OS 20.04

Related Application and/or Package Version (run apt policy $PACKAGE NAME):
system76-driver

Issue/Bug Description:
system76-driver functionality should be integrated natively into Pop!_OS, making the system76-driver only necessary for customers running Ubuntu.

TODO

  • Determine which features are necessary to keep
  • Where should features be integrated?
  • Integrate features!

HiDPI state reverts and gets out of sync when resuming from suspend

Reporter info

NAME="Pop!_OS"
VERSION="17.10 (Artful Aardvark)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Pop!_OS 17.10 (Artful Aardvark)"
VERSION_ID="17.10"
HOME_URL="https://system76.com/pop"
SUPPORT_URL="http://support.system76.com/"
BUG_REPORT_URL="https://github.com/system76/pop-distro/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=artful
UBUNTU_CODENAME=artful

Issue/Bug Description

When I'm in LoDPI mode on my Galago Pro (galp2) and resume from suspend, it reverts to HiDPI Mode even though the notification still says it's in LoDPI Mode. Clicking the LoDPI Mode notification doesn't change the scaling, but does dismiss it and trigger the HiDPI Mode notification. Then clicking the notification changes back to LoDPI mode as it should.

Steps to reproduce (if you know)

  1. Get a galp2 and set to LoDPI Mode
  2. Close the laptop to suspend
  3. Open the laptop and log back in

Expected behavior

The laptop is still in LoDPI mode, and the notifications are still in sync with the scaling state.

Actual behavior

The laptop reverts to HiDPI mode, but the notification still incorrectly says it's in LoDPI Mode.

system76-driver creating endless login loop

Reporter info

 * Distribution - (run ```cat /etc/os-release```)
$ cat /etc/os-release
NAME="Pop!_OS"
VERSION="17.10 (Artful Aardvark)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Pop!_OS 17.10 (Artful Aardvark)"
VERSION_ID="17.10"
HOME_URL="https://system76.com/pop"
SUPPORT_URL="http://support.system76.com/"
BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=artful
UBUNTU_CODENAME=artful
  • Related Application and/or Package Version - apt policy $PACKAGE NAME
$ apt policy system76-driver
system76-driver:
  Installed: (none)
  Candidate: 17.10.24
  Version table:
     17.10.24 500
        500 http://ppa.launchpad.net/system76-dev/stable/ubuntu artful/main amd64 Packages
        500 http://ppa.launchpad.net/system76-dev/stable/ubuntu artful/main i386 Packages

Issue/Bug Description
When system76-driver is installed I can no longer login to my laptop. Instead I login, the screen flashes, and then I'm booted directly back to the login screen. I suspect it has something to do with the HiDPI bit of the driver because if I login with a secondary monitor then the login succeeds. I also suspect that it's the driver because upon removing it I was able to log back into my computer.

Steps to reproduce (if you know)
galp2+latest packages. turn on your machine, go to login, it will kick you back out to the login screen.

Expected behavior

I should be able to have the driver installed and login to the host.

Other Notes

Happy to get you any logs you want, just wasn't sure what would be helpful, syslog didn't seem terribly helpful. Also more than happy to film this issue and upload it to YouTube for proof.

Oryx4-b Backlight Control Issue/DPCD PWM Reset

Distribution (run cat /etc/os-release):
NAME="Ubuntu"
VERSION="18.04.1 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04.1 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic

Related Application and/or Package Version (run apt policy $PACKAGE NAME):
system76-driver:
Installed: 18.04.27153368034318.04e74d1c2dev
Candidate: 18.04.27153368034318.04e74d1c2dev
Version table:
*** 18.04.27153368034318.04e74d1c2dev 500
500 http://ppa.launchpad.net/system76-dev/stable/ubuntu bionic/main amd64 Packages
500 http://ppa.launchpad.net/system76-dev/stable/ubuntu bionic/main i386 Packages
100 /var/lib/dpkg/status

But I have installed Pop-OS, just to test this, and it repros exactly the same. I normally run with gnome-session, but I have tried without and that also does not help.

Issue/Bug Description:
On Oryx4-b (only) the System76 driver adjusts a mode byte (function apply_dpcd_pwm_fix in daemon.py). It does this repeatedly, in case it resets itself.

But this driver stops trying to do this after 60 seconds. After that, if the mode resets the backlight goes to max brightness, and all brightness controls (except xrandr --brightness, oddly) cease to have any effect.

There are many things that can cause this mode to reset.

Steps to reproduce (if you know):
You need to wait at least 60 seconds after logging in before attempting to repro this.

After that, you can put the computer to sleep and awaken it, and that will usually trigger this. Changing screen resolutions can also trigger it, but I find it sometimes takes several tries for this to work.

The Linux port of Doom 3 (package dhewm3) triggers this issue for more almost every time I start it; I note that I play this game at a lower-than-native-resolution due to the game's aspect ratio issue. Also note that the game actually has to start, so you do need the Doom 3 data files installed to repro this way. But if you can play Doom 3 like this, it's the most reliable repro. Even this is not 100% guaranteed.

Expected behavior:
Ideally, the Oryx4 should not go to max brightness unless commanded by the user, and the brightness controls should all always affect the screen brightness.

Looking at the code, my expectations are a bit lower- events that trigger this problem will cause the laptop to go to max brightness for at most 3 seconds, then resume normal function. Brightness controls should work again after normal service is resumed.

Other Notes:
I've been working with System76 support on this issue.

You can restore proper backlight function temporarily by restarting the System76 driver, via 'systemctl restart system76-driver.service'. After 60 seconds, you will again be able repro.

I found a workaround for this; the relevant code for this is installed at /usr/lib/python3/dist-packages/system76driver/daemon.py. Edit this file and find line 627, which is "if nhash != chash:"; change this to "if True:" instead (preserve the indentation though, because Python). This defeats the check on the login.sessions (whatever they are) and keeps restarting the 60-second loop forever.

Now, if the mode ever changes, it will be reset within 3 seconds or so. Of course, this is terribly poll-tastic, and will waste a tiny bit of CPU while it keeps Python 3 resident in memory forever. This is still much better than a busted backlight.

GNOME crashes whenever I disconnect an external display

  • Distribution:
VERSION="17.10 (Artful Aardvark)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Pop!_OS 17.10 (Artful Aardvark)"
VERSION_ID="17.10"
HOME_URL="https://system76.com/pop"
SUPPORT_URL="http://support.system76.com/"
BUG_REPORT_URL="https://github.com/pop-os/pop/issues"
PRIVACY_POLICY_URL="https://system76.com/privacy"
VERSION_CODENAME=artful
UBUNTU_CODENAME=artful
  • Related Application and/or Package Version:
    system76-driver (HiDPI daemon)

Issue/Bug Description
GNOME crashes most of the time I disconnect an external display. When this crash happens, every application I have open is lost and I lost all of my work. This happens at least 3/5 times I disconnect my external display. When I disable the HiDPI daemon, this issue goes away. This is on a Galago Pro.

Steps to reproduce (if you know)
1.) Set the laptop such that you have an external display, keyboard, mouse and power cable attached.
2.) Make sure the lid is closed.
3.) While using the external display as the only display, open some apps on various workspaces (For example, thunderbird on one workspace and firefox on the second)
4.) Disconnect the external display and power cable
5.) Once the laptop has entered suspend mode, open the lid
6.) GNOME will crash, all applications are closed and all work is lost
7.) If for some reason GNOME survives and doesn't crash, repeat steps 1-6 four or five times, it will crash at some point.

Expected behavior
GNOME shouldn't crash when disconnecting a monitor

Other Notes
I have tried the latest updates and still have the issue.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.