Compare commits
2 commits
Author | SHA1 | Date | |
---|---|---|---|
2aedbced66 | |||
7af9381e6e |
4 changed files with 21 additions and 11 deletions
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
|||
pkg/
|
||||
src/
|
||||
sway-dynamic-*/
|
||||
sway-dynamic-*.pkg.tar.zst
|
4
PKGBUILD
4
PKGBUILD
|
@ -1,13 +1,13 @@
|
|||
# Maintainer redxef <redxef@redxef.at>
|
||||
pkgname=sway-dynamic
|
||||
pkgver=1.0.0
|
||||
pkgver=1.0.1
|
||||
pkgrel=1
|
||||
pkgdesc="Helper files to dynamically launch sway for NVIDIA comaptibility or not"
|
||||
arch=('any')
|
||||
url="https://gitea.redxef.at/redxef/sway-dynamic"
|
||||
license=('MIT')
|
||||
depends=('sway' 'sway-nvidia')
|
||||
source=("$pkgname-$pkgver::git+$url.git#tag=$pkgver")
|
||||
source=("$pkgname-$pkgver::git+$url.git#tag=v$pkgver")
|
||||
sha256sums=('SKIP')
|
||||
|
||||
package() {
|
||||
|
|
11
README.md
11
README.md
|
@ -4,11 +4,6 @@ Dynamically switch between sway and sway-nvidia based on active gpu.
|
|||
|
||||
## Usage
|
||||
|
||||
When booting a GPU set the environment variable `GPUMODE=<driver>` with something
|
||||
like `systemd.setenv=GPUMODE=<driver>`. The script will decide how to
|
||||
launch sway depending on this variable. Possible values:
|
||||
|
||||
- `nvidia`
|
||||
- `nouveau`
|
||||
|
||||
|
||||
Blacklist the module which should not be loaded on boot, the script
|
||||
detects if the `nvidia` or `nouveau` driver is loaded and either calls
|
||||
`sway-nvidia` or `sway`.
|
||||
|
|
13
sway-dynamic
13
sway-dynamic
|
@ -1,6 +1,17 @@
|
|||
#!/bin/sh
|
||||
|
||||
if [ "$GPUMODE" = 'nvidia' ]; then
|
||||
active_module() {
|
||||
if [ -n "$(lsmod | grep "nvidia")" ]; then
|
||||
echo "nvidia"
|
||||
elif [ -n "$(lsmod | grep "nouveau")" ]; then
|
||||
echo nouveau
|
||||
else
|
||||
# no nvidia modules loaded
|
||||
echo ""
|
||||
fi
|
||||
}
|
||||
|
||||
if [ "$(active_module)" = 'nvidia' ]; then
|
||||
exec sway-nvidia
|
||||
else
|
||||
exec sway
|
||||
|
|
Loading…
Add table
Reference in a new issue