Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Sep 2020 04:41:44 +0000 (UTC)
From:      Alexey Dokuchaev <danfe@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r548874 - in head/benchmarks: . linux-gputest linux-gputest/files
Message-ID:  <202009180441.08I4fi2L086825@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: danfe
Date: Fri Sep 18 04:41:44 2020
New Revision: 548874
URL: https://svnweb.freebsd.org/changeset/ports/548874

Log:
  Add a port of GpuTest, OpenGL-based GPU stress test and popular benchmark.
  This is the last version which natively supports GNU/Linux, the later are
  unfortunately Windows-only.
  
  WWW: http://www.Geeks3D.com/GpuTest/

Added:
  head/benchmarks/linux-gputest/
  head/benchmarks/linux-gputest/Makefile   (contents, props changed)
  head/benchmarks/linux-gputest/distinfo   (contents, props changed)
  head/benchmarks/linux-gputest/files/
  head/benchmarks/linux-gputest/files/patch-gputest__gui.py   (contents, props changed)
  head/benchmarks/linux-gputest/pkg-descr   (contents, props changed)
  head/benchmarks/linux-gputest/pkg-plist   (contents, props changed)
Modified:
  head/benchmarks/Makefile

Modified: head/benchmarks/Makefile
==============================================================================
--- head/benchmarks/Makefile	Fri Sep 18 04:39:41 2020	(r548873)
+++ head/benchmarks/Makefile	Fri Sep 18 04:41:44 2020	(r548874)
@@ -38,6 +38,7 @@
     SUBDIR += iperf3
     SUBDIR += libcelero
     SUBDIR += libmicro
+    SUBDIR += linux-gputest
     SUBDIR += linux-vdbench
     SUBDIR += lmbench
     SUBDIR += lzbench

Added: head/benchmarks/linux-gputest/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/benchmarks/linux-gputest/Makefile	Fri Sep 18 04:41:44 2020	(r548874)
@@ -0,0 +1,73 @@
+# Created by: Alexey Dokuchaev <danfe@FreeBSD.org>
+# $FreeBSD$
+
+PORTNAME=	gputest
+PORTVERSION=	0.7.0
+CATEGORIES=	benchmarks linux
+MASTER_SITES=	http://vault.101011010.xyz/distfiles/ \
+		http://freebsd.nsu.ru/distfiles/ LOCAL/danfe
+		# http://www.ozone3d.net/gputest/dl/ (original
+		# upstream URL, but they ask not to hotlink)
+DISTNAME=	GpuTest_Linux_x64_${PORTVERSION}
+PKGNAMEPREFIX=	linux-
+
+MAINTAINER=	danfe@FreeBSD.org
+COMMENT=	GPU stress test and OpenGL benchmark
+
+LICENSE=	GEEKS3D
+LICENSE_NAME=	Geeks3D End-User License Agreement
+LICENSE_FILE=	${WRKSRC}/EULA.txt
+LICENSE_PERMS=	dist-mirror pkg-mirror auto-accept
+
+ONLY_FOR_ARCHS=	amd64
+
+USES=		linux zip
+USE_LINUX=	dri libglvnd xorglibs
+NO_BUILD=	yes
+
+OPTIONS_DEFINE=	DOCS GUI
+OPTIONS_DEFAULT=	GUI
+OPTIONS_SUB=	yes
+
+GUI_DESC=	Install Python/Tkinter-based GUI launcher
+GUI_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}tkinter>0:x11-toolkits/py-tkinter@${PY_FLAVOR}
+GUI_USES=	python:run
+
+post-patch:
+	@${REINPLACE_CMD} -e '1s,bash,sh,' ${WRKSRC}/start_*.sh
+	@${RM} ${WRKSRC}/data/.DS_Store
+# Save log file in writable location instead of ${PREFIX}/lib/${PORTNAME}
+	@${REINPLACE_CMD} -e \
+	    's,_geeks3d_gputest_log\.txt,/tmp/geeks3d_gputest.log,' \
+		${WRKSRC}/GpuTest
+
+# We cannot just embed shebang line in the patch because 210:fix-shebang
+# happens before 500:do-patch :(
+post-patch-GUI-on:
+	@${REINPLACE_CMD} -e '1 { x; s,^,#!${PYTHON_CMD},; G; }' \
+		${WRKSRC}/gputest_gui.py
+
+do-install:
+	@${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
+	cd ${WRKSRC} && ${COPYTREE_SHARE} data \
+		${STAGEDIR}${PREFIX}/lib/${PORTNAME}
+	${INSTALL_LIB} ${WRKSRC}/*.so ${STAGEDIR}${PREFIX}/lib/${PORTNAME}
+	${INSTALL_PROGRAM} ${WRKSRC}/GpuTest \
+		${STAGEDIR}${PREFIX}/lib/${PORTNAME}
+	${INSTALL_SCRIPT} ${WRKSRC}/start_*.sh \
+		${STAGEDIR}${PREFIX}/lib/${PORTNAME}
+	${INSTALL_DATA} ${WRKSRC}/_geeks3d_gputest_scores.csv \
+		${STAGEDIR}${PREFIX}/lib/${PORTNAME}
+	${PRINTF} '#!/bin/sh\n\ncd ${PREFIX}/lib/${PORTNAME} || exit\
+		1\n\nexec ./GpuTest "$$@"\n' > \
+		${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+	${CHMOD} +x ${STAGEDIR}${PREFIX}/bin/${PORTNAME}
+
+do-install-GUI-on:
+	${INSTALL_SCRIPT} ${WRKSRC}/gputest_gui.py ${STAGEDIR}${PREFIX}/bin
+
+do-install-DOCS-on:
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_DATA} ${WRKSRC}/README.txt ${STAGEDIR}${DOCSDIR}
+
+.include <bsd.port.mk>

Added: head/benchmarks/linux-gputest/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/benchmarks/linux-gputest/distinfo	Fri Sep 18 04:41:44 2020	(r548874)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1393924825
+SHA256 (GpuTest_Linux_x64_0.7.0.zip) = a6cbddfb40dc203735d63bc9609b24abde8613fbb649d0ef7d0d4515842ba263
+SIZE (GpuTest_Linux_x64_0.7.0.zip) = 2083164

Added: head/benchmarks/linux-gputest/files/patch-gputest__gui.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/benchmarks/linux-gputest/files/patch-gputest__gui.py	Fri Sep 18 04:41:44 2020	(r548874)
@@ -0,0 +1,29 @@
+--- gputest_gui.py.orig	2014-03-04 02:16:44 UTC
++++ gputest_gui.py
+@@ -7,7 +7,7 @@
+ 
+ import os
+ #from subprocess import call
+-import Tkinter as tk
++import tkinter as tk
+ 
+ 
+ root = tk.Tk()
+@@ -90,7 +90,7 @@ def prepare_command_line():
+     index = cs[0]
+     seltext = listbox1.get(index)
+   else:
+-    print "\nPlease select a test (FurMark is the default test)."
++    print("\nPlease select a test (FurMark is the default test).")
+     index = 0
+     seltext = listbox1.get(index)
+   
+@@ -98,7 +98,7 @@ def prepare_command_line():
+   for demo in allDemos:
+     if demo.demo_name == seltext:
+       demo_code = demo.demo_code
+-  g_command_line = "./GpuTest /test='%s' /width=%d /height=%d /gpumon_terminal" % (demo_code, g_width, g_height)
++  g_command_line = "gputest /test='%s' /width=%d /height=%d /gpumon_terminal" % (demo_code, g_width, g_height)
+   if (fullscreen.get() == 1):
+     g_command_line += " /fullscreen"
+     

Added: head/benchmarks/linux-gputest/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/benchmarks/linux-gputest/pkg-descr	Fri Sep 18 04:41:44 2020	(r548874)
@@ -0,0 +1,9 @@
+GpuTest is a cross-platform GPU stress test and benchmarking utility, based
+on OpenGL.  It comes with a number of different tests, including the famous
+stress test based on FurMark (OpenGL 2.1 or 3.2), a tessellation test based
+on TessMark (OpenGL 4.0), and geometry instancing test (OpenGL 3.3).
+
+An optional GUI (graphical user interface) program made with Python/Tkinter
+is available since GpuTest version 0.6.0.
+
+WWW: http://www.Geeks3D.com/GpuTest/

Added: head/benchmarks/linux-gputest/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/benchmarks/linux-gputest/pkg-plist	Fri Sep 18 04:41:44 2020	(r548874)
@@ -0,0 +1,38 @@
+bin/gputest
+%%GUI%%bin/gputest_gui.py
+lib/gputest/GpuTest
+lib/gputest/_geeks3d_gputest_scores.csv
+lib/gputest/data/_bg.jpg
+lib/gputest/data/_fur.jpg
+lib/gputest/data/apple_logo.jpg
+lib/gputest/data/bg.jpg
+lib/gputest/data/bg02.jpg
+lib/gputest/data/bg02_.jpg
+lib/gputest/data/bg08.jpg
+lib/gputest/data/bg09.jpg
+lib/gputest/data/fur.jpg
+lib/gputest/data/linux_logo.jpg
+lib/gputest/data/piano_texture.jpg
+lib/gputest/data/piano_texture_01.jpg
+lib/gputest/data/tess_bump.jpg
+lib/gputest/data/tess_diffuse.jpg
+lib/gputest/data/tess_normal.jpg
+lib/gputest/data/windows_logo.jpg
+lib/gputest/libgxl3d_r_linux.so
+lib/gputest/plugin_gxl3d_gpu_monitor_gml_x64.so
+lib/gputest/plugin_gxl3d_opencl_x64.so
+lib/gputest/start_furmark_benchmark_fullscreen_1920x1080.sh
+lib/gputest/start_furmark_windowed_1024x640.sh
+lib/gputest/start_gimark_benchmark_fullscreen_1920x1080.sh
+lib/gputest/start_gimark_windowed_1024x640.sh
+lib/gputest/start_pixmark_piano_benchmark_fullscreen_1920x1080.sh
+lib/gputest/start_pixmark_piano_windowed_1024x640.sh
+lib/gputest/start_pixmark_volplosion_benchmark_fullscreen_1920x1080.sh
+lib/gputest/start_pixmark_volplosion_windowed_1024x640.sh
+lib/gputest/start_plot3d_benchmark_fullscreen_1920x1080.sh
+lib/gputest/start_plot3d_windowed_1024x640.sh
+lib/gputest/start_tessmark_benchmark_fullscreen_1920x1080.sh
+lib/gputest/start_tessmark_windowed_1024x640.sh
+lib/gputest/start_triangle_benchmark_fullscreen_1920x1080.sh
+lib/gputest/start_triangle_windowed_1024x640.sh
+%%PORTDOCS%%%%DOCSDIR%%/README.txt



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202009180441.08I4fi2L086825>