diff --git a/light/adr.h b/light/adr.h
new file mode 100644
index 0000000000000000000000000000000000000000..c701413350592871a1e89054f7c7413ae41a392e
--- /dev/null
+++ b/light/adr.h
@@ -0,0 +1,6 @@
+const int adrlen = 2;
+const char adr [adrlen][1000] =
+{
+	"/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight/brightness",
+	"/sys/devices/pci0000:00/0000:00:02.0/drm/card1/card1-eDP-1/intel_backlight/brightness"
+};
diff --git a/light/light.c b/light/light.c
index 4feb9eff4cbcb317ab650b9a5ddb427d8afdd0fb..ba62b90707ccc6371223ba0a385678f3555de9e5 100644
--- a/light/light.c
+++ b/light/light.c
@@ -3,59 +3,69 @@
 #include <sys/types.h>
 #include <unistd.h>
 #include <math.h>
+#include "adr.h"
 
-const char adr [] = "/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight/brightness";
 const int lightMin = 2;
 const int lightMax = 937;
 int main(int argc,char ** argv)
 {
 	if(argc<2) return 100;
 	setuid(0);
-	if(argv[1][0]=='H')
+	for(int adri=0;adri<adrlen;adri++)
 	{
-		FILE * f = fopen(adr,"w");
-		fprintf(f,"%d",atoi(argv[2]));
-		fclose(f);
-		return 0;
+		{
+			if(argv[1][0]=='H')
+			{
+				FILE * f = fopen(adr[adri],"w");
+				if(!f) goto nextAdr;
+				fprintf(f,"%d",atoi(argv[2]));
+				fclose(f);
+				return 0;
+			}
+			double argv2 = atof(argv[2]);
+			double light;
+			if(argv[1][0]=='=')
+				light = argv2;
+			else
+			{
+				FILE * f = fopen(adr[adri],"r");
+				if(!f) goto nextAdr;
+				fprintf(f,"%d",atoi(argv[2]));
+				int realAct;
+				fscanf(f,"%d",&realAct);
+				if(realAct<light) realAct=lightMin;
+				double act=log(realAct);
+				if(argv[1][0]=='+')
+					light = act+argv2;
+				else
+				if(argv[1][0]=='-')
+					light = act-argv2;
+				else return 100;
+				fclose(f);
+			}
+			int notInLimit=0;
+			double realLight=pow(M_E,light);
+			if(realLight>lightMax)
+			{
+				realLight=lightMax;
+				notInLimit=1;
+			}
+			if(realLight<lightMin)
+			{
+				realLight=lightMin;
+				notInLimit=1;
+			}
+			int intLight = realLight+0.7;
+			FILE * f = fopen(adr[adri],"w");
+			if(!f) goto nextAdr;
+			//printf("light=%d\n",intLight);
+			fprintf(f,"%d",intLight);
+			fclose(f);
+			//char exe [1000];
+			//sprintf( exe,"echo %d  > /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight/brightness",light);
+			//system(exe);
+			return notInLimit;
+		}
+		nextAdr:;
 	}
-	double argv2 = atof(argv[2]);
-	double light;
-	if(argv[1][0]=='=')
-		light = argv2;
-	else
-	{
-		FILE * f = fopen(adr,"r");
-		int realAct;
-		fscanf(f,"%d",&realAct);
-		if(realAct<light) realAct=lightMin;
-		double act=log(realAct);
-		if(argv[1][0]=='+')
-			light = act+argv2;
-		else
-		if(argv[1][0]=='-')
-			light = act-argv2;
-		else return 100;
-		fclose(f);
-	}
-	int notInLimit=0;
-	double realLight=pow(M_E,light);
-	if(realLight>lightMax)
-	{
-		realLight=lightMax;
-		notInLimit=1;
-	}
-	if(realLight<lightMin)
-	{
-		realLight=lightMin;
-		notInLimit=1;
-	}
-	int intLight = realLight+0.7;
-	FILE * f = fopen(adr,"w");
-	//printf("light=%d\n",intLight);
-	fprintf(f,"%d",intLight);
-	fclose(f);
-	//char exe [1000];
-	//sprintf( exe,"echo %d  > /sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight/brightness",light);
-	//system(exe);
-	return notInLimit;
 }
diff --git a/light/lightInfo.c b/light/lightInfo.c
index 9e68f7a97b702f4534e41cf2d1971308ac65087d..f380097701d741a7cf48d74b40a18dda4f9338d7 100644
--- a/light/lightInfo.c
+++ b/light/lightInfo.c
@@ -3,21 +3,31 @@
 #include <sys/types.h>
 #include <unistd.h>
 #include <math.h>
+#include "adr.h"
 
-const char adr [] = "/sys/devices/pci0000:00/0000:00:02.0/drm/card0/card0-eDP-1/intel_backlight/brightness";
 const int lightMin = 2;
 const int lightMax = 937;
 int main(int argc,char ** argv)
 {
 	setuid(0);
-	FILE * f = fopen(adr,"r");
-	int realAct;
-	fscanf(f,"%d",&realAct);
-	double act=log(realAct);
-	if(act<0) act = 0;
-	printf("%d%% %d\n[",int(100*act/log(lightMax)+0.5),realAct);
-	for(double i=0;i<log(lightMax);i+=0.3)
-		printf("%s",act<i?"−":"+");
-	printf("]");
-	fclose(f);
+	for(int adri=0;adri<adrlen;adri++)
+	{
+		{
+			FILE * f = fopen(adr[adri],"r");
+			if(!f) goto nextAdr;
+			int realAct;
+			fscanf(f,"%d",&realAct);
+			double act=log(realAct);
+			if(act<0) act = 0;
+			printf("%d%% %d\n[",int(100*act/log(lightMax)+0.5),realAct);
+			for(double i=0;i<log(lightMax);i+=0.3)
+				printf("%s",act<i?"−":"+");
+			printf("]");
+			fclose(f);
+			return 0;
+		}
+		nextAdr:;
+	}
+	return 1;
+
 }