9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* [9fans] Adjust Thinkpad Screen Brightness
@ 2023-05-28 16:36 zxcdewqa8
  2023-05-28 19:17 ` ori
  0 siblings, 1 reply; 15+ messages in thread
From: zxcdewqa8 @ 2023-05-28 16:36 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 309 bytes --]

Hi

Is there anyway to adjust my laptop's (T440P) screen brightness?

Thanks!
------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T4c4247ec1c0429f6-Mddb19e0d176d22e4977fe3ef
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 861 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Adjust Thinkpad Screen Brightness
  2023-05-28 16:36 [9fans] Adjust Thinkpad Screen Brightness zxcdewqa8
@ 2023-05-28 19:17 ` ori
  2023-05-29  2:36   ` Anthony Martin
  0 siblings, 1 reply; 15+ messages in thread
From: ori @ 2023-05-28 19:17 UTC (permalink / raw)
  To: 9fans

Quoth zxcdewqa8@gmail.com:
> Hi
> 
> Is there anyway to adjust my laptop's (T440P) screen brightness?
> 
> Thanks!

not nicely integrated. Depending on your card, something like
this may work:

        #!/bin/rc
        # SBLC_PWM_CTL2: bytes 15:0, range 0 (off) to v>>16 (full)
        
        if(! ~ $#* 1){
                echo usage: $0 factor
                exit 'usage'
        }
        echo -n type igfx > /dev/vgactl
        v=`{seg -Lr igfxmmio 0x400000 0xc8254}
        if(~ $#v 0)
                exit 'no such named segment'
        v=`{echo 'v='$v'; v & ~0xffff | ((v>>16) / '$1')' | pc -n}
        if(! ~ $#v 1)
                exit 'invalid factor'
        sleep 0.1
        seg -Lw igfxmmio 0x400000 0xc8254 $v

You'll have to figure out where the backlight PWM register is
on your model of video card if this doesn't just work out of
the box.


------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T4c4247ec1c0429f6-Mc5341681965ce6a9c895bf53
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Adjust Thinkpad Screen Brightness
  2023-05-28 19:17 ` ori
@ 2023-05-29  2:36   ` Anthony Martin
  2023-05-30  4:25     ` zxcdewqa8
  0 siblings, 1 reply; 15+ messages in thread
From: Anthony Martin @ 2023-05-29  2:36 UTC (permalink / raw)
  To: 9fans

ori@eigenstate.org once said:
> not nicely integrated. Depending on your card, something like
> this may work:
>
> [...]
>
> You'll have to figure out where the backlight PWM register is
> on your model of video card if this doesn't just work out of
> the box.

Konstantinn wrote a version of your script with predetermined
register addresses for a bunch of cards:

https://shithub.us/qwx/rc/98421abf7681f7ae8d49c4e4e82ffbdc6b215ef6/bin/br/raw

Cheers,
  Anthony

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T4c4247ec1c0429f6-M46e9148d59fdc4150c3f21d9
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Adjust Thinkpad Screen Brightness
  2023-05-29  2:36   ` Anthony Martin
@ 2023-05-30  4:25     ` zxcdewqa8
  2023-06-07  7:01       ` plan6
  0 siblings, 1 reply; 15+ messages in thread
From: zxcdewqa8 @ 2023-05-30  4:25 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 310 bytes --]

Using Ori's script works on my Thinkpad T440P, but one small change (
0x48254).

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T4c4247ec1c0429f6-M17c05978051c3a6700c4f228
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 1236 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Adjust Thinkpad Screen Brightness
  2023-05-30  4:25     ` zxcdewqa8
@ 2023-06-07  7:01       ` plan6
  2023-06-07 21:27         ` mkf9
  0 siblings, 1 reply; 15+ messages in thread
From: plan6 @ 2023-06-07  7:01 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 458 bytes --]

Hello :) None of them seems to work on my thinkpad x230 with coreboot. All I get is a black screen, whatever the number I enter in each script (1 to 8 for Ori's, percentage for Konstantinn). Any help would be really appreciated :)
------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T4c4247ec1c0429f6-M650bf59563bac7c4ac17ff3d
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 956 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Adjust Thinkpad Screen Brightness
  2023-06-07  7:01       ` plan6
@ 2023-06-07 21:27         ` mkf9
  2023-06-07 21:42           ` unobe
  0 siblings, 1 reply; 15+ messages in thread
From: mkf9 @ 2023-06-07 21:27 UTC (permalink / raw)
  To: 9fans

Hi.
likely x230's coreboot mises something, as brightness buttons doesn't 
work either on 9front, while they do work with stock bios.

plan6@room3420.net wrote:
> Hello :) None of them seems to work on my thinkpad x230 with coreboot. All I get is a black screen, whatever the number I enter in each script (1 to 8 for Ori's, percentage for Konstantinn). Any help would be really appreciated :)

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T4c4247ec1c0429f6-Mffb823da0226f797b3efbac4
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Adjust Thinkpad Screen Brightness
  2023-06-07 21:27         ` mkf9
@ 2023-06-07 21:42           ` unobe
  2023-06-07 22:57             ` Anthony Martin
  0 siblings, 1 reply; 15+ messages in thread
From: unobe @ 2023-06-07 21:42 UTC (permalink / raw)
  To: 9fans

Quoth mkf9 <mkf9@riseup.net>:
> likely x230's coreboot mises something, as brightness buttons doesn't 
> work either on 9front, while they do work with stock bios.

Confirmed on my x230 as well--the scripts do not work.

But for me, if I press the 'fn' key and then the brightness buttons,
they do indeed work.  I reviewed the data sheet and the scripts should
work, but does not.


------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T4c4247ec1c0429f6-M6322276259c7ffefc69991fe
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Adjust Thinkpad Screen Brightness
  2023-06-07 21:42           ` unobe
@ 2023-06-07 22:57             ` Anthony Martin
  2023-06-08  7:16               ` plan6
                                 ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Anthony Martin @ 2023-06-07 22:57 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 1161 bytes --]

unobe@cpan.org once said:
> I reviewed the data sheet and the scripts should
> work, but does not.

The above scripts can work for some Intel cards
but probably not for all of them.

I wrote a program fifteen years ago to adjust the
brightness on an Intel MacBook from Linux. There
was a bit of experimentation involved to determine
register values that wouldn't cause problems. I've
attached it below.

Notice how I had to use a mask of 0xfffe instead
of 0xffff to keep the least significant bit zero
and how I had to be strict about maintaining the
maximum backlight level field when reading and
writing the register. I remember working through a
lot of blank and flickering screens before
arriving at something that worked.

I'm not near a machine with an Intel card at the
moment so I can't give you something that works on
Plan 9 but reading this old code may give you some
hints.

Cheers,
  Anthony

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T4c4247ec1c0429f6-M13bf569fd6da2483ff3c4074
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: lcd.c --]
[-- Type: text/plain, Size: 4866 bytes --]

#define _XOPEN_SOURCE 500
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <sys/mman.h>
#include <stdarg.h>
#include <string.h>
#include <errno.h>
#include <pci/pci.h>

typedef unsigned short	ushort;
typedef unsigned int	uint;

// A barebones representation of a PCI device.
typedef struct Pcidev Pcidev;
struct Pcidev {
	ushort     vid;  // PCI vendor ID.
	ushort     did;  // PCI device ID.
	pciaddr_t  bar;  // Physical address of the first BAR.
	size_t     size; // Size of the first BAR.
	char*      addr; // Mapped virtual address of the first BAR.
};

// Macros to read and write 32-bit PCI memory registers.
#define reg32r(p, r)    (*(uint*)((p)->addr+(r)))
#define reg32w(p, r, v)	(*(uint*)((p)->addr+(r)) = (v))

enum {
	// The PCI vendor and device ID for the Intel 945GM graphics chipset.
	Intel  = 0x8086,
	I945GM = 0x27a2,

	// The backlight PWM control register offset.
	Bctl = 0x061254,

	// The backlight duty cycle mask. The LSB must be zero.
	Bmask = 0xfffe,

	// The empirically observed range for valid brightness levels.
	Boff = 0x0000,
	Bmin = 0x003e,
	Bmax = 0x0128,

	// Without an explicit value, we increase or decrease by this
	// quantum so that there are only ten brightness levels.
	Bquant = (Bmax-Bmin)/(10-1),
};

// We don't expose the hardware-centric brightness levels to the user
// but instead shift the range down so it starts at one. These macros
// convert to and fro.
#define B(u)	(((u) == 0) ? Boff : (u)+Bmin-1)
#define U(b)	(((b) == Boff) ? 0 : (b)-Bmin+1)

// The set of operations that can be performed on the backlight.
enum {
	Onop = 1<<0,
	Oset = 1<<1,
	Oadd = 1<<2|Oset,
	Osub = 1<<3|Oset,
};

// The high sixteen bits of the opcode are only used for operations
// that require a numeric argument. These macros ease extraction.
#define OP(o)    ((o)&0xFFFF)
#define OPVAL(v) (((v)&0xFFFF)<<16)

char*	argv0;

void	fatal(char*, ...);
int	pcimatch(Pcidev*, int, int);

int
main(int argc, char *argv[])
{
	int o, fd, max, cur, new;
	char *s, *end;
	Pcidev p;

	// Determine which operation to perform.
	argv0 = argv[0];
	switch(argc){
	default:
		fprintf(stderr, "usage: %s [+-][val]\n", argv0);
		exit(EXIT_FAILURE);
	case 1:
		o = Onop;
		break;
	case 2:
		s = argv[1];
		if(*s == '+' || *s == '-'){
			o = (*s == '+') ? Oadd : Osub;
			s++;
		} else
			o = Oset;
		if(o != Oset && *s == '\0')
			o |= OPVAL(Bquant);
		else {
			o |= OPVAL(strtol(s, &end, 10));
			if(errno != 0 || end == s)
				fatal("invalid number");
		}
		break;
	}

	// Map the GPU device into memory so we can access the backlight register.
	if(pcimatch(&p, Intel, I945GM) < 0)
		fatal("pcimatch failed");
	fd = open("/dev/mem", O_RDWR);
	if(fd < 0)
		fatal("open /dev/mem failed");
	p.addr = mmap(NULL, p.size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, p.bar);
	if(p.addr == MAP_FAILED)
		fatal("map failed");
	close(fd);
	max = reg32r(&p, Bctl) >> 16;
	if(max != Bmax)
		fatal("invalid maximum: have %d want %d", max, Bmax);

	// Load the current brightness level and change it, if applicable.
	cur = reg32r(&p, Bctl) & Bmask;
	new = 0;
	switch(OP(o)){
	case Oset:
		new = B(o>>16);
		break;
	case Oadd:
		new = (cur == Boff) ? Bmin : cur + (o>>16);
		break;
	case Osub:
		new = (cur == Bmin) ? Boff : cur - (o>>16);
		break;
	}
	if(o & Oset){
		if(new < 0)
			new = Boff;
		if(new > 0){
			if(new < Bmin)
				new = Bmin;
			if(new > Bmax)
				new = Bmax;
		}
		reg32w(&p, Bctl, (new&Bmask)|(Bmax<<16));
		cur = reg32r(&p, Bctl) & Bmask;
	}

	// Unmap the device and print the current backlight level.
	munmap(p.addr, p.size);
	printf("%d/%d\n", U(cur), U(Bmax));
	return 0;
}

#define nil ((void*)0)

static struct pci_access* pciacc;
static struct pci_dev*    pcilist;

int
pcimatch(Pcidev* p, int vid, int did)
{
	static int pcicfgmode = -1;
	struct pci_access *a;
	struct pci_dev *prev;
	int req;

	if(pcicfgmode == -1){
		a = pci_alloc();
		if(a == nil)
			fatal("pci_alloc failed");
		pci_init(a);
		pci_scan_bus(a);
		pcilist = a->devices;
		pciacc = a;
		pcicfgmode = 0;
	}

	prev = pcilist;
	req = PCI_FILL_IDENT | PCI_FILL_BASES;
	pci_fill_info(prev, req);
	while(prev != nil){
		if((vid == 0 || prev->vendor_id == vid)
		&& (did == 0 || prev->device_id == did))
			break;
		prev = prev->next;
	}
	if(prev == nil)
		return -1;
	p->vid = prev->vendor_id;
	p->did = prev->device_id;

	p->bar = prev->base_addr[0] & PCI_ADDR_MEM_MASK;
	p->size = prev->size[0];
	pci_cleanup(pciacc);
	return 0;
}

void
fatal(char *fmt, ...)
{
	char buf[4096];
	va_list arg;
	int n;

	n = snprintf(buf, sizeof buf, "%s: ", argv0);
	va_start(arg, fmt);
	n += vsnprintf(buf+n, sizeof buf-n, fmt, arg);
	va_end(arg);
	if(errno)
		n += snprintf(buf+n, sizeof buf-n, ": %s", strerror(errno));
	n += snprintf(buf+n, sizeof buf-n, "\n");
	write(2, buf, n);
	exit(EXIT_FAILURE);
}

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Adjust Thinkpad Screen Brightness
  2023-06-07 22:57             ` Anthony Martin
@ 2023-06-08  7:16               ` plan6
  2023-06-08  7:53               ` unobe
  2023-06-08  8:08               ` plan6
  2 siblings, 0 replies; 15+ messages in thread
From: plan6 @ 2023-06-08  7:16 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 399 bytes --]

Well, I guess mkf9 is right.  Coreboot misses something. I hope I won't have to reinstall the original BIOS. I feel like a download progress bar on Windows. Stuck at 99%.
------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T4c4247ec1c0429f6-M441e064cdc62008e3de5a401
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 901 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Adjust Thinkpad Screen Brightness
  2023-06-07 22:57             ` Anthony Martin
  2023-06-08  7:16               ` plan6
@ 2023-06-08  7:53               ` unobe
  2023-06-08  8:12                 ` unobe
  2023-06-08  8:08               ` plan6
  2 siblings, 1 reply; 15+ messages in thread
From: unobe @ 2023-06-08  7:53 UTC (permalink / raw)
  To: 9fans

Quoth Anthony Martin <ality@pbrane.org>:
> unobe@cpan.org once said:
> > I reviewed the data sheet and the scripts should
> > work, but does not.
> 
> The above scripts can work for some Intel cards
> but probably not for all of them.

Thank you, Anthony.  That script helped me review the volumes again
and find out where the 'br' script is wrong.  It was just reading from
the wrong register for Ivy Bridge.  Here's the patch for qwx/rc's
branch, and it works like a charm now on my x230t.

From: Romano <unobe@cpan.org>
Date: Thu, 08 Jun 2023 07:49:37 +0000
Subject: [PATCH] Ivy Bridge uses South Display for reading brightness levels, per Vol. 3 Part 3 and 4 of Programmer's Reference

---
diff a9e9e008d4574c55fd9452de2cfc2cf9d964e7e5 d52fd7d1b16ce1e4f06607bfcec6859285077536
--- a/bin/br
+++ b/bin/br
@@ -29,8 +29,8 @@
        # works on x220, not on w520
        did["8086/0126","r"] = "0xc8254";  did["8086/0126","w"] = "0x48254"
        # ivy bridge
-       did["8086/0152","r"] = "0x48254";  did["8086/0152","w"] = "0x48254"
-       did["8086/0166","r"] = "0x48254";  did["8086/0166","w"] = "0x48254"
+       did["8086/0152","r"] = "0xc8254";  did["8086/0152","w"] = "0x48254"
+       did["8086/0166","r"] = "0xc8254";  did["8086/0166","w"] = "0x48254"
        # haswell
        did["8086/0412","r"] = "0xc8254";  did["8086/0412","w"] = "0x48254"
        did["8086/041a","r"] = "0xc8254";  did["8086/041a","w"] = "0x48254"


------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T4c4247ec1c0429f6-M7438e53aae9530c902ef75f6
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Adjust Thinkpad Screen Brightness
  2023-06-07 22:57             ` Anthony Martin
  2023-06-08  7:16               ` plan6
  2023-06-08  7:53               ` unobe
@ 2023-06-08  8:08               ` plan6
  2023-06-09  6:35                 ` zxcdewqa8
  2 siblings, 1 reply; 15+ messages in thread
From: plan6 @ 2023-06-08  8:08 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 323 bytes --]

Ô my ! It works. Thank you all. If you come to Marseille, France, any day, I owe you a beer :)
------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T4c4247ec1c0429f6-M0e2aa8e4f361e5d8c5ec3798
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 822 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Adjust Thinkpad Screen Brightness
  2023-06-08  7:53               ` unobe
@ 2023-06-08  8:12                 ` unobe
  0 siblings, 0 replies; 15+ messages in thread
From: unobe @ 2023-06-08  8:12 UTC (permalink / raw)
  To: 9fans

Note the patch is for both the Ivy Bridge listed devices, but mine
specifically is 8086/0166.  I'm curious if there's someone with 0152.

Quoth unobe@cpan.org:
> Quoth Anthony Martin <ality@pbrane.org>:
> > unobe@cpan.org once said:
> > > I reviewed the data sheet and the scripts should
> > > work, but does not.
> > 
> > The above scripts can work for some Intel cards
> > but probably not for all of them.
> 
> Thank you, Anthony.  That script helped me review the volumes again
> and find out where the 'br' script is wrong.  It was just reading from
> the wrong register for Ivy Bridge.  Here's the patch for qwx/rc's
> branch, and it works like a charm now on my x230t.
> 
> From: Romano <unobe@cpan.org>
> Date: Thu, 08 Jun 2023 07:49:37 +0000
> Subject: [PATCH] Ivy Bridge uses South Display for reading brightness levels, per Vol. 3 Part 3 and 4 of Programmer's Reference
> 
> ---
> diff a9e9e008d4574c55fd9452de2cfc2cf9d964e7e5 d52fd7d1b16ce1e4f06607bfcec6859285077536
> --- a/bin/br
> +++ b/bin/br
> @@ -29,8 +29,8 @@
>         # works on x220, not on w520
>         did["8086/0126","r"] = "0xc8254";  did["8086/0126","w"] = "0x48254"
>         # ivy bridge
> -       did["8086/0152","r"] = "0x48254";  did["8086/0152","w"] = "0x48254"
> -       did["8086/0166","r"] = "0x48254";  did["8086/0166","w"] = "0x48254"
> +       did["8086/0152","r"] = "0xc8254";  did["8086/0152","w"] = "0x48254"
> +       did["8086/0166","r"] = "0xc8254";  did["8086/0166","w"] = "0x48254"
>         # haswell
> did["8086/0412","r"] = "0xc8254";  did["8086/0412","w"] = "0x48254"
> did["8086/041a","r"] = "0xc8254";  did["8086/041a","w"] = "0x48254"
> 

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T4c4247ec1c0429f6-M2ee41d515969f35ca06223f8
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Adjust Thinkpad Screen Brightness
  2023-06-08  8:08               ` plan6
@ 2023-06-09  6:35                 ` zxcdewqa8
  2023-06-09  7:37                   ` unobe
  2023-06-09 18:11                   ` ori
  0 siblings, 2 replies; 15+ messages in thread
From: zxcdewqa8 @ 2023-06-09  6:35 UTC (permalink / raw)
  To: 9fans

[-- Attachment #1: Type: text/plain, Size: 318 bytes --]

Hi, 
A newbie question:  how do I automate this so it runs automatically after boot up?
------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T4c4247ec1c0429f6-M22e076d750abb7238887c2fd
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

[-- Attachment #2: Type: text/html, Size: 829 bytes --]

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Adjust Thinkpad Screen Brightness
  2023-06-09  6:35                 ` zxcdewqa8
@ 2023-06-09  7:37                   ` unobe
  2023-06-09 18:11                   ` ori
  1 sibling, 0 replies; 15+ messages in thread
From: unobe @ 2023-06-09  7:37 UTC (permalink / raw)
  To: 9fans

Perhaps look at 'man 8 cpurc'.

Quoth zxcdewqa8@gmail.com:
> Hi,
> A newbie question:  how do I automate this so it runs automatically after boot up?

------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T4c4247ec1c0429f6-Mcc72385343c63b88c0c321ff
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [9fans] Adjust Thinkpad Screen Brightness
  2023-06-09  6:35                 ` zxcdewqa8
  2023-06-09  7:37                   ` unobe
@ 2023-06-09 18:11                   ` ori
  1 sibling, 0 replies; 15+ messages in thread
From: ori @ 2023-06-09 18:11 UTC (permalink / raw)
  To: 9fans

Quoth zxcdewqa8@gmail.com:
> Hi, 
> A newbie question:  how do I automate this so it runs automatically after boot up?

man termrc
cat $home/lib/profile

either will work.


------------------------------------------
9fans: 9fans
Permalink: https://9fans.topicbox.com/groups/9fans/T4c4247ec1c0429f6-M4c38a9e3f32d88e7236b3e00
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2023-06-09 18:11 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-28 16:36 [9fans] Adjust Thinkpad Screen Brightness zxcdewqa8
2023-05-28 19:17 ` ori
2023-05-29  2:36   ` Anthony Martin
2023-05-30  4:25     ` zxcdewqa8
2023-06-07  7:01       ` plan6
2023-06-07 21:27         ` mkf9
2023-06-07 21:42           ` unobe
2023-06-07 22:57             ` Anthony Martin
2023-06-08  7:16               ` plan6
2023-06-08  7:53               ` unobe
2023-06-08  8:12                 ` unobe
2023-06-08  8:08               ` plan6
2023-06-09  6:35                 ` zxcdewqa8
2023-06-09  7:37                   ` unobe
2023-06-09 18:11                   ` ori

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).