首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在IDE (Netbeans,Eclipse)中使用optirun (Bumblebee)运行使用图形驱动程序的构建?

如何在IDE (Netbeans,Eclipse)中使用optirun (Bumblebee)运行使用图形驱动程序的构建?
EN

Stack Overflow用户
提问于 2012-04-22 09:26:09
回答 3查看 2K关注 0票数 1

谁知道如何让eclipse或netbeans在optimus笔记本电脑中使用图形卡,方法是在IDE中调用optirun (bumblebee),这样就可以使用IDE中的run按钮在IDE中的图形卡中运行程序。

在最简单的形式中,我只想让集成开发环境执行与optirun ./javaproject相同的操作

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-03-20 10:27:52

我在Eclipse中这样做的方法是,首先启动Java调试器jdwp并侦听一个端口。然后使用optirun java ...启动JVM,并使用jdwp连接到此端口。通过在调试配置设置中创建一个启动组(运行->调试配置),可以在Eclipse中同时启动这两个任务。详细说明:

  1. 创建一个带有“标准(套接字监听)”连接类型和一些任意端口的远程Java应用程序调试配置,例如56789。这会将端口56789上的Java调试器jdwp附加到虚拟机上,该虚拟机在此端口上接受调试连接。
  2. 现在,我们需要使用optirun启动一个JVM。这可以通过外部工具配置来完成(运行-> External Tools -> External Tool Configurations)。在External Tools configuration窗口的左侧创建新的Program configuration。您可以通过填写必填字段直接启动optirun java <additional arguments>。然而,我已经决定使用一个可供不同项目重用的shell脚本(如下所示,缺少一个部分来使其完全可重用。我很高兴得到更有经验的Eclipse用户的帮助...)。因此,Location字段指向这个shell脚本。脚本本身接受三个参数:项目的类路径、Java可执行文件的名称和端口号。这些参数可以在Main选项卡的arguments字段中传递给脚本,例如

代码语言:javascript
复制
- ${project\_classpath:${selected\_resource\_name}}
- ExecName
- 56789

假设optirun位于您的路径中,shell脚本如下所示:

#!/bin/sh CLASS_PATH=${1} JAVA_EXECUTABLE=${2} PORT=${3} # TODO:修复此java库路径:也将其作为参数传递。有没有一个Eclipse变量来存储这个?JAVA_LIBRARY_PATH=/usr/local/share/OpenCV/java #------------------------------------------------------------------------------运行${JAVA_BIN} -agentlib:jdwp=transport=dt_socket,suspend=y,address=localhost:${PORT} -Djava.library.path=${JAVA_LIBRARY_PATH} -#en0#.address=localhost:$=UTF-8编码${CLASS_PATH} ${JAVA_EXECUTABLE} #----------------------------

  1. 最后,在调试配置窗口(运行->调试配置)中,将这两部分放在一个启动组中。创建一个新的启动组,并通过单击Launches选项卡中的add并选择适当的配置来添加两个先前生成的Debug配置。请注意,由于步骤2中的类路径变量(即${project_classpath:${selected_resource_name}}),在单击run debug configuration按钮(确保选择了启动组)之前,需要在包资源管理器中选择适当的包。

这个解决方案非常适合我:我可以在Eclipse中调试Java代码,它调用涉及CUDA优化的本机代码,而Bumblebee只在必要时激活独立显卡。

票数 1
EN

Stack Overflow用户

发布于 2012-07-17 01:59:40

只需使用optirun启动IDE即可。例如,optirun eclipseoptirun netbeans

票数 1
EN

Stack Overflow用户

发布于 2014-01-12 01:30:49

您还可以将java重命名为java_real,并将这部分代码用作java命令:

代码语言:javascript
复制
#!/bin/bash

path=$(dirname $(readlink -f $0))
args=""
runner="$path/java_real"
for var in "$@"
do
    if [ "$var" = "-3d" ]; then
    runner="primusrun $runner"
  else
    args="$args $var"
  fi
done

$runner $args

注意:我必须在/usr/lib/jvm/java-7-openjdk-amd64/jre/bin中执行此操作,而不是在/usr/bin中,才能使其与Eclipse一起工作。

在Eclipse中,只需在程序参数中添加"-3d“,就可以了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10264487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档