sway

i3-compatible Wayland compositor
git clone https://git.awy.one/sway
Log | Files | Refs | README | LICENSE

commit c31aef7ad1c693bc5d13bc73a338c92b8c955979
parent 0b5fb238219ba55533c4ed3931f6c7bc85e8506d
Author: Drew DeVault <sir@cmpwn.com>
Date:   Mon, 14 Aug 2017 16:35:25 -0400

Merge pull request #1327 from refacto/rpifix

Detecting Raspberry PIs and advising to use correct video mode
Diffstat:
Msway/main.c | 41+++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+), 0 deletions(-)

diff --git a/sway/main.c b/sway/main.c @@ -53,6 +53,46 @@ static void wlc_log_handler(enum wlc_log_type type, const char *str) { } } +void detect_raspi() { + bool raspi = false; + FILE *f = fopen("/sys/firmware/devicetree/base/model", "r"); + if (!f) { + return; + } + char *line; + while(!feof(f)) { + if (!(line = read_line(f))) { + break; + } + if (strstr(line, "Raspberry Pi")) { + raspi = true; + } + free(line); + } + fclose(f); + FILE *g = fopen("/proc/modules", "r"); + if (!g) { + return; + } + bool vc4 = false; + while (!feof(g)) { + if (!(line = read_line(g))) { + break; + } + if (strstr(line, "vc4")) { + vc4 = true; + } + free(line); + } + fclose(g); + if (!vc4 && raspi) { + fprintf(stderr, "\x1B[1;31mWarning: You have a " + "Raspberry Pi, but the vc4 Module is " + "not loaded! Set 'dtoverlay=vc4-kms-v3d'" + "in /boot/config.txt and reboot.\x1B[0m\n"); + } +} + void detect_proprietary() { FILE *f = fopen("/proc/modules", "r"); if (!f) { @@ -366,6 +406,7 @@ int main(int argc, char **argv) { log_distro(); log_env(); detect_proprietary(); + detect_raspi(); input_devices = create_list();