text: graficka knihovna SDL
  24. 09. 2021, 01:48:45
  Autor Téma: graficka knihovna SDL (Přečteno 5032 krát)
  Jabber: fridlik@linjab.cz
  « kdy: 05. 05. 2011, 18:19:27 »
  potrebuju napsat semestralni praci pomoci teto knihovny, mam ale problem se spustenim. Kdyz program po kompilaci spustim, tak to vypise chybu Unable to open a console terminal. To jsem zjistil, ze se da odstranit kdyz program spustim jako root.
  Pak se ale objevi dalsi chyba, ktera je uz spojena s vykreslovanim. Kdyz inicializuju SDL_Surface tak me problikne jen obrazovka jako kdyby to hned spadlo a vyhodi to chybu Couldn't set console screen info. Zkousel jsem vsechno mozny jak to spustit az jsem zjistil, ze se to spusti jen kdyz zadam rozliseni stejny jako mam displej. Jenze ja bohuzel nemuzu mit takhle velkou obrazovku. Nenapada nekoho jak to resit? Dik moc za pomoc.
  printf("Hello, SDL!\n");
  printf("Press ESC key to quit.\n");
  // Inicializuje se pouze SDL video
  if(SDL_Init(SDL_INIT_VIDEO) == -1) //zde to pada kdyz to nespustim pod rootem
  fprintf(stderr, "Unable to initialize SDL: %s\n",
  // Vytvori okno 1366x768 s implicitni barevnou hloubkou, kdyz skusim treba 640x480 tak to nejede
  screen = SDL_SetVideoMode(1366, 768, 32,SDL_HWSURFACE| SDL_FULLSCREEN );
  fprintf(stderr, "Unable to set 640x480 video: %s\n",
  // Titulek okna
  SDL_WM_SetCaption("Hello, SDL!", NULL);
  // Smycka na zpracovani udalosti
  // Vetvi podle typu udalosti
  // Udalost klavesnice
  // Vetvi podle klavesy
  // Klavesa ESC */
  // Zprava s pozadavkem na ukonceni
  // Deinicializace SDL a konec
  Re:graficka knihovna SDL
  « Odpověď #1 kdy: 05. 05. 2011, 23:20:45 »
  V SDL nedělám, takže těžko budu zjišťovat, jestli nemáš v tom programu něco blbě, nebo neni něco blbě s tvojí SDL.
  Ale nemáš nvidii a proprietární ovladač? Tam bych možná měl nápad, co zkusit
  « Odpověď #2 kdy: 06. 05. 2011, 01:08:00 »
  mam nvidii
  mam notebook ve kterem jsou 2 graficke karty, nvidia 310M a intelacka na cipu procesoru. Ty graficky karty by se mely prepinat automaticky podle zateze. To bohuzel nefunguje. Nevim ale, na ktere karte to jede.
  Nevim co je proprietarni ovladac, ale zkousel jsem nainstalovat ovladac primo ze stranek NVidie, to jsem si ale pekne rozhasil a graficky prostredi nenajelo, musel jsem to vratit do puvodniho stavu.
  Jinak kod je spravne, je to z tutorialu z webu a je overeny ze to funguje.
  Pokud te tedy neco napada, budu rad za cokoliv.
  « Poslední změna: 06. 05. 2011, 01:09:28 od fridlik »
  « Odpověď #3 kdy: 07. 05. 2011, 16:01:22 »
  Jo to automatický přepínání karet na linuxu neběží a podle nvidie asi ani nepoběží Dokonce některý stroje s touhle technologií maj problém, aby vůbec šlo rozchodit integrovanou grafiku a ta nvidiácká se v linuxu vůbec nedá použít... celkem smutný no :/
  Proprietární ovladač je právě ten od nvidie, druhá varianta je open source ovladač nouveau.
  Nevim, jakej je správnej způsob, jak zjistit, která karta se momentálně používá a s kterym ovladačem, ale nějaký informace by moh dát výstup tohohle příkazu (program glxinfo je součástí balíčku mesa-utils)
  glxinfo |egrep -i "vendor|version|direct"
  Já mám nvidii a proprietární ovladač, a tam jsem si právě už od začátku používání všimnul problému s fullscreen rozlišením u her a jinejch opengl aplikací - vždycky šlo nastavit jenom plný rozlišení desktopu, jiný módy se nenabízely nebo nenaběhly a nebo šly jenom v okně (plus eště nějaký další potíže spojený s tim, že mam víc monitrů).
  Vyřešil sem to poměrně nedávno tak, že sem ty módy, na který můžu chtít případně přepnout, přímo vypsal v xorg.conf (viz Option "metamodes" v manuálu). A od tý doby na ně jde přepínat ve fullscreenu Ale nevim, jak to je např. s ovladačem nouveau.